From 8a996c69ad5ce5e47bce725f3b1ebe2378ef8d7b Mon Sep 17 00:00:00 2001 From: nobody Date: Sat, 10 Jan 1998 20:14:34 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'main_to_poa_merge_8'. --- ACE-INSTALL.html | 944 - ACE-categories | 538 - ACE-install.sh | 356 - ACE.DSW | 1217 - ASNMP/COPYRIGHT | 68 - ASNMP/ChangeLog | 239 - ASNMP/Makefile | 34 - ASNMP/README | 166 - ASNMP/TO-DO | 3 - ASNMP/agent/Makefile | 28 - ASNMP/agent/agent_impl.cpp | 154 - ASNMP/agent/agent_impl.h | 52 - ASNMP/agent/main.cpp | 26 - ASNMP/agent/snmp_agent.cpp | 95 - ASNMP/agent/snmp_agent.h | 46 - ASNMP/asnmp-overview.html | 133 - ASNMP/asnmp/ChangeLog | 114 - ASNMP/asnmp/Makefile | 593 - ASNMP/asnmp/TODO | 25 - ASNMP/asnmp/address.cpp | 2685 -- ASNMP/asnmp/address.h | 806 - ASNMP/asnmp/asn1.cpp | 1724 - ASNMP/asnmp/asn1.h | 336 - ASNMP/asnmp/counter.cpp | 104 - ASNMP/asnmp/counter.h | 78 - ASNMP/asnmp/ctr64.cpp | 209 - ASNMP/asnmp/ctr64.h | 109 - ASNMP/asnmp/enttraps.h | 117 - ASNMP/asnmp/gauge.cpp | 111 - ASNMP/asnmp/gauge.h | 79 - ASNMP/asnmp/integer.cpp | 225 - ASNMP/asnmp/integer.h | 139 - ASNMP/asnmp/octet.cpp | 591 - ASNMP/asnmp/octet.h | 149 - ASNMP/asnmp/oid.cpp | 797 - ASNMP/asnmp/oid.h | 164 - ASNMP/asnmp/oid_def.h | 86 - ASNMP/asnmp/pdu.cpp | 493 - ASNMP/asnmp/pdu.h | 212 - ASNMP/asnmp/sagent.cpp | 95 - ASNMP/asnmp/sagent.h | 77 - ASNMP/asnmp/smi.h | 148 - ASNMP/asnmp/smival.h | 103 - ASNMP/asnmp/snmp.cpp | 247 - ASNMP/asnmp/snmp.h | 121 - ASNMP/asnmp/snmperrs.h | 213 - ASNMP/asnmp/target.cpp | 321 - ASNMP/asnmp/target.h | 246 - ASNMP/asnmp/timetick.cpp | 140 - ASNMP/asnmp/timetick.h | 84 - ASNMP/asnmp/transaction.cpp | 199 - ASNMP/asnmp/transaction.h | 74 - ASNMP/asnmp/vb.cpp | 390 - ASNMP/asnmp/vb.h | 199 - ASNMP/asnmp/wpdu.cpp | 499 - ASNMP/asnmp/wpdu.h | 79 - ASNMP/examples/Makefile | 26 - ASNMP/examples/get/Makefile | 40 - ASNMP/examples/get/get.cpp | 191 - ASNMP/examples/next/Makefile | 41 - ASNMP/examples/next/next.cpp | 190 - ASNMP/examples/set/Makefile | 41 - ASNMP/examples/set/set.cpp | 260 - ASNMP/examples/trap/Makefile | 41 - ASNMP/examples/trap/trap.cpp | 179 - ASNMP/examples/walk/Makefile | 41 - ASNMP/examples/walk/walk.cpp | 257 - ASNMP/mibs/RFC1213-MIB.my | 2618 -- ASNMP/tests/Address_Test.cpp | 556 - ASNMP/tests/Counter64_Test.cpp | 162 - ASNMP/tests/Counter_Test.cpp | 145 - ASNMP/tests/Gauge_Test.cpp | 135 - ASNMP/tests/Integer_Test.cpp | 201 - ASNMP/tests/Makefile | 223 - ASNMP/tests/Octet_Test.cpp | 163 - ASNMP/tests/Oid_Test.cpp | 188 - ASNMP/tests/Target_Test.cpp | 154 - ASNMP/tests/Varbind_Test.cpp | 203 - ASNMP/tests/run_tests.bat | 44 - ASNMP/tests/run_tests.sh | 60 - ASNMP/tests/test_config.h | 223 - BIBLIOGRAPHY | 752 - COPYING | 35 - ChangeLog-93 | 52 - ChangeLog-94 | 1027 - ChangeLog-95 | 4179 --- ChangeLog-96a | 3889 --- ChangeLog-96b | 5879 ---- ChangeLog-97a | 9203 ----- ChangeLog-97b | 9182 ----- ChangeLog-98a | 2640 -- FAQ | 1863 - Makefile | 167 - README | 524 - STL/ACE_Changes | 53 - STL/ChangeLog | 50 - STL/README | 272 - STL/algo.h | 2593 -- STL/algobase.h | 250 - STL/bool.h | 57 - STL/bstring.h | 2516 -- STL/bvector.cpp | 80 - STL/bvector.h | 378 - STL/defalloc.h | 211 - STL/deque.h | 586 - STL/function.h | 287 - STL/heap.h | 212 - STL/iterator.h | 414 - STL/list.h | 520 - STL/map.h | 167 - STL/multimap.h | 161 - STL/multiset.h | 148 - STL/pair.h | 62 - STL/projectn.h | 50 - STL/ptr.h | 338 - STL/queue.h | 1 - STL/random.cpp | 58 - STL/readme2.stl | 272 - STL/set.h | 151 - STL/stack.h | 137 - STL/stl.h | 206 - STL/tempbuf.cpp | 19 - STL/tempbuf.h | 74 - STL/tree.h | 1088 - STL/vector.h | 308 - TAO/tao/factories.h | 141 - VERSION | 4 - ace/ACE.cpp | 2431 -- ace/ACE.h | 584 - ace/ACE.i | 121 - ace/ACE_Library.mak | 33469 ------------------ ace/ACE_Library.mdp | Bin 163328 -> 0 bytes ace/ARGV.cpp | 344 - ace/ARGV.h | 131 - ace/ARGV.i | 67 - ace/Acceptor.cpp | 1037 - ace/Acceptor.h | 486 - ace/Acceptor.i | 4 - ace/Activation_Queue.cpp | 72 - ace/Activation_Queue.h | 62 - ace/Addr.cpp | 58 - ace/Addr.h | 97 - ace/Addr.i | 63 - ace/Array.cpp | 137 - ace/Array.h | 169 - ace/Array.i | 80 - ace/Asynch_Acceptor.cpp | 234 - ace/Asynch_Acceptor.h | 123 - ace/Asynch_Acceptor.i | 6 - ace/Asynch_IO.cpp | 1021 - ace/Asynch_IO.h | 858 - ace/Asynch_IO.i | 4 - ace/Atomic_Op.i | 193 - ace/Auto_Ptr.cpp | 30 - ace/Auto_Ptr.h | 129 - ace/Auto_Ptr.i | 156 - ace/Basic_Types.cpp | 19 - ace/Basic_Types.h | 309 - ace/Basic_Types.i | 179 - ace/CORBA_Handler.cpp | 539 - ace/CORBA_Handler.h | 219 - ace/CORBA_Handler.i | 40 - ace/CORBA_Ref.cpp | 87 - ace/CORBA_Ref.h | 80 - ace/CORBA_Ref.i | 4 - ace/Connector.cpp | 809 - ace/Connector.h | 418 - ace/Connector.i | 4 - ace/Containers.cpp | 1707 - ace/Containers.h | 1044 - ace/Containers.i | 227 - ace/DEV.cpp | 32 - ace/DEV.h | 64 - ace/DEV.i | 15 - ace/DEV_Addr.cpp | 77 - ace/DEV_Addr.h | 83 - ace/DEV_Addr.i | 78 - ace/DEV_Connector.cpp | 40 - ace/DEV_Connector.h | 92 - ace/DEV_Connector.i | 32 - ace/DEV_IO.cpp | 116 - ace/DEV_IO.h | 120 - ace/DEV_IO.i | 101 - ace/Date_Time.cpp | 5 - ace/Date_Time.h | 91 - ace/Date_Time.i | 140 - ace/Dump.cpp | 140 - ace/Dump.h | 151 - ace/Dump_T.cpp | 35 - ace/Dump_T.h | 74 - ace/Dynamic.cpp | 16 - ace/Dynamic.h | 56 - ace/Dynamic.i | 26 - ace/Dynamic_Service.cpp | 46 - ace/Dynamic_Service.h | 47 - ace/Dynamic_Service.i | 4 - ace/Env_Value_T.cpp | 10 - ace/Env_Value_T.h | 82 - ace/Env_Value_T.i | 99 - ace/Event_Handler.cpp | 156 - ace/Event_Handler.h | 152 - ace/Event_Handler.i | 7 - ace/Event_Handler_T.cpp | 58 - ace/Event_Handler_T.h | 189 - ace/Event_Handler_T.i | 187 - ace/FIFO.cpp | 69 - ace/FIFO.h | 68 - ace/FIFO.i | 21 - ace/FIFO_Recv.cpp | 79 - ace/FIFO_Recv.h | 68 - ace/FIFO_Recv.i | 18 - ace/FIFO_Recv_Msg.cpp | 57 - ace/FIFO_Recv_Msg.h | 73 - ace/FIFO_Recv_Msg.i | 67 - ace/FIFO_Send.cpp | 37 - ace/FIFO_Send.h | 60 - ace/FIFO_Send.i | 18 - ace/FIFO_Send_Msg.cpp | 63 - ace/FIFO_Send_Msg.h | 74 - ace/FIFO_Send_Msg.i | 41 - ace/FILE.cpp | 74 - ace/FILE.h | 90 - ace/FILE.i | 16 - ace/FILE_Addr.cpp | 97 - ace/FILE_Addr.h | 83 - ace/FILE_Addr.i | 43 - ace/FILE_Connector.cpp | 43 - ace/FILE_Connector.h | 94 - ace/FILE_Connector.i | 32 - ace/FILE_IO.cpp | 115 - ace/FILE_IO.h | 121 - ace/FILE_IO.i | 101 - ace/Filecache.cpp | 743 - ace/Filecache.h | 350 - ace/Free_List.cpp | 86 - ace/Free_List.h | 137 - ace/Free_List.i | 74 - ace/Future.cpp | 315 - ace/Future.h | 203 - ace/Get_Opt.cpp | 159 - ace/Get_Opt.h | 128 - ace/Get_Opt.i | 5 - ace/Handle_Set.cpp | 421 - ace/Handle_Set.h | 179 - ace/Handle_Set.i | 135 - ace/Hash_Map_Manager.cpp | 1002 - ace/Hash_Map_Manager.h | 458 - ace/High_Res_Timer.cpp | 233 - ace/High_Res_Timer.h | 192 - ace/High_Res_Timer.i | 107 - ace/INET_Addr.cpp | 466 - ace/INET_Addr.h | 169 - ace/INET_Addr.i | 41 - ace/IOStream.cpp | 630 - ace/IOStream.h | 432 - ace/IOStream_T.cpp | 200 - ace/IOStream_T.h | 273 - ace/IOStream_T.i | 151 - ace/IO_Cntl_Msg.cpp | 36 - ace/IO_Cntl_Msg.h | 85 - ace/IO_Cntl_Msg.i | 4 - ace/IO_SAP.cpp | 136 - ace/IO_SAP.h | 70 - ace/IO_SAP.i | 33 - ace/IPC_SAP.cpp | 151 - ace/IPC_SAP.h | 65 - ace/IPC_SAP.i | 31 - ace/LOCK_SOCK_Acceptor.cpp | 30 - ace/LOCK_SOCK_Acceptor.h | 57 - ace/LSOCK.cpp | 159 - ace/LSOCK.h | 69 - ace/LSOCK.i | 39 - ace/LSOCK_Acceptor.cpp | 97 - ace/LSOCK_Acceptor.h | 85 - ace/LSOCK_Acceptor.i | 4 - ace/LSOCK_CODgram.cpp | 50 - ace/LSOCK_CODgram.h | 65 - ace/LSOCK_CODgram.i | 27 - ace/LSOCK_Connector.cpp | 49 - ace/LSOCK_Connector.h | 96 - ace/LSOCK_Connector.i | 29 - ace/LSOCK_Dgram.cpp | 56 - ace/LSOCK_Dgram.h | 61 - ace/LSOCK_Dgram.i | 20 - ace/LSOCK_Stream.cpp | 104 - ace/LSOCK_Stream.h | 66 - ace/LSOCK_Stream.i | 25 - ace/Local_Name_Space.cpp | 199 - ace/Local_Name_Space.h | 115 - ace/Local_Name_Space_T.cpp | 883 - ace/Local_Name_Space_T.h | 243 - ace/Local_Tokens.cpp | 1422 - ace/Local_Tokens.h | 999 - ace/Local_Tokens.i | 398 - ace/Log_Msg.cpp | 1238 - ace/Log_Msg.h | 413 - ace/Log_Msg.i | 6 - ace/Log_Priority.h | 85 - ace/Log_Record.cpp | 175 - ace/Log_Record.h | 152 - ace/Log_Record.i | 92 - ace/Makefile | 6345 ---- ace/Malloc.cpp | 156 - ace/Malloc.h | 308 - ace/Malloc.i | 110 - ace/Malloc_T.cpp | 660 - ace/Malloc_T.h | 446 - ace/Malloc_T.i | 186 - ace/Managed_Object.cpp | 19 - ace/Managed_Object.h | 153 - ace/Managed_Object.i | 18 - ace/Map_Manager.cpp | 819 - ace/Map_Manager.h | 410 - ace/Map_Manager.i | 4 - ace/Mem_Map.cpp | 226 - ace/Mem_Map.h | 198 - ace/Mem_Map.i | 201 - ace/Memory_Pool.cpp | 753 - ace/Memory_Pool.h | 484 - ace/Memory_Pool.i | 181 - ace/Message_Block.cpp | 731 - ace/Message_Block.h | 496 - ace/Message_Block.i | 334 - ace/Message_Queue.cpp | 700 - ace/Message_Queue.h | 370 - ace/Message_Queue.i | 148 - ace/Method_Object.cpp | 14 - ace/Method_Object.h | 43 - ace/Module.cpp | 244 - ace/Module.h | 178 - ace/Module.i | 62 - ace/Multiplexor.cpp | 13 - ace/Multiplexor.h | 78 - ace/Multiplexor.i | 88 - ace/Name_Proxy.cpp | 174 - ace/Name_Proxy.h | 84 - ace/Name_Request_Reply.cpp | 490 - ace/Name_Request_Reply.h | 253 - ace/Name_Space.cpp | 60 - ace/Name_Space.h | 144 - ace/Naming_Context.cpp | 612 - ace/Naming_Context.h | 332 - ace/OS.cpp | 3479 -- ace/OS.h | 5255 --- ace/OS.i | 8390 ----- ace/Object_Manager.cpp | 857 - ace/Object_Manager.h | 386 - ace/Object_Manager.i | 33 - ace/Obstack.cpp | 127 - ace/Obstack.h | 99 - ace/Obstack.i | 4 - ace/Parse_Node.cpp | 616 - ace/Parse_Node.h | 276 - ace/Parse_Node.i | 6 - ace/Pipe.cpp | 148 - ace/Pipe.h | 73 - ace/Pipe.i | 18 - ace/Priority_Reactor.cpp | 189 - ace/Priority_Reactor.h | 88 - ace/Priority_Reactor.i | 2 - ace/Proactor.cpp | 725 - ace/Proactor.h | 365 - ace/Proactor.i | 2 - ace/Process.cpp | 655 - ace/Process.h | 390 - ace/Process.i | 147 - ace/Process_Manager.cpp | 326 - ace/Process_Manager.h | 137 - ace/Process_Manager.i | 4 - ace/Profile_Timer.cpp | 255 - ace/Profile_Timer.h | 147 - ace/Profile_Timer.i | 68 - ace/README | 886 - ace/Reactor.cpp | 167 - ace/Reactor.h | 450 - ace/Reactor.i | 465 - ace/Reactor_Impl.h | 369 - ace/Read_Buffer.cpp | 155 - ace/Read_Buffer.h | 93 - ace/Read_Buffer.i | 23 - ace/Registry.cpp | 1097 - ace/Registry.h | 566 - ace/Registry_Name_Space.cpp | 251 - ace/Registry_Name_Space.h | 121 - ace/Remote_Name_Space.cpp | 314 - ace/Remote_Name_Space.h | 126 - ace/Remote_Tokens.cpp | 428 - ace/Remote_Tokens.h | 287 - ace/Remote_Tokens.i | 98 - ace/SOCK.cpp | 101 - ace/SOCK.h | 86 - ace/SOCK.i | 28 - ace/SOCK_Acceptor.cpp | 168 - ace/SOCK_Acceptor.h | 83 - ace/SOCK_Acceptor.i | 7 - ace/SOCK_CODgram.cpp | 100 - ace/SOCK_CODgram.h | 57 - ace/SOCK_CODgram.i | 12 - ace/SOCK_Connector.cpp | 150 - ace/SOCK_Connector.h | 107 - ace/SOCK_Connector.i | 48 - ace/SOCK_Dgram.cpp | 317 - ace/SOCK_Dgram.h | 114 - ace/SOCK_Dgram.i | 47 - ace/SOCK_Dgram_Bcast.cpp | 272 - ace/SOCK_Dgram_Bcast.h | 109 - ace/SOCK_Dgram_Bcast.i | 23 - ace/SOCK_Dgram_Mcast.cpp | 120 - ace/SOCK_Dgram_Mcast.h | 110 - ace/SOCK_Dgram_Mcast.i | 31 - ace/SOCK_IO.cpp | 113 - ace/SOCK_IO.h | 111 - ace/SOCK_IO.i | 101 - ace/SOCK_Stream.cpp | 30 - ace/SOCK_Stream.h | 96 - ace/SOCK_Stream.i | 101 - ace/SPIPE.cpp | 58 - ace/SPIPE.h | 59 - ace/SPIPE.i | 16 - ace/SPIPE_Acceptor.cpp | 225 - ace/SPIPE_Acceptor.h | 82 - ace/SPIPE_Acceptor.i | 4 - ace/SPIPE_Addr.cpp | 147 - ace/SPIPE_Addr.h | 112 - ace/SPIPE_Addr.i | 83 - ace/SPIPE_Connector.cpp | 68 - ace/SPIPE_Connector.h | 95 - ace/SPIPE_Connector.i | 13 - ace/SPIPE_Stream.cpp | 89 - ace/SPIPE_Stream.h | 120 - ace/SPIPE_Stream.i | 160 - ace/SString.cpp | 782 - ace/SString.h | 435 - ace/SString.i | 447 - ace/SV_Message.cpp | 18 - ace/SV_Message.h | 51 - ace/SV_Message.i | 31 - ace/SV_Message_Queue.cpp | 33 - ace/SV_Message_Queue.h | 86 - ace/SV_Message_Queue.i | 78 - ace/SV_Semaphore_Complex.cpp | 247 - ace/SV_Semaphore_Complex.h | 148 - ace/SV_Semaphore_Complex.i | 83 - ace/SV_Semaphore_Simple.cpp | 195 - ace/SV_Semaphore_Simple.h | 143 - ace/SV_Semaphore_Simple.i | 106 - ace/SV_Shared_Memory.cpp | 81 - ace/SV_Shared_Memory.h | 107 - ace/SV_Shared_Memory.i | 114 - ace/Sched_Params.cpp | 283 - ace/Sched_Params.h | 205 - ace/Sched_Params.i | 132 - ace/Select_Reactor.cpp | 1862 - ace/Select_Reactor.h | 872 - ace/Select_Reactor.i | 260 - ace/Service_Config.cpp | 607 - ace/Service_Config.h | 310 - ace/Service_Config.i | 31 - ace/Service_Main.cpp | 33 - ace/Service_Manager.cpp | 281 - ace/Service_Manager.h | 71 - ace/Service_Manager.i | 4 - ace/Service_Object.cpp | 83 - ace/Service_Object.h | 141 - ace/Service_Object.i | 79 - ace/Service_Repository.cpp | 347 - ace/Service_Repository.h | 172 - ace/Service_Repository.i | 27 - ace/Service_Types.cpp | 410 - ace/Service_Types.h | 171 - ace/Service_Types.i | 50 - ace/Shared_Memory.cpp | 9 - ace/Shared_Memory.h | 45 - ace/Shared_Memory_MM.cpp | 52 - ace/Shared_Memory_MM.h | 106 - ace/Shared_Memory_MM.i | 89 - ace/Shared_Memory_SV.cpp | 29 - ace/Shared_Memory_SV.h | 87 - ace/Shared_Memory_SV.i | 73 - ace/Shared_Object.cpp | 46 - ace/Shared_Object.h | 45 - ace/Shared_Object.i | 4 - ace/Signal.cpp | 748 - ace/Signal.h | 374 - ace/Signal.i | 270 - ace/Singleton.cpp | 199 - ace/Singleton.h | 140 - ace/Singleton.i | 20 - ace/Strategies.cpp | 84 - ace/Strategies.h | 100 - ace/Strategies.i | 4 - ace/Strategies_T.cpp | 1110 - ace/Strategies_T.h | 809 - ace/Stream.cpp | 534 - ace/Stream.h | 201 - ace/Stream.i | 49 - ace/Stream_Modules.cpp | 368 - ace/Stream_Modules.h | 135 - ace/Stream_Modules.i | 4 - ace/Svc_Conf.h | 81 - ace/Svc_Conf.l | 77 - ace/Svc_Conf.y | 383 - ace/Svc_Conf_Tokens.h | 20 - ace/Svc_Conf_l.cpp | 1513 - ace/Svc_Conf_y.cpp | 969 - ace/Svc_Handler.cpp | 266 - ace/Svc_Handler.h | 186 - ace/Svc_Handler.i | 5 - ace/Synch.cpp | 890 - ace/Synch.h | 1376 - ace/Synch.i | 704 - ace/Synch_Options.cpp | 97 - ace/Synch_Options.h | 134 - ace/Synch_Options.i | 4 - ace/Synch_T.cpp | 791 - ace/Synch_T.h | 857 - ace/Synch_T.i | 172 - ace/System_Time.cpp | 107 - ace/System_Time.h | 82 - ace/TLI.cpp | 197 - ace/TLI.h | 91 - ace/TLI.i | 41 - ace/TLI_Acceptor.cpp | 456 - ace/TLI_Acceptor.h | 113 - ace/TLI_Acceptor.i | 5 - ace/TLI_Connector.cpp | 210 - ace/TLI_Connector.h | 111 - ace/TLI_Connector.i | 36 - ace/TLI_Stream.cpp | 97 - ace/TLI_Stream.h | 97 - ace/TLI_Stream.i | 105 - ace/TTY_IO.cpp | 244 - ace/TTY_IO.h | 67 - ace/Task.cpp | 168 - ace/Task.h | 216 - ace/Task.i | 114 - ace/Task_T.cpp | 98 - ace/Task_T.h | 144 - ace/Task_T.i | 103 - ace/Thread.cpp | 89 - ace/Thread.h | 223 - ace/Thread.i | 270 - ace/Thread_Manager.cpp | 1777 - ace/Thread_Manager.h | 659 - ace/Thread_Manager.i | 125 - ace/Time_Request_Reply.cpp | 186 - ace/Time_Request_Reply.h | 119 - ace/Time_Value.h | 25 - ace/Timer_Hash.cpp | 123 - ace/Timer_Hash.h | 67 - ace/Timer_Hash_T.cpp | 504 - ace/Timer_Hash_T.h | 243 - ace/Timer_Heap.cpp | 43 - ace/Timer_Heap.h | 35 - ace/Timer_Heap_T.cpp | 649 - ace/Timer_Heap_T.h | 265 - ace/Timer_List.cpp | 44 - ace/Timer_List.h | 35 - ace/Timer_List_T.cpp | 304 - ace/Timer_List_T.h | 187 - ace/Timer_Queue.cpp | 53 - ace/Timer_Queue.h | 40 - ace/Timer_Queue.i | 22 - ace/Timer_Queue_Adapters.cpp | 230 - ace/Timer_Queue_Adapters.h | 171 - ace/Timer_Queue_Adapters.i | 34 - ace/Timer_Queue_T.cpp | 289 - ace/Timer_Queue_T.h | 364 - ace/Timer_Queue_T.i | 171 - ace/Timer_Wheel.cpp | 23 - ace/Timer_Wheel.h | 36 - ace/Timer_Wheel_T.cpp | 602 - ace/Timer_Wheel_T.h | 209 - ace/Token.cpp | 348 - ace/Token.h | 193 - ace/Token.i | 68 - ace/Token_Collection.cpp | 300 - ace/Token_Collection.h | 214 - ace/Token_Collection.i | 11 - ace/Token_Invariants.cpp | 365 - ace/Token_Invariants.h | 219 - ace/Token_Invariants.i | 4 - ace/Token_Manager.cpp | 275 - ace/Token_Manager.h | 120 - ace/Token_Manager.i | 19 - ace/Token_Request_Reply.cpp | 170 - ace/Token_Request_Reply.h | 230 - ace/Token_Request_Reply.i | 190 - ace/Trace.cpp | 121 - ace/Trace.h | 80 - ace/Trace.i | 7 - ace/Typed_SV_Message.cpp | 21 - ace/Typed_SV_Message.h | 88 - ace/Typed_SV_Message.i | 91 - ace/Typed_SV_Message_Queue.cpp | 46 - ace/Typed_SV_Message_Queue.h | 78 - ace/Typed_SV_Message_Queue.i | 62 - ace/UNIX_Addr.cpp | 109 - ace/UNIX_Addr.h | 87 - ace/UNIX_Addr.i | 61 - ace/UPIPE_Acceptor.cpp | 121 - ace/UPIPE_Acceptor.h | 82 - ace/UPIPE_Acceptor.i | 11 - ace/UPIPE_Addr.h | 25 - ace/UPIPE_Connector.cpp | 89 - ace/UPIPE_Connector.h | 98 - ace/UPIPE_Connector.i | 32 - ace/UPIPE_Stream.cpp | 225 - ace/UPIPE_Stream.h | 129 - ace/UPIPE_Stream.i | 12 - ace/Version.h | 7 - ace/WFMO_Reactor.cpp | 1520 - ace/WFMO_Reactor.h | 1053 - ace/WFMO_Reactor.i | 894 - ace/XtReactor.cpp | 370 - ace/XtReactor.h | 105 - ace/ace.dsw | 41 - ace/ace.ide | Bin 381948 -> 0 bytes ace/ace_dll.dsp | 14522 -------- ace/ace_lib.dsp | 4921 --- ace/config-aix-3.2.5.h | 44 - ace/config-aix-4.1.x.h | 140 - ace/config-aix-4.2.x.h | 183 - ace/config-chorus.h | 113 - ace/config-dgux-4.11-epc.h | 192 - ace/config-freebsd-pthread.h | 157 - ace/config-freebsd.h | 175 - ace/config-fsu-pthread.h | 52 - ace/config-gcc-2.7.2.h | 11 - ace/config-hpux-10.x-g++.h | 132 - ace/config-hpux-10.x-hpc++.h | 91 - ace/config-hpux-10.x.h | 239 - ace/config-hpux-9.x-orbix.h | 104 - ace/config-hpux-9.x.h | 103 - ace/config-hpux11-hpc++.h | 85 - ace/config-hpux11.h | 194 - ace/config-irix5.2.h | 66 - ace/config-irix5.3-g++.h | 122 - ace/config-irix5.3-sgic++.h | 125 - ace/config-irix6.x-g++.h | 151 - ace/config-irix6.x-sgic++-nothreads.h | 195 - ace/config-irix6.x-sgic++.h | 52 - ace/config-linux-common.h | 180 - ace/config-linux-kcc.h | 186 - ace/config-linux-lxpthreads.h | 78 - ace/config-linux-pthread.h | 27 - ace/config-linux.h | 15 - ace/config-lynxos.h | 198 - ace/config-m88k.h | 222 - ace/config-mit-pthread.h | 52 - ace/config-mvs.h | 110 - ace/config-netbsd.h | 178 - ace/config-osf1-3.2.h | 198 - ace/config-osf1-4.0.h | 150 - ace/config-psosim-g++.h | 244 - ace/config-sco-4.2-nothread.h | 114 - ace/config-sco-5.0.0-fsu-pthread.h | 8 - ace/config-sco-5.0.0-mit-pthread.h | 176 - ace/config-sco-5.0.0-nothread.h | 7 - ace/config-sco-5.0.0.h | 105 - ace/config-sunos4-g++.h | 107 - ace/config-sunos4-lucid3.2.h | 96 - ace/config-sunos4-sun3.x.h | 91 - ace/config-sunos4-sun4.1.4.h | 98 - ace/config-sunos4-sun4.x-orbix.h | 99 - ace/config-sunos4-sun4.x.h | 96 - ace/config-sunos5.4-centerline-2.x.h | 169 - ace/config-sunos5.4-g++.h | 191 - ace/config-sunos5.4-sunc++-4.x-orbix.h | 188 - ace/config-sunos5.4-sunc++-4.x.h | 186 - ace/config-sunos5.5-egcs-1.0.h | 214 - ace/config-sunos5.5-egcs.h | 215 - ace/config-sunos5.5-g++.h | 210 - ace/config-sunos5.5-sunc++-4.x-orbix.h | 19 - ace/config-sunos5.5-sunc++-4.x.h | 223 - ace/config-sunx86-sunc++-4.x.h | 151 - ace/config-tandem.h | 485 - ace/config-unixware-2.01-g++.h | 108 - ace/config-unixware-2.1.2-g++.h | 93 - ace/config-vxworks-ghs-1.8.h | 90 - ace/config-vxworks5.x-g++.h | 106 - ace/config-win32-common.h | 386 - ace/config-win32.h | 138 - ace/inc_user_config.h | 10 - ace/iosfwd.h | 66 - ace/makefile-light | 883 - ace/streams.h | 106 - ace/sys_conf.h | 380 - ace/ws2tcpip.h | 86 - apps/Gateway/Gateway/Channel.cpp | 710 - apps/Gateway/Gateway/Channel.h | 280 - apps/Gateway/Gateway/Channel_Connector.cpp | 92 - apps/Gateway/Gateway/Channel_Connector.h | 41 - .../Gateway/Concrete_Connection_Handlers.cpp | 619 - .../Gateway/Gateway/Concrete_Connection_Handlers.h | 126 - apps/Gateway/Gateway/Concurrency_Strategies.h | 74 - apps/Gateway/Gateway/Config_Files.cpp | 220 - apps/Gateway/Gateway/Config_Files.h | 103 - apps/Gateway/Gateway/Connection_Handler.cpp | 262 - apps/Gateway/Gateway/Connection_Handler.h | 145 - .../Gateway/Connection_Handler_Acceptor.cpp | 35 - apps/Gateway/Gateway/Connection_Handler_Acceptor.h | 51 - .../Gateway/Connection_Handler_Connector.cpp | 75 - .../Gateway/Gateway/Connection_Handler_Connector.h | 39 - apps/Gateway/Gateway/Consumer_Dispatch_Set.h | 28 - apps/Gateway/Gateway/Consumer_Entry.cpp | 31 - apps/Gateway/Gateway/Consumer_Entry.h | 45 - apps/Gateway/Gateway/Consumer_Map.cpp | 61 - apps/Gateway/Gateway/Consumer_Map.h | 62 - apps/Gateway/Gateway/Dispatch_Set.h | 28 - apps/Gateway/Gateway/Event.h | 140 - apps/Gateway/Gateway/Event_Channel.cpp | 494 - apps/Gateway/Gateway/Event_Channel.h | 123 - .../Gateway/Event_Forwarding_Discriminator.cpp | 60 - .../Gateway/Event_Forwarding_Discriminator.h | 60 - apps/Gateway/Gateway/File_Parser.cpp | 150 - apps/Gateway/Gateway/File_Parser.h | 89 - apps/Gateway/Gateway/Gateway.cpp | 306 - apps/Gateway/Gateway/Gateway.dsp | 92 - apps/Gateway/Gateway/Gateway.dsw | 44 - apps/Gateway/Gateway/Gateway.h | 29 - apps/Gateway/Gateway/Gateway.mak | 1550 - apps/Gateway/Gateway/Gateway.mdp | Bin 51712 -> 0 bytes apps/Gateway/Gateway/IO_Handler.cpp | 710 - apps/Gateway/Gateway/IO_Handler.h | 224 - apps/Gateway/Gateway/IO_Handler_Connector.cpp | 92 - apps/Gateway/Gateway/IO_Handler_Connector.h | 40 - apps/Gateway/Gateway/Makefile | 824 - apps/Gateway/Gateway/Options.cpp | 251 - apps/Gateway/Gateway/Options.h | 183 - apps/Gateway/Gateway/Peer_Message.h | 89 - apps/Gateway/Gateway/Routing_Entry.cpp | 47 - apps/Gateway/Gateway/Routing_Entry.h | 53 - apps/Gateway/Gateway/Routing_Table.cpp | 69 - apps/Gateway/Gateway/Routing_Table.h | 67 - apps/Gateway/Gateway/Thr_Channel.cpp | 204 - apps/Gateway/Gateway/Thr_Channel.h | 65 - apps/Gateway/Gateway/Thr_IO_Handler.cpp | 204 - apps/Gateway/Gateway/Thr_IO_Handler.h | 64 - apps/Gateway/Gateway/Thr_Proxy_Handler.cpp | 211 - apps/Gateway/Gateway/Thr_Proxy_Handler.h | 66 - apps/Gateway/Gateway/cc_config | 10 - apps/Gateway/Gateway/connection_config | 52 - apps/Gateway/Gateway/consumer_config | 35 - apps/Gateway/Gateway/gatewayd.cpp | 61 - apps/Gateway/Gateway/gatewayd.dsp | 57 - apps/Gateway/Gateway/rt_config | 7 - apps/Gateway/Gateway/svc.conf | 3 - apps/Gateway/Makefile | 26 - apps/Gateway/Peer/Event.h | 125 - apps/Gateway/Peer/Gateway_Handler.cpp | 652 - apps/Gateway/Peer/Gateway_Handler.h | 154 - apps/Gateway/Peer/Makefile | 177 - apps/Gateway/Peer/Options.cpp | 177 - apps/Gateway/Peer/Options.h | 127 - apps/Gateway/Peer/Peer.cpp | 808 - apps/Gateway/Peer/Peer.dsp | 64 - apps/Gateway/Peer/Peer.dsw | 44 - apps/Gateway/Peer/Peer.h | 222 - apps/Gateway/Peer/Peer.mak | 537 - apps/Gateway/Peer/Peer.mdp | Bin 49152 -> 0 bytes apps/Gateway/Peer/Peer_Message.h | 44 - apps/Gateway/Peer/peerd.cpp | 60 - apps/Gateway/Peer/peerd.dsp | 57 - apps/Gateway/Peer/svc.conf | 2 - apps/Gateway/README | 140 - apps/JAWS/ChangeLog | 603 - apps/JAWS/Makefile | 25 - apps/JAWS/README | 15 - apps/JAWS/clients/Blobby/Blob.cpp | 92 - apps/JAWS/clients/Blobby/Blob.h | 82 - apps/JAWS/clients/Blobby/Blob_Handler.cpp | 341 - apps/JAWS/clients/Blobby/Blob_Handler.h | 110 - apps/JAWS/clients/Blobby/Makefile | 342 - apps/JAWS/clients/Blobby/Options.cpp | 79 - apps/JAWS/clients/Blobby/Options.h | 66 - apps/JAWS/clients/Blobby/README | 33 - apps/JAWS/clients/Blobby/blobby.cpp | 97 - apps/JAWS/clients/Blobby/blobby.mak | 958 - apps/JAWS/clients/Blobby/blobby.mdp | Bin 51712 -> 0 bytes apps/JAWS/clients/Caching/Caching.mak | 824 - apps/JAWS/clients/Caching/Caching.mdp | Bin 54784 -> 0 bytes apps/JAWS/clients/Caching/ID_Generator.cpp | 59 - apps/JAWS/clients/Caching/ID_Generator.h | 55 - apps/JAWS/clients/Caching/Local_Locator.cpp | 150 - apps/JAWS/clients/Caching/Local_Locator.h | 113 - apps/JAWS/clients/Caching/Local_Locator.i | 44 - .../JAWS/clients/Caching/Locator_Request_Reply.cpp | 379 - apps/JAWS/clients/Caching/Locator_Request_Reply.h | 215 - apps/JAWS/clients/Caching/Locator_Request_Reply.i | 138 - apps/JAWS/clients/Caching/Makefile | 148 - apps/JAWS/clients/Caching/README | 83 - apps/JAWS/clients/Caching/URL_Array_Helper.cpp | 41 - apps/JAWS/clients/Caching/URL_Array_Helper.h | 40 - apps/JAWS/clients/Caching/URL_Locator.cpp | 25 - apps/JAWS/clients/Caching/URL_Locator.h | 107 - apps/JAWS/clients/Caching/URL_Locator.i | 4 - apps/JAWS/clients/Caching/URL_Properties.cpp | 171 - apps/JAWS/clients/Caching/URL_Properties.h | 200 - apps/JAWS/clients/Caching/URL_Properties.i | 197 - apps/JAWS/clients/Caching/http_client.cpp | 68 - apps/JAWS/clients/Caching/http_handler.cpp | 253 - apps/JAWS/clients/Caching/http_handler.h | 76 - apps/JAWS/clients/Makefile | 26 - apps/JAWS/clients/README | 13 - apps/JAWS/clients/WebSTONE/COPYING | 348 - apps/JAWS/clients/WebSTONE/README | 245 - apps/JAWS/clients/WebSTONE/README.DynamicWorkload | 37 - apps/JAWS/clients/WebSTONE/README.FIRST | 21 - apps/JAWS/clients/WebSTONE/WEBSTONE-VERSION-2.0 | 0 apps/JAWS/clients/WebSTONE/bin/WebStone-common.pl | 61 - apps/JAWS/clients/WebSTONE/bin/WebStone-manage.pl | 31 - apps/JAWS/clients/WebSTONE/bin/WebStone-run.pl | 37 - apps/JAWS/clients/WebSTONE/bin/WebStone-setup.pl | 95 - apps/JAWS/clients/WebSTONE/bin/checkfilelist | 35 - apps/JAWS/clients/WebSTONE/bin/genfiles | 41 - .../clients/WebSTONE/bin/genfiles-from-filelist.sh | 41 - apps/JAWS/clients/WebSTONE/bin/gui-configure | 174 - apps/JAWS/clients/WebSTONE/bin/killbench | 13 - apps/JAWS/clients/WebSTONE/bin/killbench.pl | 15 - apps/JAWS/clients/WebSTONE/bin/mine-logs.pl | 88 - apps/JAWS/clients/WebSTONE/bin/move-filelist.pl | 26 - apps/JAWS/clients/WebSTONE/bin/move-runs.pl | 24 - apps/JAWS/clients/WebSTONE/bin/rebootall | 9 - apps/JAWS/clients/WebSTONE/bin/runbench | 193 - apps/JAWS/clients/WebSTONE/bin/runbench.pl | 36 - apps/JAWS/clients/WebSTONE/bin/tabs2html | 13 - apps/JAWS/clients/WebSTONE/bin/view-results.pl | 53 - apps/JAWS/clients/WebSTONE/bin/webstone-gui.pl | 316 - apps/JAWS/clients/WebSTONE/bin/write-testbed.pl | 47 - apps/JAWS/clients/WebSTONE/bin/wscollect.pl | 139 - apps/JAWS/clients/WebSTONE/conf/filelist | 6 - apps/JAWS/clients/WebSTONE/conf/filelist.cgi-heavy | 6 - .../clients/WebSTONE/conf/filelist.dynamic-heavy | 6 - .../clients/WebSTONE/conf/filelist.dynamic-light | 6 - .../clients/WebSTONE/conf/filelist.dynamic-medium | 6 - apps/JAWS/clients/WebSTONE/conf/filelist.homepage | 2 - apps/JAWS/clients/WebSTONE/conf/filelist.sample | 6 - apps/JAWS/clients/WebSTONE/conf/filelist.standard | 6 - apps/JAWS/clients/WebSTONE/conf/fileset | 32 - apps/JAWS/clients/WebSTONE/conf/paths.pl | 2 - apps/JAWS/clients/WebSTONE/conf/paths.pl.old | 2 - apps/JAWS/clients/WebSTONE/conf/paths.sh | 0 apps/JAWS/clients/WebSTONE/conf/paths.sh.old | 0 apps/JAWS/clients/WebSTONE/conf/testbed | 33 - apps/JAWS/clients/WebSTONE/doc/COPYING | 348 - apps/JAWS/clients/WebSTONE/doc/FAQ-webstone.html | 402 - apps/JAWS/clients/WebSTONE/doc/LICENSE.html | 16 - apps/JAWS/clients/WebSTONE/doc/WebStone.html | 24 - apps/JAWS/clients/WebSTONE/doc/testbed.help | 21 - .../clients/WebSTONE/doc/webstone-white-paper.ps | 8974 ----- apps/JAWS/clients/WebSTONE/doc/webstone.gif | Bin 14656 -> 0 bytes apps/JAWS/clients/WebSTONE/doc/webstone2.html | 72 - apps/JAWS/clients/WebSTONE/src/Makefile | 112 - apps/JAWS/clients/WebSTONE/src/Makefile.in | 110 - apps/JAWS/clients/WebSTONE/src/README | 232 - apps/JAWS/clients/WebSTONE/src/acconfig.h | 15 - apps/JAWS/clients/WebSTONE/src/bench.c | 632 - apps/JAWS/clients/WebSTONE/src/bench.h | 273 - apps/JAWS/clients/WebSTONE/src/cgi-send | Bin 15452 -> 0 bytes apps/JAWS/clients/WebSTONE/src/cgi-send.c | 45 - .../JAWS/clients/WebSTONE/src/client/webclient.mak | 479 - apps/JAWS/clients/WebSTONE/src/config.cache | 47 - apps/JAWS/clients/WebSTONE/src/config.guess | 565 - apps/JAWS/clients/WebSTONE/src/config.h | 90 - apps/JAWS/clients/WebSTONE/src/config.h.in | 89 - apps/JAWS/clients/WebSTONE/src/config.log | 4 - apps/JAWS/clients/WebSTONE/src/config.status | 288 - apps/JAWS/clients/WebSTONE/src/config.sub | 867 - apps/JAWS/clients/WebSTONE/src/configure | 2132 -- apps/JAWS/clients/WebSTONE/src/configure.in | 99 - apps/JAWS/clients/WebSTONE/src/debug.h | 17 - apps/JAWS/clients/WebSTONE/src/errexit.c | 105 - apps/JAWS/clients/WebSTONE/src/gendata/genrand.mak | 227 - apps/JAWS/clients/WebSTONE/src/genrand.c | 59 - apps/JAWS/clients/WebSTONE/src/get.c | 317 - apps/JAWS/clients/WebSTONE/src/get.h | 16 - apps/JAWS/clients/WebSTONE/src/getopt.c | 66 - apps/JAWS/clients/WebSTONE/src/gettimeofday.c | 56 - apps/JAWS/clients/WebSTONE/src/install-sh | 238 - apps/JAWS/clients/WebSTONE/src/logfile27859 | 9 - .../JAWS/clients/WebSTONE/src/master/webmaster.mak | 476 - .../WebSTONE/src/nsapi-includes/base/buffer.h | 218 - .../WebSTONE/src/nsapi-includes/base/cinfo.h | 144 - .../WebSTONE/src/nsapi-includes/base/crit.h | 125 - .../WebSTONE/src/nsapi-includes/base/daemon.h | 118 - .../clients/WebSTONE/src/nsapi-includes/base/dll.h | 122 - .../WebSTONE/src/nsapi-includes/base/ereport.h | 119 - .../WebSTONE/src/nsapi-includes/base/eventlog.h | 58 - .../WebSTONE/src/nsapi-includes/base/file.h | 215 - .../WebSTONE/src/nsapi-includes/base/minissl.h | 25 - .../clients/WebSTONE/src/nsapi-includes/base/net.h | 178 - .../WebSTONE/src/nsapi-includes/base/nodelock.h | 45 - .../WebSTONE/src/nsapi-includes/base/nterrors.h | 736 - .../WebSTONE/src/nsapi-includes/base/objndx.h | 27 - .../WebSTONE/src/nsapi-includes/base/pblock.h | 191 - .../clients/WebSTONE/src/nsapi-includes/base/sem.h | 68 - .../WebSTONE/src/nsapi-includes/base/session.h | 83 - .../WebSTONE/src/nsapi-includes/base/shexp.h | 95 - .../WebSTONE/src/nsapi-includes/base/shmem.h | 82 - .../WebSTONE/src/nsapi-includes/base/systems.h | 220 - .../WebSTONE/src/nsapi-includes/base/systhr.h | 128 - .../WebSTONE/src/nsapi-includes/base/util.h | 203 - .../WebSTONE/src/nsapi-includes/frame/conf.h | 153 - .../WebSTONE/src/nsapi-includes/frame/dnfilter.h | 42 - .../WebSTONE/src/nsapi-includes/frame/func.h | 109 - .../WebSTONE/src/nsapi-includes/frame/http.h | 168 - .../WebSTONE/src/nsapi-includes/frame/httpact.h | 118 - .../WebSTONE/src/nsapi-includes/frame/ipfilter.h | 46 - .../WebSTONE/src/nsapi-includes/frame/log.h | 49 - .../WebSTONE/src/nsapi-includes/frame/object.h | 165 - .../WebSTONE/src/nsapi-includes/frame/objset.h | 156 - .../WebSTONE/src/nsapi-includes/frame/protocol.h | 25 - .../WebSTONE/src/nsapi-includes/frame/req.h | 214 - .../WebSTONE/src/nsapi-includes/frame/servact.h | 24 - .../clients/WebSTONE/src/nsapi-includes/netsite.h | 65 - apps/JAWS/clients/WebSTONE/src/nsapi-send.c | 90 - apps/JAWS/clients/WebSTONE/src/parse_file_list.c | 289 - apps/JAWS/clients/WebSTONE/src/parse_file_list.h | 19 - apps/JAWS/clients/WebSTONE/src/rexec.c | 372 - apps/JAWS/clients/WebSTONE/src/statistics.c | 47 - apps/JAWS/clients/WebSTONE/src/statistics.h | 11 - apps/JAWS/clients/WebSTONE/src/sysdep.c | 50 - apps/JAWS/clients/WebSTONE/src/sysdep.h | 130 - apps/JAWS/clients/WebSTONE/src/timefunc.c | 169 - apps/JAWS/clients/WebSTONE/src/timefunc.h | 30 - apps/JAWS/clients/WebSTONE/src/webclient.c | 1295 - apps/JAWS/clients/WebSTONE/src/webmaster.c | 1417 - apps/JAWS/clients/WebSTONE/webstone | 75 - apps/JAWS/remora/app/Makefile | 19 - apps/JAWS/remora/app/Remora_Export.cc | 93 - apps/JAWS/remora/app/Remora_Export.h | 85 - apps/JAWS/remora/app/Remora_Export.i | 146 - apps/JAWS/remora/app/Remora_Import.cc | 109 - apps/JAWS/remora/app/Remora_Import.h | 69 - apps/JAWS/remora/app/Remora_Import.i | 85 - apps/JAWS/remora/app/remora.idl | 100 - apps/JAWS/remora/app/stdmk | 40 - apps/JAWS/remora/app/test.cc | 77 - apps/JAWS/server/HTTP_Config.cpp | 137 - apps/JAWS/server/HTTP_Config.h | 95 - apps/JAWS/server/HTTP_Handler.cpp | 287 - apps/JAWS/server/HTTP_Handler.h | 191 - apps/JAWS/server/HTTP_Helpers.cpp | 429 - apps/JAWS/server/HTTP_Helpers.h | 104 - apps/JAWS/server/HTTP_Request.cpp | 658 - apps/JAWS/server/HTTP_Request.h | 195 - apps/JAWS/server/HTTP_Response.cpp | 360 - apps/JAWS/server/HTTP_Response.h | 76 - apps/JAWS/server/HTTP_Server.cpp | 392 - apps/JAWS/server/HTTP_Server.h | 136 - apps/JAWS/server/IO.cpp | 411 - apps/JAWS/server/IO.h | 218 - apps/JAWS/server/Makefile | 668 - apps/JAWS/server/Parse_Headers.cpp | 355 - apps/JAWS/server/Parse_Headers.h | 117 - apps/JAWS/server/Pipeline.cpp | 133 - apps/JAWS/server/Pipeline.h | 198 - apps/JAWS/server/README | 201 - apps/JAWS/server/jaws.auth | 2 - apps/JAWS/server/jaws.dsp | 175 - apps/JAWS/server/jaws.dsw | 29 - apps/JAWS/server/jaws.mak | 988 - apps/JAWS/server/jaws.mdp | Bin 54272 -> 0 bytes apps/JAWS/server/main.cpp | 49 - apps/JAWS/server/svc.conf | 37 - apps/JAWS/server/test.cgi | 9 - apps/JAWS/stress_testing/Makefile | 49 - apps/JAWS/stress_testing/README | 54 - apps/JAWS/stress_testing/benchd.cpp | 240 - apps/JAWS/stress_testing/client.h | 8 - apps/JAWS/stress_testing/clients.mak | 1616 - apps/JAWS/stress_testing/clients.mdp | Bin 49664 -> 0 bytes apps/JAWS/stress_testing/config | 3 - apps/JAWS/stress_testing/connection.cpp | 97 - apps/JAWS/stress_testing/connection.h | 22 - apps/JAWS/stress_testing/cp.cpp | 9 - apps/JAWS/stress_testing/cp.h | 14 - apps/JAWS/stress_testing/global.h | 26 - apps/JAWS/stress_testing/http.h | 16 - apps/JAWS/stress_testing/http_tester.cpp | 169 - apps/JAWS/stress_testing/out | 2 - apps/JAWS/stress_testing/stats.cpp | 87 - apps/JAWS/stress_testing/stats.h | 31 - apps/JAWS/stress_testing/util.cpp | 60 - apps/JAWS/stress_testing/util.h | 34 - apps/Makefile | 31 - .../Event_Comm/Consumer/Input_Handler.cpp | 130 - .../Event_Comm/Consumer/Input_Handler.h | 71 - apps/Orbix-Examples/Event_Comm/Consumer/Makefile | 163 - .../Consumer/Notification_Receiver_Handler.cpp | 114 - .../Consumer/Notification_Receiver_Handler.h | 62 - .../Event_Comm/Consumer/consumer.cpp | 114 - apps/Orbix-Examples/Event_Comm/Makefile | 26 - apps/Orbix-Examples/Event_Comm/README | 109 - .../Event_Comm/Supplier/Input_Handler.cpp | 120 - .../Event_Comm/Supplier/Input_Handler.h | 70 - apps/Orbix-Examples/Event_Comm/Supplier/Makefile | 162 - .../Event_Comm/Supplier/Notifier_Handler.cpp | 66 - .../Event_Comm/Supplier/Notifier_Handler.h | 56 - .../Event_Comm/Supplier/supplier.cpp | 116 - .../Event_Comm/include/Event_Comm.hh | 887 - .../Event_Comm/include/Event_Comm_i.h | 37 - .../Event_Comm/include/Notification_Receiver_i.h | 48 - .../Orbix-Examples/Event_Comm/include/Notifier_i.h | 82 - .../Orbix-Examples/Event_Comm/libsrc/Event_Comm.hh | 887 - .../Event_Comm/libsrc/Event_Comm.idl | 92 - .../Event_Comm/libsrc/Event_CommC.cpp | 351 - .../Event_Comm/libsrc/Event_CommS.cpp | 166 - .../Event_Comm/libsrc/Event_Comm_i.h | 38 - apps/Orbix-Examples/Event_Comm/libsrc/Makefile | 113 - .../Event_Comm/libsrc/Notification.idl | 42 - .../Event_Comm/libsrc/Notification_Receiver.idl | 42 - .../Event_Comm/libsrc/Notification_Receiver_i.cpp | 39 - .../Event_Comm/libsrc/Notification_Receiver_i.h | 48 - apps/Orbix-Examples/Event_Comm/libsrc/Notifier.idl | 49 - .../Event_Comm/libsrc/Notifier_i.cpp | 324 - apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.h | 82 - apps/Orbix-Examples/Logger/Logger.cpp | 131 - apps/Orbix-Examples/Logger/Logger.h | 56 - apps/Orbix-Examples/Logger/Makefile | 63 - apps/Orbix-Examples/Logger/Orbix.hostgroups | 1 - apps/Orbix-Examples/Logger/Orbix.hosts | 3 - apps/Orbix-Examples/Logger/README | 35 - apps/Orbix-Examples/Logger/a1.tex | 232 - apps/Orbix-Examples/Logger/client.cpp | 142 - apps/Orbix-Examples/Logger/logger.hh | 434 - apps/Orbix-Examples/Logger/logger.idl | 56 - apps/Orbix-Examples/Logger/loggerS.cpp | 141 - apps/Orbix-Examples/Logger/logger_i.cpp | 120 - apps/Orbix-Examples/Logger/logger_i.h | 75 - apps/Orbix-Examples/Logger/server.cpp | 40 - apps/Orbix-Examples/Makefile | 25 - apps/README | 18 - apps/gperf/COPYING | 249 - apps/gperf/ChangeLog | 1335 - apps/gperf/Makefile | 25 - apps/gperf/README | 28 - apps/gperf/gperf.1 | 23 - apps/gperf/gperf.info | 1127 - apps/gperf/gperf.texi | 1184 - apps/gperf/src/Bool_Array.cpp | 89 - apps/gperf/src/Bool_Array.h | 65 - apps/gperf/src/Gen_Perf.cpp | 345 - apps/gperf/src/Gen_Perf.h | 65 - apps/gperf/src/Hash_Table.cpp | 84 - apps/gperf/src/Hash_Table.h | 50 - apps/gperf/src/Iterator.cpp | 90 - apps/gperf/src/Iterator.h | 67 - apps/gperf/src/Key_List.cpp | 1345 - apps/gperf/src/Key_List.h | 116 - apps/gperf/src/List_Node.cpp | 110 - apps/gperf/src/List_Node.h | 65 - apps/gperf/src/Makefile | 155 - apps/gperf/src/Options.cpp | 616 - apps/gperf/src/Options.h | 140 - apps/gperf/src/Vectors.cpp | 33 - apps/gperf/src/Vectors.h | 44 - apps/gperf/src/Version.cpp | 25 - apps/gperf/src/gperf.cpp | 66 - apps/gperf/src/new.cpp | 75 - apps/gperf/tests/Makefile.in | 72 - apps/gperf/tests/ada-pred.exp | 54 - apps/gperf/tests/ada-res.exp | 63 - apps/gperf/tests/ada.gperf | 63 - apps/gperf/tests/adadefs.gperf | 54 - apps/gperf/tests/c++.gperf | 47 - apps/gperf/tests/c-parse.gperf | 56 - apps/gperf/tests/c.exp | 32 - apps/gperf/tests/c.gperf | 32 - apps/gperf/tests/configure.in | 26 - apps/gperf/tests/gpc.gperf | 48 - apps/gperf/tests/gplus.gperf | 76 - apps/gperf/tests/irc.gperf | 63 - apps/gperf/tests/makeinfo.gperf | 116 - apps/gperf/tests/modula.exp | 106 - apps/gperf/tests/modula2.gperf | 40 - apps/gperf/tests/modula3.gperf | 106 - apps/gperf/tests/pascal.exp | 36 - apps/gperf/tests/pascal.gperf | 36 - apps/gperf/tests/test-1.exp | 140 - apps/gperf/tests/test-2.exp | 183 - apps/gperf/tests/test-3.exp | 169 - apps/gperf/tests/test-4.exp | 138 - apps/gperf/tests/test-5.exp | 111 - apps/gperf/tests/test-6.exp | 74 - apps/gperf/tests/test-7.exp | 32 - apps/gperf/tests/test.c | 28 - bin/Makefile | 39 - bin/README.html | 147 - bin/Service_Config.perl | 27 - bin/ace_ld | 172 - bin/auto_compile | 198 - bin/auto_compile_wrapper | 46 - bin/auto_ptr.perl | 14 - bin/class2hxxcxx | 80 - bin/class2hxxcxxsingle | 80 - bin/class2info | 197 - bin/class2info.awk | 1594 - bin/class2man | 78 - bin/class2mml | 79 - bin/class2src | 79 - bin/classinfo.ps | 868 - bin/clone.1 | 297 - bin/clone.cpp | 955 - bin/clone.csh | 26 - bin/create_ace_build | 139 - bin/g++dep | 79 - bin/hiding.fmt | 20 - bin/html-windex | 33 - bin/info2doc.awk | 2182 -- bin/info2doc.fmt | 23 - bin/info2head | 166 - bin/info2head.fmt | 23 - bin/info2headsrc | 326 - bin/info2man | 169 - bin/info2mml | 166 - bin/info2src | 133 - bin/info2src.awk | 630 - bin/man2html | 89 - bin/man2html1.awk | 139 - bin/man2html2.awk | 18 - bin/rename-ace.pl | 175 - bin/vendor.fmt | 101 - docs/ACE-inheritance.pdf.gz | Bin 27798 -> 0 bytes docs/ACE-inheritance.ps.gz | Bin 18076 -> 0 bytes docs/ACE-lessons.html | 267 - etc/ACE-guidelines.html | 596 - etc/README | 20 - etc/Svc_Conf_l.cpp.diff | 253 - etc/Svc_Conf_y.cpp.diff | 265 - etc/create-jace-release | 9 - etc/purify.solaris2 | 144 - examples/ASX/CCM_App/CCM_App.cpp | 102 - examples/ASX/CCM_App/Makefile | 127 - examples/ASX/CCM_App/SC_Client.cpp | 9 - examples/ASX/CCM_App/SC_Server.cpp | 64 - examples/ASX/CCM_App/svc.conf | 21 - .../Event_Server/Event_Server/Consumer_Router.cpp | 138 - .../Event_Server/Event_Server/Consumer_Router.h | 49 - .../Event_Server/Event_Server/Event_Analyzer.cpp | 71 - .../ASX/Event_Server/Event_Server/Event_Analyzer.h | 33 - .../ASX/Event_Server/Event_Server/Event_Server.dsp | 114 - .../ASX/Event_Server/Event_Server/Event_Server.dsw | 29 - .../ASX/Event_Server/Event_Server/Event_Server.mak | 871 - .../ASX/Event_Server/Event_Server/Event_Server.mdp | Bin 46592 -> 0 bytes examples/ASX/Event_Server/Event_Server/Makefile | 504 - examples/ASX/Event_Server/Event_Server/Options.cpp | 192 - examples/ASX/Event_Server/Event_Server/Options.h | 102 - examples/ASX/Event_Server/Event_Server/Options.i | 137 - .../ASX/Event_Server/Event_Server/Peer_Router.cpp | 367 - .../ASX/Event_Server/Event_Server/Peer_Router.h | 136 - .../Event_Server/Event_Server/Supplier_Router.cpp | 138 - .../Event_Server/Event_Server/Supplier_Router.h | 58 - .../ASX/Event_Server/Event_Server/event_server.cpp | 150 - examples/ASX/Event_Server/Makefile | 23 - examples/ASX/Event_Server/README | 53 - examples/ASX/Event_Server/Transceiver/Makefile | 43 - .../ASX/Event_Server/Transceiver/transceiver.cpp | 239 - .../ASX/Event_Server/Transceiver/transceiver.dsp | 70 - .../ASX/Event_Server/Transceiver/transceiver.dsw | 29 - .../ASX/Event_Server/Transceiver/transceiver.mak | 262 - .../ASX/Event_Server/Transceiver/transceiver.mdp | Bin 43520 -> 0 bytes examples/ASX/Makefile | 25 - examples/ASX/Message_Queue/Bounded_Buffer.dsp | 91 - examples/ASX/Message_Queue/Buffer_Stream.dsp | 91 - examples/ASX/Message_Queue/Makefile | 43 - .../ASX/Message_Queue/Message_Queue_Example.dsw | 53 - examples/ASX/Message_Queue/Priority_Buffer.dsp | 91 - examples/ASX/Message_Queue/bounded_buffer.cpp | 123 - examples/ASX/Message_Queue/buffer_stream.cpp | 273 - examples/ASX/Message_Queue/priority_buffer.cpp | 141 - .../ASX/UPIPE_Event_Server/Consumer_Router.cpp | 148 - examples/ASX/UPIPE_Event_Server/Consumer_Router.h | 48 - examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp | 70 - examples/ASX/UPIPE_Event_Server/Event_Analyzer.h | 33 - examples/ASX/UPIPE_Event_Server/Makefile | 506 - examples/ASX/UPIPE_Event_Server/Options.cpp | 191 - examples/ASX/UPIPE_Event_Server/Options.h | 83 - examples/ASX/UPIPE_Event_Server/Options.i | 161 - examples/ASX/UPIPE_Event_Server/Peer_Router.cpp | 271 - examples/ASX/UPIPE_Event_Server/Peer_Router.h | 116 - .../ASX/UPIPE_Event_Server/Supplier_Router.cpp | 158 - examples/ASX/UPIPE_Event_Server/Supplier_Router.h | 52 - .../ASX/UPIPE_Event_Server/UPIPE_Event_Server.dsp | 115 - .../ASX/UPIPE_Event_Server/UPIPE_Event_Server.dsw | 29 - .../ASX/UPIPE_Event_Server/UPIPE_Event_Server.mak | 1034 - .../ASX/UPIPE_Event_Server/UPIPE_Event_Server.mdp | Bin 45056 -> 0 bytes examples/ASX/UPIPE_Event_Server/event_server.cpp | 251 - examples/CORBA/Makefile | 65 - examples/CORBA/Test.idl | 6 - examples/CORBA/Test_i.cpp | 10 - examples/CORBA/Test_i.h | 14 - examples/CORBA/client.cpp | 26 - examples/CORBA/server.cpp | 37 - examples/Connection/Makefile | 25 - examples/Connection/blocking/README | 36 - examples/Connection/blocking/SPIPE-acceptor.cpp | 181 - examples/Connection/blocking/SPIPE-acceptor.h | 65 - examples/Connection/blocking/SPIPE-connector.cpp | 211 - examples/Connection/blocking/SPIPE-connector.h | 75 - examples/Connection/blocking/SPIPE.dsp | 77 - examples/Connection/blocking/SPIPE.dsw | 41 - examples/Connection/blocking/SPIPE.mak | 833 - examples/Connection/blocking/SPIPE.mdp | Bin 51200 -> 0 bytes examples/Connection/blocking/acceptor.dsp | 77 - .../Connection/blocking/test_spipe_acceptor.cpp | 20 - .../Connection/blocking/test_spipe_connector.cpp | 19 - examples/Connection/misc/Connection_Handler.cpp | 236 - examples/Connection/misc/Makefile | 250 - examples/Connection/misc/test_upipe.cpp | 215 - examples/Connection/non_blocking/CPP-acceptor.cpp | 173 - examples/Connection/non_blocking/CPP-acceptor.h | 70 - examples/Connection/non_blocking/CPP-connector.cpp | 232 - examples/Connection/non_blocking/CPP-connector.h | 70 - examples/Connection/non_blocking/Makefile | 1028 - examples/Connection/non_blocking/README | 28 - examples/Connection/non_blocking/non_blocking.dsp | 73 - examples/Connection/non_blocking/non_blocking.dsw | 41 - examples/Connection/non_blocking/non_blocking.mak | 785 - examples/Connection/non_blocking/non_blocking.mdp | Bin 18946 -> 0 bytes examples/Connection/non_blocking/server.dsp | 73 - .../non_blocking/test_lsock_acceptor.cpp | 40 - .../non_blocking/test_lsock_connector.cpp | 48 - .../Connection/non_blocking/test_sock_acceptor.cpp | 40 - .../non_blocking/test_sock_connector.cpp | 60 - .../non_blocking/test_spipe_acceptor.cpp | 48 - .../non_blocking/test_spipe_connector.cpp | 57 - .../Connection/non_blocking/test_tli_acceptor.cpp | 48 - .../Connection/non_blocking/test_tli_connector.cpp | 59 - examples/IOStream/Makefile | 25 - examples/IOStream/README | 22 - examples/IOStream/client/Makefile | 76 - examples/IOStream/client/iostream_client.cpp | 73 - examples/IOStream/server/Makefile | 143 - examples/IOStream/server/iostream_server.cpp | 182 - examples/IPC_SAP/DEV_SAP/Makefile | 22 - examples/IPC_SAP/DEV_SAP/README | 23 - examples/IPC_SAP/DEV_SAP/reader/Makefile | 75 - examples/IPC_SAP/DEV_SAP/reader/reader.cpp | 49 - examples/IPC_SAP/DEV_SAP/writer/Makefile | 75 - examples/IPC_SAP/DEV_SAP/writer/writer.cpp | 54 - examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp | 36 - examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp | 41 - examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp | 24 - examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp | 25 - examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp | 97 - examples/IPC_SAP/FIFO_SAP/Makefile | 147 - examples/IPC_SAP/FILE_SAP/File_sap.dsw | 29 - examples/IPC_SAP/FILE_SAP/Makefile | 68 - examples/IPC_SAP/FILE_SAP/client.cpp | 58 - examples/IPC_SAP/FILE_SAP/client.dsp | 57 - examples/IPC_SAP/FILE_SAP/testfile | 1 - examples/IPC_SAP/Makefile | 27 - examples/IPC_SAP/SOCK_SAP/C-inclient.cpp | 74 - examples/IPC_SAP/SOCK_SAP/C-inserver.cpp | 98 - examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp | 247 - examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp | 102 - examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp | 115 - examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp | 50 - examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp | 79 - examples/IPC_SAP/SOCK_SAP/CPP_inclient.dsp | 70 - examples/IPC_SAP/SOCK_SAP/CPP_inserver.dsp | 70 - examples/IPC_SAP/SOCK_SAP/C_inserver.dsp | 70 - examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp | 54 - examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp | 92 - examples/IPC_SAP/SOCK_SAP/Makefile | 308 - examples/IPC_SAP/SOCK_SAP/README | 38 - examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsp | 70 - examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsw | 65 - examples/IPC_SAP/SOCK_SAP/SOCK_SAP.mak | 485 - examples/IPC_SAP/SOCK_SAP/SOCK_SAP.mdp | Bin 43520 -> 0 bytes examples/IPC_SAP/SOCK_SAP/local_data | 1 - examples/IPC_SAP/SPIPE_SAP/Makefile | 266 - examples/IPC_SAP/SPIPE_SAP/NPClient.cpp | 46 - examples/IPC_SAP/SPIPE_SAP/NPServer.cpp | 52 - examples/IPC_SAP/SPIPE_SAP/client.cpp | 43 - examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp | 52 - examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp | 49 - examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp | 58 - examples/IPC_SAP/SPIPE_SAP/producer_read.cpp | 49 - examples/IPC_SAP/SPIPE_SAP/server.cpp | 118 - examples/IPC_SAP/SPIPE_SAP/shared.h | 6 - examples/IPC_SAP/TLI_SAP/CPP-client.cpp | 66 - examples/IPC_SAP/TLI_SAP/CPP-server.cpp | 68 - examples/IPC_SAP/TLI_SAP/Makefile | 238 - examples/IPC_SAP/TLI_SAP/db-client.cpp | 52 - examples/IPC_SAP/TLI_SAP/db-server.cpp | 108 - examples/IPC_SAP/TLI_SAP/ftp-client.cpp | 43 - examples/IPC_SAP/TLI_SAP/ftp-server.cpp | 74 - examples/IPC_SAP/TLI_SAP/signal_thread.c | 53 - examples/IPC_SAP/UPIPE_SAP/Makefile | 342 - examples/IPC_SAP/UPIPE_SAP/auto_builtin_ptr.h | 20 - examples/IPC_SAP/UPIPE_SAP/ex1.cpp | 147 - examples/IPC_SAP/UPIPE_SAP/ex2.cpp | 155 - examples/IPC_SAP/UPIPE_SAP/ex3.cpp | 147 - examples/Log_Msg/Log_Msg.mak | 222 - examples/Log_Msg/Log_Msg.mdp | Bin 39936 -> 0 bytes examples/Log_Msg/Makefile | 58 - examples/Log_Msg/README | 57 - examples/Log_Msg/test_log_msg.cpp | 124 - examples/Logger/Acceptor-server/Makefile | 42 - examples/Logger/Acceptor-server/server_loggerd.cpp | 264 - examples/Logger/Acceptor-server/server_loggerd.dsp | 70 - examples/Logger/Acceptor-server/server_loggerd.dsw | 29 - examples/Logger/Acceptor-server/server_loggerd.mak | 261 - examples/Logger/Acceptor-server/server_loggerd.mdp | Bin 43520 -> 0 bytes examples/Logger/Makefile | 27 - examples/Logger/README | 32 - examples/Logger/client/Makefile | 70 - examples/Logger/client/client.dsp | 69 - examples/Logger/client/client.dsw | 29 - examples/Logger/client/client.mak | 169 - examples/Logger/client/client.mdp | Bin 39936 -> 0 bytes examples/Logger/client/logging_app.cpp | 53 - examples/Logger/simple-server/Logging_Acceptor.cpp | 80 - examples/Logger/simple-server/Logging_Acceptor.h | 48 - examples/Logger/simple-server/Logging_Handler.cpp | 152 - examples/Logger/simple-server/Logging_Handler.h | 65 - examples/Logger/simple-server/Makefile | 194 - examples/Logger/simple-server/Reactor_Singleton.h | 27 - examples/Logger/simple-server/server_loggerd.cpp | 77 - examples/Logger/simple-server/server_loggerd.dsp | 90 - examples/Logger/simple-server/server_loggerd.dsw | 29 - examples/Logger/simple-server/server_loggerd.mak | 438 - examples/Logger/simple-server/server_loggerd.mdp | Bin 43008 -> 0 bytes examples/Makefile | 44 - examples/Map_Manager/Makefile | 70 - examples/Map_Manager/test_hash_map_manager.cpp | 68 - examples/Mem_Map/IO-tests/IO_Test.cpp | 189 - examples/Mem_Map/IO-tests/IO_Test.h | 71 - examples/Mem_Map/IO-tests/Makefile | 66 - examples/Mem_Map/IO-tests/test_io.cpp | 166 - examples/Mem_Map/Makefile | 22 - examples/Mem_Map/file-reverse/Makefile | 61 - examples/Mem_Map/file-reverse/file-reverse.cpp | 44 - examples/Misc/Makefile | 240 - examples/Misc/test_XtReactor1.cpp | 141 - examples/Misc/test_XtReactor2.cpp | 75 - examples/Misc/test_dump.cpp | 76 - examples/Misc/test_get_opt.cpp | 51 - examples/Misc/test_profile_timer.cpp | 33 - examples/Misc/test_read_buffer.cpp | 24 - examples/Misc/test_set.cpp | 14 - examples/Misc/test_sstring.cpp | 22 - examples/Misc/test_trace.cpp | 51 - examples/Naming/Makefile | 46 - examples/Naming/Naming.dsp | 69 - examples/Naming/Naming.dsw | 53 - examples/Naming/Naming.mak | 734 - examples/Naming/Naming.mdp | Bin 54784 -> 0 bytes examples/Naming/multiple_contexts.dsp | 70 - examples/Naming/non_existent.dsp | 70 - examples/Naming/test_multiple_contexts.cpp | 45 - examples/Naming/test_non_existent.cpp | 34 - examples/Naming/test_open.cpp | 52 - examples/Naming/test_writers.cpp | 40 - examples/OS/Makefile | 21 - examples/OS/Process/Makefile | 46 - examples/OS/Process/Process.dsp | 101 - examples/OS/Process/Process.dsw | 29 - examples/OS/Process/Process.mak | 256 - examples/OS/Process/Process.mdp | Bin 40448 -> 0 bytes examples/OS/Process/README | 55 - examples/OS/Process/imore.cpp | 244 - examples/OS/Process/process.cpp | 417 - examples/README | 77 - examples/Reactor/Dgram/CODgram.cpp | 184 - examples/Reactor/Dgram/Dgram.cpp | 182 - examples/Reactor/Dgram/Makefile | 155 - examples/Reactor/FIFO/Makefile | 123 - examples/Reactor/FIFO/client.cpp | 17 - examples/Reactor/FIFO/server.cpp | 80 - examples/Reactor/Makefile | 25 - examples/Reactor/Misc/Makefile | 490 - examples/Reactor/Misc/Misc.dsp | 70 - examples/Reactor/Misc/Misc.dsw | 77 - examples/Reactor/Misc/Misc.mak | 857 - examples/Reactor/Misc/Misc.mdp | Bin 55808 -> 0 bytes examples/Reactor/Misc/notification.cpp | 288 - examples/Reactor/Misc/notification.dsp | 70 - examples/Reactor/Misc/pingpong.cpp | 247 - examples/Reactor/Misc/reactors.dsp | 57 - examples/Reactor/Misc/signal_tester.cpp | 221 - examples/Reactor/Misc/signals_1.dsp | 57 - examples/Reactor/Misc/signals_2.dsp | 57 - examples/Reactor/Misc/test_demuxing.cpp | 314 - examples/Reactor/Misc/test_event_handler_t.cpp | 45 - examples/Reactor/Misc/test_reactors.cpp | 198 - examples/Reactor/Misc/test_signals.cpp | 226 - examples/Reactor/Misc/test_signals_1.cpp | 81 - examples/Reactor/Misc/test_signals_2.cpp | 235 - examples/Reactor/Misc/test_time_value.cpp | 70 - examples/Reactor/Misc/test_timer_queue.cpp | 87 - examples/Reactor/Multicast/Log_Wrapper.cpp | 72 - examples/Reactor/Multicast/Log_Wrapper.h | 63 - examples/Reactor/Multicast/Makefile | 76 - examples/Reactor/Multicast/README | 15 - examples/Reactor/Multicast/client.cpp | 118 - examples/Reactor/Multicast/server.cpp | 213 - examples/Reactor/Ntalker/Makefile | 112 - examples/Reactor/Ntalker/ntalker.cpp | 175 - examples/Reactor/Ntalker/ntalker.dsp | 65 - examples/Reactor/Ntalker/ntalker.dsw | 29 - examples/Reactor/Ntalker/ntalker.mak | 252 - examples/Reactor/Ntalker/ntalker.mdp | Bin 44032 -> 0 bytes examples/Reactor/Proactor/test_multiple_loops.cpp | 119 - examples/Reactor/Proactor/test_multiple_loops.dsp | 71 - examples/Reactor/Proactor/test_proactor.cpp | 578 - examples/Reactor/Proactor/test_proactor.dsp | 66 - examples/Reactor/Proactor/test_proactor.dsw | 53 - examples/Reactor/Proactor/test_proactor.mak | 536 - examples/Reactor/Proactor/test_proactor.mdp | Bin 52736 -> 0 bytes examples/Reactor/Proactor/test_timeout.cpp | 96 - examples/Reactor/Proactor/test_timeout.dsp | 70 - examples/Reactor/README | 20 - examples/Reactor/ReactorEx/Console_Input.dsp | 58 - examples/Reactor/ReactorEx/Directory_Changes.dsp | 58 - examples/Reactor/ReactorEx/Exceptions.dsp | 58 - examples/Reactor/ReactorEx/Multithreading.dsp | 58 - examples/Reactor/ReactorEx/Network_Events.dsp | 58 - examples/Reactor/ReactorEx/Registration.dsp | 58 - examples/Reactor/ReactorEx/Registry_Changes.dsp | 58 - examples/Reactor/ReactorEx/Removals.dsp | 57 - examples/Reactor/ReactorEx/Talker.dsp | 57 - examples/Reactor/ReactorEx/Timeouts.dsp | 57 - examples/Reactor/ReactorEx/reactorex.dsw | 137 - examples/Reactor/ReactorEx/reactorex.mak | 1680 - examples/Reactor/ReactorEx/reactorex.mdp | Bin 74752 -> 0 bytes examples/Reactor/ReactorEx/test_console_input.cpp | 81 - .../Reactor/ReactorEx/test_directory_changes.cpp | 114 - examples/Reactor/ReactorEx/test_exceptions.cpp | 86 - examples/Reactor/ReactorEx/test_multithreading.cpp | 240 - examples/Reactor/ReactorEx/test_network_events.cpp | 190 - examples/Reactor/ReactorEx/test_registration.cpp | 154 - .../Reactor/ReactorEx/test_registry_changes.cpp | 133 - examples/Reactor/ReactorEx/test_removals.cpp | 103 - examples/Reactor/ReactorEx/test_talker.cpp | 546 - examples/Reactor/ReactorEx/test_timeouts.cpp | 78 - examples/Reactor/WFMO_Reactor/Console_Input.dsp | 58 - .../Reactor/WFMO_Reactor/Directory_Changes.dsp | 58 - examples/Reactor/WFMO_Reactor/Exceptions.dsp | 58 - examples/Reactor/WFMO_Reactor/Multithreading.dsp | 58 - examples/Reactor/WFMO_Reactor/Network_Events.dsp | 58 - examples/Reactor/WFMO_Reactor/Registration.dsp | 58 - examples/Reactor/WFMO_Reactor/Registry_Changes.dsp | 58 - examples/Reactor/WFMO_Reactor/Removals.dsp | 57 - examples/Reactor/WFMO_Reactor/Talker.dsp | 57 - examples/Reactor/WFMO_Reactor/Timeouts.dsp | 57 - examples/Reactor/WFMO_Reactor/reactorex.dsw | 137 - examples/Reactor/WFMO_Reactor/reactorex.mak | 1680 - examples/Reactor/WFMO_Reactor/reactorex.mdp | Bin 74752 -> 0 bytes .../Reactor/WFMO_Reactor/test_console_input.cpp | 81 - .../WFMO_Reactor/test_directory_changes.cpp | 114 - examples/Reactor/WFMO_Reactor/test_exceptions.cpp | 86 - .../Reactor/WFMO_Reactor/test_multithreading.cpp | 240 - .../Reactor/WFMO_Reactor/test_network_events.cpp | 190 - .../Reactor/WFMO_Reactor/test_registration.cpp | 154 - .../Reactor/WFMO_Reactor/test_registry_changes.cpp | 133 - examples/Reactor/WFMO_Reactor/test_removals.cpp | 103 - examples/Reactor/WFMO_Reactor/test_talker.cpp | 546 - examples/Reactor/WFMO_Reactor/test_timeouts.cpp | 78 - examples/Registry/Registry.dsp | 69 - examples/Registry/Registry.dsw | 41 - examples/Registry/Registry.mak | 271 - examples/Registry/Registry.mdp | Bin 40448 -> 0 bytes examples/Registry/test_registry_iterator.cpp | 130 - examples/Registry/test_registry_update.cpp | 145 - examples/Registry/update.dsp | 69 - examples/Service_Configurator/IPC-tests/Makefile | 24 - examples/Service_Configurator/IPC-tests/README | 112 - .../Service_Configurator/IPC-tests/client/Makefile | 368 - .../IPC-tests/client/broadcast_client_test.cpp | 56 - .../IPC-tests/client/local_data | 22 - .../IPC-tests/client/local_dgram_client_test.cpp | 87 - .../IPC-tests/client/local_fifo_client_test.cpp | 83 - .../IPC-tests/client/local_pipe_client_test.cpp | 122 - .../IPC-tests/client/local_spipe_client_test.cpp | 88 - .../IPC-tests/client/local_stream_client_test.cpp | 85 - .../IPC-tests/client/remote_data | 22 - .../IPC-tests/client/remote_data1 | 22 - .../IPC-tests/client/remote_data2 | 22 - .../IPC-tests/client/remote_data3 | 22 - .../IPC-tests/client/remote_data4 | 22 - .../IPC-tests/client/remote_dgram_client_test.cpp | 78 - .../client/remote_service_directory_test.cpp | 82 - .../IPC-tests/client/remote_stream_client_test.cpp | 105 - .../client/remote_thr_stream_client_test.cpp | 96 - .../IPC-tests/server/Handle_Broadcast.cpp | 36 - .../IPC-tests/server/Handle_Broadcast.h | 41 - .../IPC-tests/server/Handle_Broadcast.i | 110 - .../IPC-tests/server/Handle_L_CODgram.cpp | 36 - .../IPC-tests/server/Handle_L_CODgram.h | 41 - .../IPC-tests/server/Handle_L_CODgram.i | 120 - .../IPC-tests/server/Handle_L_Dgram.cpp | 15 - .../IPC-tests/server/Handle_L_Dgram.h | 43 - .../IPC-tests/server/Handle_L_Dgram.i | 109 - .../IPC-tests/server/Handle_L_FIFO.cpp | 35 - .../IPC-tests/server/Handle_L_FIFO.h | 42 - .../IPC-tests/server/Handle_L_FIFO.i | 95 - .../IPC-tests/server/Handle_L_Pipe.cpp | 36 - .../IPC-tests/server/Handle_L_Pipe.h | 44 - .../IPC-tests/server/Handle_L_Pipe.i | 135 - .../IPC-tests/server/Handle_L_SPIPE.cpp | 16 - .../IPC-tests/server/Handle_L_SPIPE.h | 45 - .../IPC-tests/server/Handle_L_SPIPE.i | 119 - .../IPC-tests/server/Handle_L_Stream.cpp | 17 - .../IPC-tests/server/Handle_L_Stream.h | 48 - .../IPC-tests/server/Handle_L_Stream.i | 146 - .../IPC-tests/server/Handle_R_Dgram.cpp | 36 - .../IPC-tests/server/Handle_R_Dgram.h | 40 - .../IPC-tests/server/Handle_R_Dgram.i | 106 - .../IPC-tests/server/Handle_R_Stream.cpp | 39 - .../IPC-tests/server/Handle_R_Stream.h | 46 - .../IPC-tests/server/Handle_R_Stream.i | 138 - .../IPC-tests/server/Handle_Thr_Stream.cpp | 219 - .../IPC-tests/server/Handle_Thr_Stream.h | 74 - .../IPC-tests/server/Handle_Thr_Stream.i | 1 - .../IPC-tests/server/Handle_Timeout.cpp | 34 - .../IPC-tests/server/Handle_Timeout.h | 36 - .../IPC-tests/server/Handle_Timeout.i | 84 - .../Service_Configurator/IPC-tests/server/Makefile | 922 - .../IPC-tests/server/server_test.cpp | 36 - .../Service_Configurator/IPC-tests/server/svc.conf | 19 - examples/Service_Configurator/Makefile | 22 - examples/Service_Configurator/Misc/Makefile | 96 - .../Service_Configurator/Misc/Timer_Service.cpp | 92 - examples/Service_Configurator/Misc/Timer_Service.h | 34 - examples/Service_Configurator/Misc/main.cpp | 24 - examples/Service_Configurator/Misc/svc.conf | 6 - examples/Shared_Malloc/Makefile | 111 - examples/Shared_Malloc/Malloc.cpp | 106 - examples/Shared_Malloc/Malloc.h | 25 - examples/Shared_Malloc/Options.cpp | 187 - examples/Shared_Malloc/Options.h | 81 - examples/Shared_Malloc/Shared_Malloc.mak | 762 - examples/Shared_Malloc/Shared_Malloc.mdp | Bin 54272 -> 0 bytes examples/Shared_Malloc/test_malloc.cpp | 211 - examples/Shared_Malloc/test_multiple_mallocs.cpp | 67 - examples/Shared_Malloc/test_persistence.cpp | 241 - examples/Shared_Memory/Makefile | 84 - examples/Shared_Memory/test_MM.cpp | 64 - examples/Shared_Memory/test_SV.cpp | 61 - examples/System_V_IPC/Makefile | 41 - examples/System_V_IPC/README | 13 - .../System_V_IPC/SV_Message_Queues/MQ_Client.cpp | 30 - .../System_V_IPC/SV_Message_Queues/MQ_Server.cpp | 53 - examples/System_V_IPC/SV_Message_Queues/Makefile | 169 - .../System_V_IPC/SV_Message_Queues/TMQ_Client.cpp | 47 - .../System_V_IPC/SV_Message_Queues/TMQ_Server.cpp | 65 - examples/System_V_IPC/SV_Message_Queues/test.h | 42 - examples/System_V_IPC/SV_Semaphores/Makefile | 133 - .../SV_Semaphores/Semaphore_Client.cpp | 31 - .../SV_Semaphores/Semaphore_Server.cpp | 42 - .../System_V_IPC/SV_Semaphores/Semaphore_Test.h | 11 - examples/System_V_IPC/SV_Semaphores/Semaphores.cpp | 94 - .../System_V_IPC/SV_Semaphores/Semaphores_1.cpp | 97 - .../System_V_IPC/SV_Semaphores/Semaphores_2.cpp | 108 - examples/System_V_IPC/SV_Shared_Memory/Makefile | 62 - .../SV_Shared_Memory/SV_Shared_Memory_Test.cpp | 60 - .../SV_Shared_Memory/SV_Shared_Memory_Test.h | 7 - examples/Threads/Makefile | 1335 - examples/Threads/TSS_Data.h | 34 - examples/Threads/TSS_Obj.h | 34 - examples/Threads/TSS_Task.h | 37 - examples/Threads/auto_event.cpp | 118 - examples/Threads/barrier1.cpp | 81 - examples/Threads/barrier1.dsp | 69 - examples/Threads/barrier2.cpp | 276 - examples/Threads/barrier2.dsp | 69 - examples/Threads/cancel.cpp | 72 - examples/Threads/cancel.dsp | 69 - examples/Threads/future1.cpp | 416 - examples/Threads/future1.dsp | 69 - examples/Threads/future2.cpp | 538 - examples/Threads/future2.dsp | 69 - examples/Threads/manual_event.cpp | 114 - examples/Threads/manual_event.dsp | 70 - examples/Threads/process_manager.cpp | 168 - examples/Threads/process_mutex.cpp | 69 - examples/Threads/process_mutex.dsp | 70 - examples/Threads/process_semaphore.cpp | 58 - examples/Threads/process_semaphore.dsp | 70 - examples/Threads/reader_writer.cpp | 196 - examples/Threads/reader_writer.dsp | 70 - examples/Threads/recursive_mutex.cpp | 108 - examples/Threads/recursive_mutex.dsp | 70 - examples/Threads/task_four.cpp | 255 - examples/Threads/task_four.dsp | 69 - examples/Threads/task_one.cpp | 99 - examples/Threads/task_one.dsp | 69 - examples/Threads/task_three.cpp | 224 - examples/Threads/task_three.dsp | 70 - examples/Threads/task_two.cpp | 151 - examples/Threads/task_two.dsp | 69 - examples/Threads/test.dsp | 70 - examples/Threads/test.dsw | 269 - examples/Threads/test.mak | 3355 -- examples/Threads/test.mdp | Bin 112640 -> 0 bytes examples/Threads/test_auto_event.cpp | 113 - examples/Threads/test_barrier1.cpp | 84 - examples/Threads/test_barrier2.cpp | 269 - examples/Threads/test_cancel.cpp | 72 - examples/Threads/test_future1.cpp | 420 - examples/Threads/test_future2.cpp | 524 - examples/Threads/test_manual_event.cpp | 108 - examples/Threads/test_process_mutex.cpp | 68 - examples/Threads/test_process_semaphore.cpp | 56 - examples/Threads/test_reader_writer.cpp | 187 - examples/Threads/test_recursive_mutex.cpp | 108 - examples/Threads/test_task.cpp | 104 - examples/Threads/test_task_four.cpp | 248 - examples/Threads/test_task_one.cpp | 104 - examples/Threads/test_task_three.cpp | 230 - examples/Threads/test_task_two.cpp | 156 - examples/Threads/test_thread_manager.cpp | 104 - examples/Threads/test_thread_pool.cpp | 214 - examples/Threads/test_thread_specific.cpp | 219 - examples/Threads/test_token.cpp | 76 - examples/Threads/test_tss.cpp | 235 - examples/Threads/test_tss1.cpp | 164 - examples/Threads/test_tss2.cpp | 252 - examples/Threads/thread_manager.cpp | 103 - examples/Threads/thread_manager.dsp | 70 - examples/Threads/thread_pool.cpp | 210 - examples/Threads/thread_pool.dsp | 70 - examples/Threads/thread_specific.cpp | 180 - examples/Threads/thread_specific.dsp | 70 - examples/Threads/thread_specific.h | 50 - examples/Threads/token.cpp | 73 - examples/Threads/token.dsp | 69 - examples/Threads/tss1.cpp | 148 - examples/Threads/tss1.dsp | 69 - examples/Threads/tss2.cpp | 195 - examples/Threads/tss2.dsp | 69 - examples/Threads/wfmo.cpp | 121 - examples/Timer_Queue/Async_Timer_Queue_Test.cpp | 295 - examples/Timer_Queue/Async_Timer_Queue_Test.h | 113 - examples/Timer_Queue/Driver.cpp | 153 - examples/Timer_Queue/Driver.h | 130 - examples/Timer_Queue/Makefile | 619 - examples/Timer_Queue/README | 26 - examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp | 218 - examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp | 91 - examples/Timer_Queue/Reactor_Timer_Queue_Test.h | 143 - examples/Timer_Queue/Thread_Timer_Queue_Test.cpp | 291 - examples/Timer_Queue/Thread_Timer_Queue_Test.dsp | 92 - examples/Timer_Queue/Thread_Timer_Queue_Test.h | 150 - examples/Timer_Queue/Timer_Queue.dsw | 41 - examples/Timer_Queue/main_async.cpp | 51 - examples/Timer_Queue/main_reactor.cpp | 55 - examples/Timer_Queue/main_thread.cpp | 50 - include/makeinclude/macros.GNU | 22 - include/makeinclude/platform_aix.GNU | 42 - include/makeinclude/platform_aix4.2.GNU | 42 - include/makeinclude/platform_chorus.GNU | 51 - include/makeinclude/platform_dgux4_epc.GNU | 23 - include/makeinclude/platform_freebsd.GNU | 27 - include/makeinclude/platform_freebsd_pthread.GNU | 36 - include/makeinclude/platform_hpux.GNU | 28 - include/makeinclude/platform_hpux_aCC.GNU | 44 - include/makeinclude/platform_hpux_gcc.GNU | 28 - include/makeinclude/platform_hpux_orbix.GNU | 30 - include/makeinclude/platform_irix5.2.GNU | 21 - include/makeinclude/platform_irix5.3_g++.GNU | 21 - include/makeinclude/platform_irix5.3_sgic++.GNU | 26 - include/makeinclude/platform_irix6.x-sgic++.GNU | 51 - include/makeinclude/platform_irix6.x_g++.GNU | 23 - include/makeinclude/platform_linux.GNU | 31 - include/makeinclude/platform_linux_kcc.GNU | 26 - include/makeinclude/platform_linux_lxpthread.GNU | 42 - include/makeinclude/platform_linux_lxpthreads.GNU | 42 - include/makeinclude/platform_linux_pthread.GNU | 37 - include/makeinclude/platform_lynxos.GNU | 91 - include/makeinclude/platform_m88k.GNU | 30 - include/makeinclude/platform_mvs.GNU | 36 - include/makeinclude/platform_netbsd.GNU | 27 - include/makeinclude/platform_osf1_3.2.GNU | 27 - include/makeinclude/platform_osf1_4.0.GNU | 42 - include/makeinclude/platform_osf1_4.0_g++.GNU | 25 - include/makeinclude/platform_psosim_g++.GNU | 57 - include/makeinclude/platform_sco-nothread.GNU | 22 - .../makeinclude/platform_sco5.0.0-fsu-pthread.GNU | 35 - .../makeinclude/platform_sco5.0.0-mit-pthread.GNU | 35 - include/makeinclude/platform_sco5.0.0-nothread.GNU | 34 - include/makeinclude/platform_sunos4_g++.GNU | 26 - include/makeinclude/platform_sunos4_lucid.GNU | 21 - include/makeinclude/platform_sunos4_sunc++3.x.GNU | 27 - include/makeinclude/platform_sunos4_sunc++4.x.GNU | 24 - .../platform_sunos4_sunc++4.x_orbix.GNU | 25 - include/makeinclude/platform_sunos5_centerline.GNU | 22 - .../platform_sunos5_centerline_orbix.GNU | 23 - include/makeinclude/platform_sunos5_egcs.GNU | 25 - include/makeinclude/platform_sunos5_g++.GNU | 25 - include/makeinclude/platform_sunos5_sunc++.GNU | 104 - .../makeinclude/platform_sunos5_sunc++_orbix.GNU | 6 - include/makeinclude/platform_sunos5_x86_g++.GNU | 25 - include/makeinclude/platform_tandem.GNU | 93 - include/makeinclude/platform_unixware_g++.GNU | 24 - include/makeinclude/platform_vxworks5.x_g++.GNU | 93 - include/makeinclude/platform_vxworks5.x_ghs.GNU | 22 - include/makeinclude/rules.bin.GNU | 12 - include/makeinclude/rules.common.GNU | 17 - include/makeinclude/rules.lib.GNU | 146 - include/makeinclude/rules.local.GNU | 208 - include/makeinclude/rules.nested.GNU | 13 - include/makeinclude/rules.nolocal.GNU | 8 - include/makeinclude/rules.nonested.GNU | 8 - include/makeinclude/wrapper_macros.GNU | 289 - java/ChangeLog | 10 - java/ImageProcessing/ImageProcessing.dsp | 253 - java/ImageProcessing/ImageProcessing.dsw | 29 - java/ImageProcessing/filters/Assert.java | 33 - java/ImageProcessing/filters/BleachFilter.java | 65 - java/ImageProcessing/filters/BlurFilter.java | 95 - java/ImageProcessing/filters/DarkenFilter.java | 48 - java/ImageProcessing/filters/DeSpeckleFilter.java | 123 - java/ImageProcessing/filters/DissolveFilter.java | 52 - java/ImageProcessing/filters/EdgeDetectFilter.java | 250 - java/ImageProcessing/filters/EmbossFilter.java | 86 - java/ImageProcessing/filters/Makefile | 36 - java/ImageProcessing/filters/MedFilter.java | 6 - java/ImageProcessing/filters/OilPaintFilter.java | 97 - java/ImageProcessing/filters/PixelizeFilter.java | 117 - java/ImageProcessing/filters/RandomizeFilter.java | 36 - java/ImageProcessing/filters/RotateFilter.java | 358 - java/ImageProcessing/filters/SharpenFilter.java | 272 - java/ImageProcessing/filters/SpatialFilter.java | 213 - java/ImageProcessing/filters/SpreadFilter.java | 130 - java/ImageProcessing/filters/Timer.java | 23 - java/ImageProcessing/framework/BaseButton.java | 234 - .../ImageProcessing/framework/BenchmarkApplet.java | 622 - java/ImageProcessing/framework/DialogManager.java | 277 - java/ImageProcessing/framework/DialogType.java | 11 - java/ImageProcessing/framework/FileBrowser.java | 173 - java/ImageProcessing/framework/FilePanel.java | 161 - java/ImageProcessing/framework/FilterTest.java | 62 - java/ImageProcessing/framework/GIFHandler.java | 75 - java/ImageProcessing/framework/GifEncoder.java | 693 - java/ImageProcessing/framework/Hierarchy.java | 347 - .../framework/HierarchyAdapter.java | 34 - java/ImageProcessing/framework/Icon.java | 70 - java/ImageProcessing/framework/ImageApp.java | 303 - .../framework/ImageByteCounter.java | 94 - java/ImageProcessing/framework/ImageCanvas.java | 166 - java/ImageProcessing/framework/ImageEncoder.java | 271 - java/ImageProcessing/framework/ImageProcessor.java | 111 - java/ImageProcessing/framework/ImageSender.java | 128 - java/ImageProcessing/framework/IntHashtable.java | 396 - java/ImageProcessing/framework/ListFiles.java | 167 - java/ImageProcessing/framework/LoadURLFrame.java | 142 - java/ImageProcessing/framework/Makefile | 45 - java/ImageProcessing/framework/MedJava.html | 15 - java/ImageProcessing/framework/Options.java | 25 - java/ImageProcessing/framework/SaveURLFrame.java | 133 - java/ImageProcessing/framework/Separator.java | 90 - java/ImageProcessing/framework/ServerHandler.java | 50 - java/ImageProcessing/framework/ServerTest.java | 67 - java/ImageProcessing/framework/StatusDisplay.java | 23 - .../ImageProcessing/framework/StatusIndicator.java | 70 - java/ImageProcessing/framework/TestHandler.java | 149 - java/ImageProcessing/framework/Tester.java | 148 - java/ImageProcessing/framework/doc01.gif | Bin 223 -> 0 bytes java/ImageProcessing/framework/file03.gif | Bin 267 -> 0 bytes java/ImageProcessing/framework/filter.conf | 15 - java/ImageProcessing/framework/help.conf | 216 - java/ImageProcessing/framework/test.html | 19 - java/ImageProcessing/framework/testFilter.conf | 15 - java/VERSION | 5 - java/apps/NexusII/README | 58 - java/apps/NexusII/classes/ClientHandler.class | Bin 7017 -> 0 bytes java/apps/NexusII/classes/FrameHandler.class | Bin 851 -> 0 bytes java/apps/NexusII/classes/ImageCanvas.class | Bin 2771 -> 0 bytes java/apps/NexusII/classes/NexusClientApplet.class | Bin 9297 -> 0 bytes java/apps/NexusII/classes/NexusIIserver.class | Bin 1566 -> 0 bytes java/apps/NexusII/classes/Room.class | Bin 2138 -> 0 bytes java/apps/NexusII/classes/RoomFactory.class | Bin 1686 -> 0 bytes java/apps/NexusII/classes/RoomFrame.class | Bin 3878 -> 0 bytes java/apps/NexusII/classes/RoomThread.class | Bin 1076 -> 0 bytes java/apps/NexusII/classes/awtCommand/CApplet.class | Bin 2239 -> 0 bytes java/apps/NexusII/classes/awtCommand/CApplet.java | 199 - java/apps/NexusII/classes/awtCommand/CButton.class | Bin 698 -> 0 bytes java/apps/NexusII/classes/awtCommand/CButton.java | 41 - java/apps/NexusII/classes/awtCommand/CCanvas.class | Bin 4128 -> 0 bytes java/apps/NexusII/classes/awtCommand/CCanvas.java | 381 - java/apps/NexusII/classes/awtCommand/CFrame.class | Bin 5174 -> 0 bytes java/apps/NexusII/classes/awtCommand/CFrame.java | 486 - java/apps/NexusII/classes/awtCommand/CList.class | Bin 1236 -> 0 bytes java/apps/NexusII/classes/awtCommand/CList.java | 96 - java/apps/NexusII/classes/awtCommand/CPanel.class | Bin 4125 -> 0 bytes java/apps/NexusII/classes/awtCommand/CPanel.java | 381 - .../NexusII/classes/awtCommand/CTextArea.class | Bin 1048 -> 0 bytes .../apps/NexusII/classes/awtCommand/CTextArea.java | 93 - .../NexusII/classes/awtCommand/CTextField.class | Bin 1225 -> 0 bytes .../NexusII/classes/awtCommand/CTextField.java | 110 - java/apps/NexusII/classes/awtCommand/Command.class | Bin 253 -> 0 bytes java/apps/NexusII/classes/awtCommand/Command.java | 25 - java/apps/NexusII/classes/commandHandler.class | Bin 1310 -> 0 bytes java/apps/NexusII/classes/commandParser.class | Bin 1974 -> 0 bytes java/apps/NexusII/classes/connectionHandler.class | Bin 4632 -> 0 bytes java/apps/NexusII/classes/joinHandler.class | Bin 3229 -> 0 bytes java/apps/NexusII/classes/roomHandler.class | Bin 2371 -> 0 bytes java/apps/NexusII/classes/textHandler.class | Bin 2227 -> 0 bytes java/apps/NexusII/src/Consumer.java | 74 - java/apps/NexusII/src/MT_Bounded_Queue.java | 226 - java/apps/NexusII/src/MT_Bounded_Queue_Group.java | 79 - java/apps/NexusII/src/NexusClientApplet.java | 494 - java/apps/NexusII/src/NexusIIserver.java | 280 - java/apps/NexusII/src/Producer.java | 87 - java/apps/NexusII/src/Room.java | 97 - java/apps/NexusII/src/RoomFrame.java | 297 - java/apps/NexusII/src/RoomSpace.java | 110 - java/apps/NexusII/src/Timed_Wait.java | 86 - java/apps/NexusII/src/Timer.java | 31 - java/apps/NexusII/src/commandHandler.java | 44 - java/apps/NexusII/src/commandParser.java | 124 - java/apps/NexusII/src/connectionHandler.java | 236 - java/apps/NexusII/src/consts.java | 40 - java/apps/NexusII/src/dataPacket.java | 124 - java/apps/NexusII/src/joinHandler.java | 181 - java/apps/NexusII/src/makefile | 15 - java/apps/NexusII/src/nexusDemuxThread.java | 97 - java/apps/NexusII/src/roomHandler.java | 125 - java/apps/NexusII/src/socketReaderThread.java | 126 - java/apps/NexusII/src/socketWriterThread.java | 119 - java/apps/NexusII/src/url_to_url.java | 33 - java/apps/NexusII/start | 27 - java/apps/NexusII/start.html | 3 - java/doc/images/GridBagEx.gif | Bin 2453 -> 0 bytes java/doc/images/OpenBookIcon.gif | Bin 2241 -> 0 bytes java/doc/images/blue-ball-small.gif | Bin 255 -> 0 bytes java/doc/images/blue-ball.gif | Bin 925 -> 0 bytes java/doc/images/class-index.gif | Bin 1497 -> 0 bytes java/doc/images/constructor-index.gif | Bin 1711 -> 0 bytes java/doc/images/constructors.gif | Bin 1565 -> 0 bytes java/doc/images/cyan-ball-small.gif | Bin 255 -> 0 bytes java/doc/images/cyan-ball.gif | Bin 925 -> 0 bytes java/doc/images/error-index.gif | Bin 1438 -> 0 bytes java/doc/images/exception-index.gif | Bin 1707 -> 0 bytes java/doc/images/green-ball-small.gif | Bin 102 -> 0 bytes java/doc/images/green-ball.gif | Bin 886 -> 0 bytes java/doc/images/interface-index.gif | Bin 1648 -> 0 bytes java/doc/images/magenta-ball-small.gif | Bin 104 -> 0 bytes java/doc/images/magenta-ball.gif | Bin 896 -> 0 bytes java/doc/images/method-index.gif | Bin 1588 -> 0 bytes java/doc/images/methods.gif | Bin 1403 -> 0 bytes java/doc/images/package-index.gif | Bin 1607 -> 0 bytes java/doc/images/red-ball-small.gif | Bin 255 -> 0 bytes java/doc/images/red-ball.gif | Bin 527 -> 0 bytes java/doc/images/variable-index.gif | Bin 1576 -> 0 bytes java/doc/images/variables.gif | Bin 1380 -> 0 bytes java/doc/images/yellow-ball-small.gif | Bin 255 -> 0 bytes java/doc/images/yellow-ball.gif | Bin 925 -> 0 bytes java/examples/Logger/README | 29 - java/examples/Logger/simple-server/LogRecord.java | 145 - .../Logger/simple-server/LoggerConstants.java | 7 - .../Logger/simple-server/LoggingAcceptor.java | 33 - .../Logger/simple-server/LoggingClient.java | 108 - .../Logger/simple-server/LoggingHandler.java | 121 - java/examples/Logger/simple-server/Makefile | 34 - java/examples/Logger/simple-server/README | 25 - .../Logger/simple-server/SimpleLogger.java | 44 - java/gjt/Assert.java | 33 - java/gjt/Bargauge.java | 80 - java/gjt/Border.java | 105 - java/gjt/Box.java | 81 - java/gjt/BulletinLayout.java | 100 - java/gjt/ButtonPanel.java | 51 - java/gjt/CardPanel.java | 48 - java/gjt/ChoiceCardPanel.java | 53 - java/gjt/ColumnLayout.java | 154 - java/gjt/ComponentScroller.java | 42 - java/gjt/DialogClient.java | 20 - java/gjt/DrawingPanel.java | 72 - java/gjt/DrawnRectangle.java | 136 - java/gjt/EtchedBorder.java | 59 - java/gjt/EtchedRectangle.java | 97 - java/gjt/Etching.java | 22 - java/gjt/ExclusiveImageButtonPanel.java | 47 - java/gjt/FontDialog.java | 362 - java/gjt/GJT.DSP | 456 - java/gjt/GJT.DSW | 29 - java/gjt/GJTDialog.java | 51 - java/gjt/IconCardPanel.java | 55 - java/gjt/ImageButton.java | 209 - java/gjt/ImageButtonController.java | 79 - java/gjt/ImageButtonEvent.java | 103 - java/gjt/ImageButtonPanel.java | 106 - java/gjt/ImageButtonPanelController.java | 47 - java/gjt/ImageCanvas.java | 31 - java/gjt/ImageScroller.java | 62 - java/gjt/LabelCanvas.java | 93 - java/gjt/Makefile | 67 - java/gjt/MessageDialog.java | 77 - java/gjt/MouseController.java | 32 - java/gjt/Orientation.java | 87 - java/gjt/ProgressDialog.java | 67 - java/gjt/QuestionDialog.java | 130 - java/gjt/RadioImageButtonPanelController.java | 45 - java/gjt/RowLayout.java | 153 - java/gjt/Scroller.java | 154 - java/gjt/ScrollerLayout.java | 160 - java/gjt/SelectionEvent.java | 82 - java/gjt/Separator.java | 90 - java/gjt/SpringyImageButtonController.java | 54 - java/gjt/StateButton.java | 45 - java/gjt/StateButtonController.java | 27 - java/gjt/StickyImageButtonController.java | 87 - java/gjt/Stopwatch.java | 94 - java/gjt/StopwatchClient.java | 14 - java/gjt/ThreeDBorder.java | 53 - java/gjt/ThreeDBorderStyle.java | 24 - java/gjt/ThreeDRectangle.java | 105 - java/gjt/Toolbar.java | 58 - java/gjt/Util.java | 69 - java/gjt/YesNoDialog.java | 80 - java/gjt/animation/CollisionArena.java | 39 - java/gjt/animation/CollisionDetector.java | 24 - java/gjt/animation/EdgeCollisionDetector.java | 53 - java/gjt/animation/Playfield.java | 140 - java/gjt/animation/Sequence.java | 119 - java/gjt/animation/Sprite.java | 191 - java/gjt/animation/SpriteCollisionDetector.java | 45 - java/gjt/image/BleachImageFilter.java | 53 - java/gjt/image/DissolveFilter.java | 48 - java/gjt/image/ImageDissolver.java | 132 - java/gjt/rubberband/Rubberband.java | 100 - java/gjt/rubberband/RubberbandEllipse.java | 32 - java/gjt/rubberband/RubberbandLine.java | 25 - java/gjt/rubberband/RubberbandPanel.java | 38 - java/gjt/rubberband/RubberbandRectangle.java | 29 - java/gjt/test/AttributesPanel.java | 78 - java/gjt/test/BargaugeTest.java | 130 - java/gjt/test/BleachImageFilterTest.java | 86 - java/gjt/test/BorderTest.java | 202 - java/gjt/test/BoxTest.java | 100 - java/gjt/test/BumpAnimationTest.java | 107 - java/gjt/test/ChoiceCardPanelTest.java | 34 - java/gjt/test/ColumnLayoutTest.java | 126 - java/gjt/test/ComponentScrollerTest.java | 205 - java/gjt/test/ConnectionsPanel.java | 9 - java/gjt/test/DialogTest.java | 140 - java/gjt/test/DrawnRectangleTest.java | 119 - java/gjt/test/FontDialogTest.java | 95 - java/gjt/test/IconCardPanelTest.java | 47 - java/gjt/test/ImageButtonTest.java | 130 - java/gjt/test/ImageDissolverTest.java | 69 - java/gjt/test/ImageScrollerTest.java | 55 - java/gjt/test/LabelCanvasTest.java | 75 - java/gjt/test/MessageDialogTest.java | 50 - java/gjt/test/OccupationOracle.java | 334 - java/gjt/test/RowLayoutTest.java | 124 - java/gjt/test/RubberbandTest.java | 112 - java/gjt/test/SeparatorTest.java | 64 - java/gjt/test/SimpleAnimationTest.java | 87 - java/gjt/test/SimpleBargaugeTest.java | 61 - java/gjt/test/StateButtonTest.java | 41 - java/gjt/test/TenPixelBorder.java | 44 - java/gjt/test/TitledPanel.java | 22 - java/gjt/test/ToolbarTest.java | 111 - java/gjt/test/TwoDrinkersAnimationTest.java | 130 - java/gjt/test/UnitTest.java | 46 - java/java_cup/java_cup.dsp | 224 - java/java_cup/java_cup.dsw | 29 - java/netsvcs/Logger/DefaultLMR.java | 36 - java/netsvcs/Logger/LogMessageReceiver.java | 33 - java/netsvcs/Logger/LogRecord.java | 185 - java/netsvcs/Logger/Makefile | 23 - java/netsvcs/Logger/ServerLoggingAcceptor.java | 171 - java/netsvcs/Logger/ServerLoggingHandler.java | 123 - java/netsvcs/Time/Clerk.java | 23 - java/netsvcs/Time/Makefile | 27 - java/netsvcs/Time/Server.java | 23 - java/netsvcs/Time/TSClerkHandler.java | 296 - java/netsvcs/Time/TSClerkProcessor.java | 267 - java/netsvcs/Time/TSRequestAcceptor.java | 142 - java/netsvcs/Time/TSRequestHandler.java | 106 - java/netsvcs/Time/TSServerAcceptor.java | 100 - java/netsvcs/Time/TSServerHandler.java | 99 - java/src/ACE.java | 164 - java/src/AcceptStrategy.java | 89 - java/src/Acceptor.java | 213 - java/src/ActivateStrategy.java | 43 - java/src/AddServiceObjectNode.java | 58 - java/src/Blob.java | 94 - java/src/BlobHandler.java | 35 - java/src/BlobReader.java | 104 - java/src/BlobWriter.java | 220 - java/src/ClassNameGenerator.java | 181 - java/src/ClassReader.java | 146 - java/src/Condition.java | 124 - java/src/Connector.java | 149 - java/src/CreationStrategy.java | 61 - java/src/EventHandler.java | 52 - java/src/GetOpt.java | 150 - java/src/HTTPHelper.java | 84 - java/src/INETAddr.java | 99 - java/src/IOCntlCmds.java | 34 - java/src/IOCntlMsg.java | 128 - java/src/JACE.DSP | 304 - java/src/JACE.DSW | 29 - java/src/MakeLexer | 4 - java/src/MakeParser | 2 - java/src/Makefile | 157 - java/src/MessageBlock.java | 453 - java/src/MessageQueue.java | 626 - java/src/MessageType.java | 110 - java/src/Module.java | 253 - java/src/Mutex.java | 92 - java/src/OS.java | 72 - java/src/ParseNode.java | 73 - java/src/ProfileTimer.java | 48 - java/src/RWMutex.java | 174 - java/src/RemoveNode.java | 37 - java/src/ResumeNode.java | 36 - java/src/SOCKAcceptor.java | 114 - java/src/SOCKConnector.java | 75 - java/src/SOCKStream.java | 209 - java/src/Semaphore.java | 103 - java/src/ServiceConfig.java | 420 - java/src/ServiceLoader.java | 241 - java/src/ServiceObject.java | 80 - java/src/ServiceObjectRecord.java | 33 - java/src/ServiceRecord.java | 253 - java/src/ServiceRepository.java | 189 - java/src/StrategyAcceptor.java | 148 - java/src/Stream.java | 438 - java/src/StreamHead.java | 120 - java/src/StreamTail.java | 111 - java/src/SuspendNode.java | 36 - java/src/SvcHandler.java | 85 - java/src/Svc_Conf.y | 208 - java/src/Task.java | 415 - java/src/TaskFlags.java | 44 - java/src/ThreadManager.java | 109 - java/src/ThruTask.java | 48 - java/src/TimeValue.java | 256 - java/src/TimedWait.java | 134 - java/src/TimeoutException.java | 34 - java/src/TimerQueue.java | 433 - java/src/Token.java | 298 - java/src/Yylex.java | 1315 - java/src/Yylex.lex | 78 - java/src/parser.java | 621 - java/src/sym.java | 36 - java/tests/ASX/BufferStreamTest.dsp | 73 - java/tests/ASX/BufferStreamTest.java | 184 - java/tests/ASX/Makefile | 26 - java/tests/ASX/MessageQueueTest.dsp | 73 - java/tests/ASX/MessageQueueTest.java | 50 - java/tests/ASX/PriorityBufferTest.dsp | 73 - java/tests/ASX/PriorityBufferTest.java | 116 - java/tests/ASX/TaskTest.dsp | 72 - java/tests/ASX/TaskTest.java | 86 - java/tests/ASX/ThreadPoolTest.dsp | 73 - java/tests/ASX/ThreadPoolTest.java | 185 - java/tests/Concurrency/Condition/Condition.dsp | 88 - java/tests/Concurrency/Condition/Consumer.java | 73 - .../Concurrency/Condition/JoinableThreadGroup.java | 24 - java/tests/Concurrency/Condition/Makefile | 25 - java/tests/Concurrency/Condition/Producer.java | 67 - java/tests/Concurrency/Condition/QueueTest.java | 64 - .../Concurrency/Condition/SimpleMessageQueue.java | 86 - java/tests/Concurrency/Makefile | 23 - java/tests/Concurrency/MutexTest.dsp | 72 - java/tests/Concurrency/MutexTest.java | 154 - java/tests/Concurrency/RWMutexTest.dsp | 73 - java/tests/Concurrency/RWMutexTest.java | 93 - java/tests/Concurrency/SemaphoreTest.dsp | 73 - java/tests/Concurrency/SemaphoreTest.java | 102 - java/tests/Concurrency/TokenTest.dsp | 72 - java/tests/Concurrency/TokenTest.java | 73 - java/tests/Connection/AcceptorTest.dsp | 73 - java/tests/Connection/AcceptorTest.java | 79 - java/tests/Connection/ClientHandler.dsp | 73 - java/tests/Connection/ClientHandler.java | 76 - java/tests/Connection/ConnectorTest.dsp | 73 - java/tests/Connection/ConnectorTest.java | 76 - java/tests/Connection/Makefile | 24 - java/tests/Connection/ServerHandler.dsp | 73 - java/tests/Connection/ServerHandler.java | 68 - java/tests/Misc/Makefile | 21 - java/tests/Misc/ParseArgsTest.dsp | 73 - java/tests/Misc/ParseArgsTest.java | 45 - java/tests/Reactor/Makefile | 22 - java/tests/Reactor/TimeValueTest.dsp | 73 - java/tests/Reactor/TimeValueTest.java | 50 - java/tests/Reactor/TimerQueueTest.dsp | 73 - java/tests/Reactor/TimerQueueTest.java | 80 - java/tests/SOCK_SAP/Makefile | 22 - java/tests/SOCK_SAP/SOCKAcceptorTest.dsp | 73 - java/tests/SOCK_SAP/SOCKAcceptorTest.java | 108 - java/tests/SOCK_SAP/SOCKConnectorTest.dsp | 73 - java/tests/SOCK_SAP/SOCKConnectorTest.java | 92 - java/tests/ServiceConfigurator/Makefile | 25 - .../ServiceConfigurator/ServiceConfigurator.dsp | 81 - java/tests/ServiceConfigurator/TestService.java | 52 - java/tests/ServiceConfigurator/reloadTest.java | 64 - java/tests/ServiceConfigurator/suspendTest.java | 80 - java/tests/ServiceConfigurator/suspendTest1.conf | 1 - java/tests/ServiceConfigurator/suspendTest2.conf | 1 - java/tests/ServiceConfigurator/suspendTest3.conf | 1 - java/tests/ServiceConfigurator/svc.conf | 1 - java/tests/Tests.dsw | 257 - java/tests/netsvcs/Logger/LoggerTest.java | 122 - java/tests/netsvcs/Logger/Makefile | 19 - java/tests/netsvcs/Naming/ClientTest.java | 115 - java/tests/netsvcs/Naming/Makefile | 21 - netsvcs/ACE-netsvcs.html | 898 - netsvcs/Makefile | 27 - netsvcs/README | 20 - netsvcs/clients/Logger/Logger.dsw | 41 - netsvcs/clients/Logger/Logger.mak | 269 - netsvcs/clients/Logger/Logger.mdp | Bin 41472 -> 0 bytes netsvcs/clients/Logger/Makefile | 84 - netsvcs/clients/Logger/README | 18 - netsvcs/clients/Logger/direct_logging.cpp | 39 - netsvcs/clients/Logger/direct_logging.dsp | 91 - netsvcs/clients/Logger/indirect_logging.cpp | 35 - netsvcs/clients/Logger/indirect_logging.dsp | 91 - netsvcs/clients/Makefile | 24 - netsvcs/clients/Naming/Client/Client.dsw | 44 - netsvcs/clients/Naming/Client/Client_Test.cpp | 570 - netsvcs/clients/Naming/Client/Client_Test.dsp | 96 - netsvcs/clients/Naming/Client/Client_Test.h | 9 - netsvcs/clients/Naming/Client/Makefile | 204 - netsvcs/clients/Naming/Client/main.cpp | 42 - netsvcs/clients/Naming/Client/main.dsp | 89 - netsvcs/clients/Naming/Client/svc.conf | 6 - netsvcs/clients/Naming/Client/svc2.conf | 9 - .../clients/Naming/Dump_Restore/Dump_Restore.cpp | 380 - netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h | 74 - netsvcs/clients/Naming/Dump_Restore/Makefile | 213 - netsvcs/clients/Naming/Dump_Restore/README | 67 - netsvcs/clients/Naming/Dump_Restore/createfile.cpp | 31 - netsvcs/clients/Naming/Dump_Restore/main.cpp | 22 - netsvcs/clients/Naming/Dump_Restore/nametest.cpp | 112 - netsvcs/clients/Naming/Dump_Restore/nametest.h | 15 - netsvcs/clients/Naming/Makefile | 25 - netsvcs/clients/Naming/README | 124 - netsvcs/clients/README | 8 - netsvcs/clients/Tokens/Makefile | 26 - netsvcs/clients/Tokens/README | 34 - netsvcs/clients/Tokens/collection/Makefile | 129 - netsvcs/clients/Tokens/collection/README | 25 - netsvcs/clients/Tokens/collection/collection.cpp | 210 - netsvcs/clients/Tokens/collection/rw_locks.cpp | 173 - netsvcs/clients/Tokens/deadlock/Makefile | 106 - netsvcs/clients/Tokens/deadlock/README | 98 - .../Tokens/deadlock/deadlock_detection_test.cpp | 340 - netsvcs/clients/Tokens/invariant/Makefile | 87 - netsvcs/clients/Tokens/invariant/README | 27 - netsvcs/clients/Tokens/invariant/invariant.cpp | 196 - netsvcs/clients/Tokens/manual/Makefile | 42 - netsvcs/clients/Tokens/manual/README | 67 - netsvcs/clients/Tokens/manual/manual.cpp | 366 - netsvcs/clients/Tokens/mutex/Makefile | 102 - netsvcs/clients/Tokens/mutex/README | 23 - netsvcs/clients/Tokens/mutex/test_mutex.cpp | 142 - netsvcs/clients/Tokens/rw_lock/Makefile | 104 - netsvcs/clients/Tokens/rw_lock/README | 40 - netsvcs/clients/Tokens/rw_lock/rw_locks.cpp | 252 - netsvcs/lib/Base_Optimizer.cpp | 29 - netsvcs/lib/Base_Optimizer.h | 44 - netsvcs/lib/Client_Logging_Handler.cpp | 416 - netsvcs/lib/Client_Logging_Handler.h | 94 - netsvcs/lib/Client_Logging_Handler.i | 4 - netsvcs/lib/Log_Message_Receiver.cpp | 122 - netsvcs/lib/Log_Message_Receiver.h | 193 - netsvcs/lib/Logging_Strategy.cpp | 98 - netsvcs/lib/Logging_Strategy.h | 48 - netsvcs/lib/Makefile | 860 - netsvcs/lib/Name_Handler.cpp | 578 - netsvcs/lib/Name_Handler.h | 186 - netsvcs/lib/README | 267 - netsvcs/lib/Server_Logging_Handler.cpp | 231 - netsvcs/lib/Server_Logging_Handler.h | 90 - netsvcs/lib/Server_Logging_Handler.i | 4 - netsvcs/lib/Server_Logging_Handler_T.cpp | 324 - netsvcs/lib/Server_Logging_Handler_T.h | 195 - netsvcs/lib/TS_Clerk_Handler.cpp | 620 - netsvcs/lib/TS_Clerk_Handler.h | 229 - netsvcs/lib/TS_Server_Handler.cpp | 258 - netsvcs/lib/TS_Server_Handler.h | 103 - netsvcs/lib/Token_Handler.cpp | 657 - netsvcs/lib/Token_Handler.h | 255 - netsvcs/lib/netsvcs.dsp | 306 - netsvcs/lib/netsvcs.dsw | 29 - netsvcs/lib/netsvcs.mak | 1200 - netsvcs/lib/netsvcs.mdp | Bin 53760 -> 0 bytes netsvcs/servers/Makefile | 182 - netsvcs/servers/README | 35 - netsvcs/servers/cli.conf | 11 - netsvcs/servers/main.cpp | 102 - netsvcs/servers/ntsvc.conf | 12 - netsvcs/servers/servers.dsp | 175 - netsvcs/servers/servers.dsw | 29 - netsvcs/servers/servers.mak | 473 - netsvcs/servers/servers.mdp | Bin 49664 -> 0 bytes netsvcs/servers/svc.conf | 17 - performance-tests/Makefile | 30 - performance-tests/Misc/Makefile | 383 - performance-tests/Misc/basic_func.cpp | 35 - performance-tests/Misc/basic_func.h | 50 - performance-tests/Misc/basic_perf.cpp | 637 - performance-tests/Misc/basic_perf.dsp | 111 - performance-tests/Misc/childbirth_time.cpp | 298 - performance-tests/Misc/childbirth_time.dsp | 103 - performance-tests/Misc/context_switch_time.cpp | 747 - performance-tests/Misc/context_switch_time.dsp | 104 - performance-tests/Misc/misc.dsw | 89 - performance-tests/Misc/misc.mak | 1570 - performance-tests/Misc/misc.mdp | Bin 70144 -> 0 bytes performance-tests/Misc/preempt.cpp | 357 - performance-tests/Misc/test_mutex.cpp | 230 - performance-tests/Misc/test_mutex.dsp | 103 - performance-tests/Misc/test_naming.cpp | 173 - performance-tests/Misc/test_naming.dsp | 103 - performance-tests/Misc/test_singleton.cpp | 186 - performance-tests/Misc/test_singleton.dsp | 103 - performance-tests/README | 14 - performance-tests/Synch-Benchmarks/Benchmark.cpp | 99 - performance-tests/Synch-Benchmarks/Benchmark.h | 73 - performance-tests/Synch-Benchmarks/Makefile | 989 - performance-tests/Synch-Benchmarks/Makefile.driver | 41 - .../Synch-Benchmarks/Makefile.synch_tests | 948 - performance-tests/Synch-Benchmarks/Options.cpp | 407 - performance-tests/Synch-Benchmarks/Options.h | 126 - performance-tests/Synch-Benchmarks/Options.i | 264 - performance-tests/Synch-Benchmarks/README | 29 - performance-tests/Synch-Benchmarks/Synch_Tests.dsp | 172 - performance-tests/Synch-Benchmarks/Synch_Tests.dsw | 44 - performance-tests/Synch-Benchmarks/Synch_Tests.mak | 2687 -- performance-tests/Synch-Benchmarks/Synch_Tests.mdp | Bin 64000 -> 0 bytes performance-tests/Synch-Benchmarks/benchmarks | 19 - performance-tests/Synch-Benchmarks/condb_test.cpp | 68 - performance-tests/Synch-Benchmarks/conds_test.cpp | 71 - performance-tests/Synch-Benchmarks/context.c | 72 - performance-tests/Synch-Benchmarks/context.csh | 16 - .../Synch-Benchmarks/context_test.cpp | 37 - performance-tests/Synch-Benchmarks/memory_test.cpp | 39 - performance-tests/Synch-Benchmarks/mutex_test.cpp | 44 - performance-tests/Synch-Benchmarks/orig-results | 73 - .../Synch-Benchmarks/pipe_proc_test.cpp | 82 - .../Synch-Benchmarks/pipe_thr_test.cpp | 75 - .../Synch-Benchmarks/recursive_lock_test.cpp | 42 - performance-tests/Synch-Benchmarks/rwrd_test.cpp | 43 - performance-tests/Synch-Benchmarks/rwwr_test.cpp | 43 - performance-tests/Synch-Benchmarks/sema_test.cpp | 43 - performance-tests/Synch-Benchmarks/svc.conf | 15 - .../Synch-Benchmarks/synch_driver.cpp | 154 - .../Synch-Benchmarks/synch_driver.dsp | 115 - .../Synch-Benchmarks/sysvsema_test.cpp | 44 - performance-tests/TTCP/ACE-C++/How_to_run_tests | 29 - performance-tests/TTCP/ACE-C++/Makefile | 52 - performance-tests/TTCP/ACE-C++/run_test | 35 - .../TTCP/ACE-C++/wrapper-new-ttcp.cpp | 947 - performance-tests/TTCP/C/How_to_run_tests | 30 - performance-tests/TTCP/C/Makefile | 52 - performance-tests/TTCP/C/README | 38 - performance-tests/TTCP/C/new-ttcp.cpp | 981 - performance-tests/TTCP/C/run_test | 35 - performance-tests/TTCP/Makefile | 27 - performance-tests/TTCP/NT/SLEEP.EXE | Bin 14304 -> 0 bytes performance-tests/TTCP/NT/TTCP.EXE | Bin 42496 -> 0 bytes performance-tests/TTCP/NT/TTCPR.BAT | 5 - performance-tests/TTCP/NT/TTCPX.BAT | 17 - performance-tests/TTCP/NT/how-to-use.txt | 1 - performance-tests/TTCP/ORBeline/How_to_run_tests | 57 - performance-tests/TTCP/ORBeline/Makefile | 33 - performance-tests/TTCP/ORBeline/run_test | 30 - performance-tests/TTCP/ORBeline/ser | 4 - performance-tests/TTCP/ORBeline/stdmk | 34 - performance-tests/TTCP/ORBeline/tango_clt | 6 - performance-tests/TTCP/ORBeline/ttcp.idl | 23 - performance-tests/TTCP/ORBeline/ttcp_c.cc | 302 - performance-tests/TTCP/ORBeline/ttcp_c.hh | 181 - performance-tests/TTCP/ORBeline/ttcp_i.cpp | 1028 - performance-tests/TTCP/ORBeline/ttcp_i.h | 45 - performance-tests/TTCP/ORBeline/ttcp_s.cc | 168 - performance-tests/TTCP/ORBeline/ttcp_s.hh | 89 - performance-tests/TTCP/Orbix/How_to_run_tests | 59 - performance-tests/TTCP/Orbix/Makefile | 30 - performance-tests/TTCP/Orbix/README | 13 - performance-tests/TTCP/Orbix/orbix_defaults.mk | 85 - performance-tests/TTCP/Orbix/run_test | 30 - performance-tests/TTCP/Orbix/ttcp.hh | 376 - performance-tests/TTCP/Orbix/ttcp.idl | 22 - performance-tests/TTCP/Orbix/ttcpC.cpp | 343 - performance-tests/TTCP/Orbix/ttcpS.cpp | 159 - performance-tests/TTCP/Orbix/ttcp_i.cpp | 1013 - performance-tests/TTCP/Orbix/ttcp_i.h | 46 - psosim/Makefile | 76 - psosim/drv_conf.c | 79 - rpc++/.dependencies | 131 - rpc++/COPYING | 481 - rpc++/Makefile | 55 - rpc++/Proj.make | 68 - rpc++/README | 18 - rpc++/README.ORIG | 9 - rpc++/StdHdrs/Makefile | 13 - rpc++/StdHdrs/README | 3 - rpc++/StdHdrs/rpc/auth.h | 171 - rpc++/StdHdrs/rpc/c_types.h | 79 - rpc++/StdHdrs/rpc/clnt.h | 347 - rpc++/StdHdrs/rpc/pmap_clnt.h | 82 - rpc++/StdHdrs/rpc/svc.h | 286 - rpc++/StdHdrs/rpc/xdr.h | 275 - rpc++/callback.cc | 38 - rpc++/example/Makefile | 40 - rpc++/example/calcsvc.cc | 30 - rpc++/example/calcsvc.h | 34 - rpc++/example/client.cc | 64 - rpc++/example/server.cc | 112 - rpc++/gcc-2.2.fix | 252 - rpc++/request.cc | 165 - rpc++/rpc++.cp | 13 - rpc++/rpc++.fn | 63 - rpc++/rpc++.ky | 0 rpc++/rpc++.pg | 0 rpc++/rpc++.texi | 1519 - rpc++/rpc++.toc | 23 - rpc++/rpc++.tp | 7 - rpc++/rpc++.vr | 13 - rpc++/rpc++/callback.h | 533 - rpc++/rpc++/request.h | 121 - rpc++/rpc++/service.h | 132 - rpc++/rpc++/stub.h | 145 - rpc++/rpc++/xdr++.h | 98 - rpc++/service.cc | 316 - rpc++/stub.cc | 207 - rpc++/version.h | 4 - rpc++/xdr++.cc | 75 - tests/Atomic_Op_Test.cpp | 74 - tests/Atomic_Op_Test.dsp | 159 - tests/Barrier_Test.cpp | 99 - tests/Barrier_Test.dsp | 182 - tests/Basic_Types_Test.cpp | 114 - tests/Basic_Types_Test.dsp | 59 - tests/Buffer_Stream_Test.cpp | 224 - tests/Buffer_Stream_Test.dsp | 230 - tests/CPP_Test.cpp | 261 - tests/Conn_Test.cpp | 625 - tests/Conn_Test.dsp | 262 - tests/Conn_Test.h | 33 - tests/Enum_Interfaces_Test.cpp | 64 - tests/Enum_Interfaces_Test.dsp | 154 - tests/Env_Value_Test.cpp | 106 - tests/Env_Value_Test.dsp | 58 - tests/Future_Test.cpp | 516 - tests/Future_Test.dsp | 229 - tests/Handle_Set_Test.cpp | 189 - tests/Handle_Set_Test.dsp | 187 - tests/Hash_Map_Manager_Test.cpp | 229 - tests/Hash_Map_Manager_Test.dsp | 196 - tests/Hash_Map_Manager_Test.h | 59 - tests/IOStream_Test.cpp | 462 - tests/IOStream_Test.dsp | 254 - tests/MM_Shared_Memory_Test.cpp | 118 - tests/MM_Shared_Memory_Test.dsp | 186 - tests/MT_SOCK_Test.cpp | 286 - tests/MT_SOCK_Test.dsp | 185 - tests/Makefile | 2832 -- tests/Map_Manager_Test.cpp | 393 - tests/Map_Manager_Test.dsp | 206 - tests/Mem_Map_Test.cpp | 181 - tests/Mem_Map_Test.dsp | 151 - tests/Message_Block_Test.cpp | 330 - tests/Message_Block_Test.dsp | 231 - tests/Message_Queue_Notifications_Test.cpp | 147 - tests/Message_Queue_Notifications_Test.dsp | 226 - tests/Message_Queue_Test.cpp | 105 - tests/Message_Queue_Test.dsp | 215 - tests/Naming_Test.cpp | 253 - tests/Naming_Test.dsp | 220 - tests/Notify_Performance_Test.cpp | 236 - tests/Notify_Performance_Test.dsp | 217 - tests/Pipe_Test.cpp | 121 - tests/Pipe_Test.dsp | 154 - tests/Priority_Buffer_Test.cpp | 151 - tests/Priority_Buffer_Test.dsp | 215 - tests/Priority_Reactor_Test.cpp | 386 - tests/Priority_Reactor_Test.dsp | 254 - tests/Priority_Reactor_Test.h | 71 - tests/Priority_Task_Test.cpp | 173 - tests/Priority_Task_Test.dsp | 228 - tests/Process_Mutex_Test.cpp | 133 - tests/Process_Mutex_Test.dsp | 168 - tests/Process_Strategy_Test.cpp | 606 - tests/Process_Strategy_Test.dsp | 257 - tests/Process_Strategy_Test.h | 133 - tests/README | 72 - tests/Reactor_Exceptions_Test.cpp | 160 - tests/Reactor_Exceptions_Test.dsp | 202 - tests/Reactor_Notify_Test.cpp | 208 - tests/Reactor_Notify_Test.dsp | 228 - tests/Reactor_Performance_Test.cpp | 386 - tests/Reactor_Performance_Test.dsp | 255 - tests/Reactor_Performance_Test.h | 57 - tests/Reactor_Timer_Test.cpp | 102 - tests/Reactor_Timer_Test.dsp | 190 - tests/Reactors_Test.cpp | 242 - tests/Reactors_Test.dsp | 225 - tests/Reader_Writer_Test.cpp | 229 - tests/Reader_Writer_Test.dsp | 185 - tests/Recursive_Mutex_Test.cpp | 79 - tests/Recursive_Mutex_Test.dsp | 185 - tests/SOCK_Connector_Test.cpp | 143 - tests/SOCK_Connector_Test.dsp | 78 - tests/SOCK_Test.cpp | 249 - tests/SOCK_Test.dsp | 200 - tests/SPIPE_Test.cpp | 132 - tests/SPIPE_Test.dsp | 195 - tests/SString_Test.cpp | 82 - tests/SString_Test.dsp | 149 - tests/SV_Shared_Memory_Test.cpp | 140 - tests/SV_Shared_Memory_Test.dsp | 181 - tests/Semaphore_Test.cpp | 181 - tests/Semaphore_Test.dsp | 180 - tests/Service_Config_Test.cpp | 139 - tests/Service_Config_Test.dsp | 197 - tests/Shared_Memory_SV_Test.cpp | 83 - tests/Sigset_Ops_Test.cpp | 128 - tests/Sigset_Ops_Test.dsp | 149 - tests/Simple_Message_Block_Test.cpp | 182 - tests/Simple_Message_Block_Test.dsp | 183 - tests/TSS_Test.cpp | 224 - tests/TSS_Test.dsp | 186 - tests/TSS_Test_Errno.h | 60 - tests/Task_Test.cpp | 102 - tests/Task_Test.dsp | 224 - tests/Thread_Manager_Test.cpp | 146 - tests/Thread_Manager_Test.dsp | 183 - tests/Thread_Manager_Test.h | 45 - tests/Thread_Mutex_Test.cpp | 79 - tests/Thread_Pool_Test.cpp | 241 - tests/Thread_Pool_Test.dsp | 225 - tests/Time_Service_Test.cpp | 82 - tests/Time_Service_Test.dsp | 151 - tests/Time_Value_Test.cpp | 168 - tests/Time_Value_Test.dsp | 149 - tests/Timer_Queue_Test.cpp | 488 - tests/Timer_Queue_Test.dsp | 201 - tests/Tokens_Test.cpp | 238 - tests/Tokens_Test.dsp | 231 - tests/UNIXclerk.conf | 3 - tests/UNIXserver.conf | 10 - tests/UNIXtokens.conf | 5 - tests/UPIPE_SAP_Test.cpp | 189 - tests/UPIPE_SAP_Test.dsp | 247 - tests/Win32clerk.conf | 3 - tests/Win32server.conf | 10 - tests/Win32tokens.conf | 4 - tests/run_tests.bat | 114 - tests/run_tests.check | 37 - tests/run_tests.ksh | 6 - tests/run_tests.psosim | 163 - tests/run_tests.sh | 101 - tests/run_tests.vxworks | 177 - tests/test_config.h | 272 - tests/tests.dsw | 641 - tests/tests.mak | 8076 ----- tests/tests.mdp | Bin 2908 -> 0 bytes tests/version_tests/Barrier_Test.dsp | 277 - tests/version_tests/Basic_Types_Test.dsp | 262 - tests/version_tests/Buffer_Stream_Test.dsp | 278 - tests/version_tests/Conn_Test.dsp | 281 - tests/version_tests/Enum_Interfaces_Test.dsp | 278 - tests/version_tests/Env_Value_Test.dsp | 278 - tests/version_tests/Future_Test.dsp | 286 - tests/version_tests/Handle_Set_Test.dsp | 277 - tests/version_tests/Hash_Map_Manager_Test.dsp | 282 - tests/version_tests/IOStream_Test.dsp | 277 - tests/version_tests/MM_Shared_Memory_Test.dsp | 278 - tests/version_tests/MT_SOCK_Test.dsp | 277 - tests/version_tests/Map_Manager_Test.dsp | 278 - tests/version_tests/Mem_Map_Test.dsp | 277 - tests/version_tests/Message_Block_Test.dsp | 278 - .../Message_Queue_Notification_Test.dsp | 282 - tests/version_tests/Message_Queue_Test.dsp | 278 - tests/version_tests/Naming_Test.dsp | 277 - tests/version_tests/Notify_Performance_Test.dsp | 278 - tests/version_tests/Pipe_Test.dsp | 277 - tests/version_tests/Priority_Buffer_Test.dsp | 278 - tests/version_tests/Priority_Reactor_Test.dsp | 278 - tests/version_tests/Priority_Task_Test.dsp | 278 - tests/version_tests/Process_Mutex_Test.dsp | 278 - tests/version_tests/Process_Strategy_Test.dsp | 278 - tests/version_tests/Reactor_Exception_Test.dsp | 278 - tests/version_tests/Reactor_Notify_Test.dsp | 278 - tests/version_tests/Reactor_Performance_Test.dsp | 282 - tests/version_tests/Reactor_Timer_Test.dsp | 278 - tests/version_tests/Reactors_Test.dsp | 277 - tests/version_tests/Reader_Writer_Test.dsp | 278 - tests/version_tests/Recursive_Mutex_Test.dsp | 278 - tests/version_tests/SOCK_Connector_Test.dsp | 278 - tests/version_tests/SOCK_Test.dsp | 277 - tests/version_tests/SPIPE_Test.dsp | 277 - tests/version_tests/SString_Test.dsp | 277 - tests/version_tests/SV_Shared_Memory_Test.dsp | 278 - tests/version_tests/Semaphore_Test.dsp | 277 - tests/version_tests/Service_Config_Test.dsp | 278 - tests/version_tests/Sigset_Op_Test.dsp | 278 - tests/version_tests/Simple_Message_Block_Test.dsp | 278 - tests/version_tests/TSS_Test.dsp | 281 - tests/version_tests/Task_Test.dsp | 277 - tests/version_tests/Thread_Manager_Test.dsp | 282 - tests/version_tests/Thread_Mutex_Test.dsp | 278 - tests/version_tests/Thread_Pool_Test.dsp | 278 - tests/version_tests/Time_Service_Test.dsp | 278 - tests/version_tests/Time_Value_Test.dsp | 277 - tests/version_tests/Timer_Queue_Test.dsp | 278 - tests/version_tests/Tokens_Test.dsp | 277 - tests/version_tests/UPIPE_SAP_Test.dsp | 277 - tests/version_tests/run_all_tests.bat | 24 - tests/version_tests/version_tests.dsp | 277 - tests/version_tests/version_tests.dsw | 641 - tests/version_tests/version_tests.mak | 33708 ------------------- tests/version_tests/version_tests.mdp | Bin 164864 -> 0 bytes 2519 files changed, 584497 deletions(-) delete mode 100644 ACE-INSTALL.html delete mode 100644 ACE-categories delete mode 100644 ACE-install.sh delete mode 100644 ACE.DSW delete mode 100644 ASNMP/COPYRIGHT delete mode 100644 ASNMP/ChangeLog delete mode 100644 ASNMP/Makefile delete mode 100644 ASNMP/README delete mode 100644 ASNMP/TO-DO delete mode 100644 ASNMP/agent/Makefile delete mode 100644 ASNMP/agent/agent_impl.cpp delete mode 100644 ASNMP/agent/agent_impl.h delete mode 100644 ASNMP/agent/main.cpp delete mode 100644 ASNMP/agent/snmp_agent.cpp delete mode 100644 ASNMP/agent/snmp_agent.h delete mode 100644 ASNMP/asnmp-overview.html delete mode 100644 ASNMP/asnmp/ChangeLog delete mode 100644 ASNMP/asnmp/Makefile delete mode 100644 ASNMP/asnmp/TODO delete mode 100644 ASNMP/asnmp/address.cpp delete mode 100644 ASNMP/asnmp/address.h delete mode 100644 ASNMP/asnmp/asn1.cpp delete mode 100644 ASNMP/asnmp/asn1.h delete mode 100644 ASNMP/asnmp/counter.cpp delete mode 100644 ASNMP/asnmp/counter.h delete mode 100644 ASNMP/asnmp/ctr64.cpp delete mode 100644 ASNMP/asnmp/ctr64.h delete mode 100644 ASNMP/asnmp/enttraps.h delete mode 100644 ASNMP/asnmp/gauge.cpp delete mode 100644 ASNMP/asnmp/gauge.h delete mode 100644 ASNMP/asnmp/integer.cpp delete mode 100644 ASNMP/asnmp/integer.h delete mode 100644 ASNMP/asnmp/octet.cpp delete mode 100644 ASNMP/asnmp/octet.h delete mode 100644 ASNMP/asnmp/oid.cpp delete mode 100644 ASNMP/asnmp/oid.h delete mode 100644 ASNMP/asnmp/oid_def.h delete mode 100644 ASNMP/asnmp/pdu.cpp delete mode 100644 ASNMP/asnmp/pdu.h delete mode 100644 ASNMP/asnmp/sagent.cpp delete mode 100644 ASNMP/asnmp/sagent.h delete mode 100644 ASNMP/asnmp/smi.h delete mode 100644 ASNMP/asnmp/smival.h delete mode 100644 ASNMP/asnmp/snmp.cpp delete mode 100644 ASNMP/asnmp/snmp.h delete mode 100644 ASNMP/asnmp/snmperrs.h delete mode 100644 ASNMP/asnmp/target.cpp delete mode 100644 ASNMP/asnmp/target.h delete mode 100644 ASNMP/asnmp/timetick.cpp delete mode 100644 ASNMP/asnmp/timetick.h delete mode 100644 ASNMP/asnmp/transaction.cpp delete mode 100644 ASNMP/asnmp/transaction.h delete mode 100644 ASNMP/asnmp/vb.cpp delete mode 100644 ASNMP/asnmp/vb.h delete mode 100644 ASNMP/asnmp/wpdu.cpp delete mode 100644 ASNMP/asnmp/wpdu.h delete mode 100644 ASNMP/examples/Makefile delete mode 100644 ASNMP/examples/get/Makefile delete mode 100644 ASNMP/examples/get/get.cpp delete mode 100644 ASNMP/examples/next/Makefile delete mode 100644 ASNMP/examples/next/next.cpp delete mode 100644 ASNMP/examples/set/Makefile delete mode 100644 ASNMP/examples/set/set.cpp delete mode 100644 ASNMP/examples/trap/Makefile delete mode 100644 ASNMP/examples/trap/trap.cpp delete mode 100644 ASNMP/examples/walk/Makefile delete mode 100644 ASNMP/examples/walk/walk.cpp delete mode 100644 ASNMP/mibs/RFC1213-MIB.my delete mode 100644 ASNMP/tests/Address_Test.cpp delete mode 100644 ASNMP/tests/Counter64_Test.cpp delete mode 100644 ASNMP/tests/Counter_Test.cpp delete mode 100644 ASNMP/tests/Gauge_Test.cpp delete mode 100644 ASNMP/tests/Integer_Test.cpp delete mode 100644 ASNMP/tests/Makefile delete mode 100644 ASNMP/tests/Octet_Test.cpp delete mode 100644 ASNMP/tests/Oid_Test.cpp delete mode 100644 ASNMP/tests/Target_Test.cpp delete mode 100644 ASNMP/tests/Varbind_Test.cpp delete mode 100644 ASNMP/tests/run_tests.bat delete mode 100755 ASNMP/tests/run_tests.sh delete mode 100644 ASNMP/tests/test_config.h delete mode 100644 BIBLIOGRAPHY delete mode 100644 COPYING delete mode 100644 ChangeLog-93 delete mode 100644 ChangeLog-94 delete mode 100644 ChangeLog-95 delete mode 100644 ChangeLog-96a delete mode 100644 ChangeLog-96b delete mode 100644 ChangeLog-97a delete mode 100644 ChangeLog-97b delete mode 100644 ChangeLog-98a delete mode 100644 FAQ delete mode 100644 Makefile delete mode 100644 README delete mode 100644 STL/ACE_Changes delete mode 100644 STL/ChangeLog delete mode 100644 STL/README delete mode 100644 STL/algo.h delete mode 100644 STL/algobase.h delete mode 100644 STL/bool.h delete mode 100644 STL/bstring.h delete mode 100644 STL/bvector.cpp delete mode 100644 STL/bvector.h delete mode 100644 STL/defalloc.h delete mode 100644 STL/deque.h delete mode 100644 STL/function.h delete mode 100644 STL/heap.h delete mode 100644 STL/iterator.h delete mode 100644 STL/list.h delete mode 100644 STL/map.h delete mode 100644 STL/multimap.h delete mode 100644 STL/multiset.h delete mode 100644 STL/pair.h delete mode 100644 STL/projectn.h delete mode 100644 STL/ptr.h delete mode 100644 STL/queue.h delete mode 100644 STL/random.cpp delete mode 100644 STL/readme2.stl delete mode 100644 STL/set.h delete mode 100644 STL/stack.h delete mode 100644 STL/stl.h delete mode 100644 STL/tempbuf.cpp delete mode 100644 STL/tempbuf.h delete mode 100644 STL/tree.h delete mode 100644 STL/vector.h delete mode 100644 TAO/tao/factories.h delete mode 100644 VERSION delete mode 100644 ace/ACE.cpp delete mode 100644 ace/ACE.h delete mode 100644 ace/ACE.i delete mode 100644 ace/ACE_Library.mak delete mode 100644 ace/ACE_Library.mdp delete mode 100644 ace/ARGV.cpp delete mode 100644 ace/ARGV.h delete mode 100644 ace/ARGV.i delete mode 100644 ace/Acceptor.cpp delete mode 100644 ace/Acceptor.h delete mode 100644 ace/Acceptor.i delete mode 100644 ace/Activation_Queue.cpp delete mode 100644 ace/Activation_Queue.h delete mode 100644 ace/Addr.cpp delete mode 100644 ace/Addr.h delete mode 100644 ace/Addr.i delete mode 100644 ace/Array.cpp delete mode 100644 ace/Array.h delete mode 100644 ace/Array.i delete mode 100644 ace/Asynch_Acceptor.cpp delete mode 100644 ace/Asynch_Acceptor.h delete mode 100644 ace/Asynch_Acceptor.i delete mode 100644 ace/Asynch_IO.cpp delete mode 100644 ace/Asynch_IO.h delete mode 100644 ace/Asynch_IO.i delete mode 100644 ace/Atomic_Op.i delete mode 100644 ace/Auto_Ptr.cpp delete mode 100644 ace/Auto_Ptr.h delete mode 100644 ace/Auto_Ptr.i delete mode 100644 ace/Basic_Types.cpp delete mode 100644 ace/Basic_Types.h delete mode 100644 ace/Basic_Types.i delete mode 100644 ace/CORBA_Handler.cpp delete mode 100644 ace/CORBA_Handler.h delete mode 100644 ace/CORBA_Handler.i delete mode 100644 ace/CORBA_Ref.cpp delete mode 100644 ace/CORBA_Ref.h delete mode 100644 ace/CORBA_Ref.i delete mode 100644 ace/Connector.cpp delete mode 100644 ace/Connector.h delete mode 100644 ace/Connector.i delete mode 100644 ace/Containers.cpp delete mode 100644 ace/Containers.h delete mode 100644 ace/Containers.i delete mode 100644 ace/DEV.cpp delete mode 100644 ace/DEV.h delete mode 100644 ace/DEV.i delete mode 100644 ace/DEV_Addr.cpp delete mode 100644 ace/DEV_Addr.h delete mode 100644 ace/DEV_Addr.i delete mode 100644 ace/DEV_Connector.cpp delete mode 100644 ace/DEV_Connector.h delete mode 100644 ace/DEV_Connector.i delete mode 100644 ace/DEV_IO.cpp delete mode 100644 ace/DEV_IO.h delete mode 100644 ace/DEV_IO.i delete mode 100644 ace/Date_Time.cpp delete mode 100644 ace/Date_Time.h delete mode 100644 ace/Date_Time.i delete mode 100644 ace/Dump.cpp delete mode 100644 ace/Dump.h delete mode 100644 ace/Dump_T.cpp delete mode 100644 ace/Dump_T.h delete mode 100644 ace/Dynamic.cpp delete mode 100644 ace/Dynamic.h delete mode 100644 ace/Dynamic.i delete mode 100644 ace/Dynamic_Service.cpp delete mode 100644 ace/Dynamic_Service.h delete mode 100644 ace/Dynamic_Service.i delete mode 100644 ace/Env_Value_T.cpp delete mode 100644 ace/Env_Value_T.h delete mode 100644 ace/Env_Value_T.i delete mode 100644 ace/Event_Handler.cpp delete mode 100644 ace/Event_Handler.h delete mode 100644 ace/Event_Handler.i delete mode 100644 ace/Event_Handler_T.cpp delete mode 100644 ace/Event_Handler_T.h delete mode 100644 ace/Event_Handler_T.i delete mode 100644 ace/FIFO.cpp delete mode 100644 ace/FIFO.h delete mode 100644 ace/FIFO.i delete mode 100644 ace/FIFO_Recv.cpp delete mode 100644 ace/FIFO_Recv.h delete mode 100644 ace/FIFO_Recv.i delete mode 100644 ace/FIFO_Recv_Msg.cpp delete mode 100644 ace/FIFO_Recv_Msg.h delete mode 100644 ace/FIFO_Recv_Msg.i delete mode 100644 ace/FIFO_Send.cpp delete mode 100644 ace/FIFO_Send.h delete mode 100644 ace/FIFO_Send.i delete mode 100644 ace/FIFO_Send_Msg.cpp delete mode 100644 ace/FIFO_Send_Msg.h delete mode 100644 ace/FIFO_Send_Msg.i delete mode 100644 ace/FILE.cpp delete mode 100644 ace/FILE.h delete mode 100644 ace/FILE.i delete mode 100644 ace/FILE_Addr.cpp delete mode 100644 ace/FILE_Addr.h delete mode 100644 ace/FILE_Addr.i delete mode 100644 ace/FILE_Connector.cpp delete mode 100644 ace/FILE_Connector.h delete mode 100644 ace/FILE_Connector.i delete mode 100644 ace/FILE_IO.cpp delete mode 100644 ace/FILE_IO.h delete mode 100644 ace/FILE_IO.i delete mode 100644 ace/Filecache.cpp delete mode 100644 ace/Filecache.h delete mode 100644 ace/Free_List.cpp delete mode 100644 ace/Free_List.h delete mode 100644 ace/Free_List.i delete mode 100644 ace/Future.cpp delete mode 100644 ace/Future.h delete mode 100644 ace/Get_Opt.cpp delete mode 100644 ace/Get_Opt.h delete mode 100644 ace/Get_Opt.i delete mode 100644 ace/Handle_Set.cpp delete mode 100644 ace/Handle_Set.h delete mode 100644 ace/Handle_Set.i delete mode 100644 ace/Hash_Map_Manager.cpp delete mode 100644 ace/Hash_Map_Manager.h delete mode 100644 ace/High_Res_Timer.cpp delete mode 100644 ace/High_Res_Timer.h delete mode 100644 ace/High_Res_Timer.i delete mode 100644 ace/INET_Addr.cpp delete mode 100644 ace/INET_Addr.h delete mode 100644 ace/INET_Addr.i delete mode 100644 ace/IOStream.cpp delete mode 100644 ace/IOStream.h delete mode 100644 ace/IOStream_T.cpp delete mode 100644 ace/IOStream_T.h delete mode 100644 ace/IOStream_T.i delete mode 100644 ace/IO_Cntl_Msg.cpp delete mode 100644 ace/IO_Cntl_Msg.h delete mode 100644 ace/IO_Cntl_Msg.i delete mode 100644 ace/IO_SAP.cpp delete mode 100644 ace/IO_SAP.h delete mode 100644 ace/IO_SAP.i delete mode 100644 ace/IPC_SAP.cpp delete mode 100644 ace/IPC_SAP.h delete mode 100644 ace/IPC_SAP.i delete mode 100644 ace/LOCK_SOCK_Acceptor.cpp delete mode 100644 ace/LOCK_SOCK_Acceptor.h delete mode 100644 ace/LSOCK.cpp delete mode 100644 ace/LSOCK.h delete mode 100644 ace/LSOCK.i delete mode 100644 ace/LSOCK_Acceptor.cpp delete mode 100644 ace/LSOCK_Acceptor.h delete mode 100644 ace/LSOCK_Acceptor.i delete mode 100644 ace/LSOCK_CODgram.cpp delete mode 100644 ace/LSOCK_CODgram.h delete mode 100644 ace/LSOCK_CODgram.i delete mode 100644 ace/LSOCK_Connector.cpp delete mode 100644 ace/LSOCK_Connector.h delete mode 100644 ace/LSOCK_Connector.i delete mode 100644 ace/LSOCK_Dgram.cpp delete mode 100644 ace/LSOCK_Dgram.h delete mode 100644 ace/LSOCK_Dgram.i delete mode 100644 ace/LSOCK_Stream.cpp delete mode 100644 ace/LSOCK_Stream.h delete mode 100644 ace/LSOCK_Stream.i delete mode 100644 ace/Local_Name_Space.cpp delete mode 100644 ace/Local_Name_Space.h delete mode 100644 ace/Local_Name_Space_T.cpp delete mode 100644 ace/Local_Name_Space_T.h delete mode 100644 ace/Local_Tokens.cpp delete mode 100644 ace/Local_Tokens.h delete mode 100644 ace/Local_Tokens.i delete mode 100644 ace/Log_Msg.cpp delete mode 100644 ace/Log_Msg.h delete mode 100644 ace/Log_Msg.i delete mode 100644 ace/Log_Priority.h delete mode 100644 ace/Log_Record.cpp delete mode 100644 ace/Log_Record.h delete mode 100644 ace/Log_Record.i delete mode 100644 ace/Makefile delete mode 100644 ace/Malloc.cpp delete mode 100644 ace/Malloc.h delete mode 100644 ace/Malloc.i delete mode 100644 ace/Malloc_T.cpp delete mode 100644 ace/Malloc_T.h delete mode 100644 ace/Malloc_T.i delete mode 100644 ace/Managed_Object.cpp delete mode 100644 ace/Managed_Object.h delete mode 100644 ace/Managed_Object.i delete mode 100644 ace/Map_Manager.cpp delete mode 100644 ace/Map_Manager.h delete mode 100644 ace/Map_Manager.i delete mode 100644 ace/Mem_Map.cpp delete mode 100644 ace/Mem_Map.h delete mode 100644 ace/Mem_Map.i delete mode 100644 ace/Memory_Pool.cpp delete mode 100644 ace/Memory_Pool.h delete mode 100644 ace/Memory_Pool.i delete mode 100644 ace/Message_Block.cpp delete mode 100644 ace/Message_Block.h delete mode 100644 ace/Message_Block.i delete mode 100644 ace/Message_Queue.cpp delete mode 100644 ace/Message_Queue.h delete mode 100644 ace/Message_Queue.i delete mode 100644 ace/Method_Object.cpp delete mode 100644 ace/Method_Object.h delete mode 100644 ace/Module.cpp delete mode 100644 ace/Module.h delete mode 100644 ace/Module.i delete mode 100644 ace/Multiplexor.cpp delete mode 100644 ace/Multiplexor.h delete mode 100644 ace/Multiplexor.i delete mode 100644 ace/Name_Proxy.cpp delete mode 100644 ace/Name_Proxy.h delete mode 100644 ace/Name_Request_Reply.cpp delete mode 100644 ace/Name_Request_Reply.h delete mode 100644 ace/Name_Space.cpp delete mode 100644 ace/Name_Space.h delete mode 100644 ace/Naming_Context.cpp delete mode 100644 ace/Naming_Context.h delete mode 100644 ace/OS.cpp delete mode 100644 ace/OS.h delete mode 100644 ace/OS.i delete mode 100644 ace/Object_Manager.cpp delete mode 100644 ace/Object_Manager.h delete mode 100644 ace/Object_Manager.i delete mode 100644 ace/Obstack.cpp delete mode 100644 ace/Obstack.h delete mode 100644 ace/Obstack.i delete mode 100644 ace/Parse_Node.cpp delete mode 100644 ace/Parse_Node.h delete mode 100644 ace/Parse_Node.i delete mode 100644 ace/Pipe.cpp delete mode 100644 ace/Pipe.h delete mode 100644 ace/Pipe.i delete mode 100644 ace/Priority_Reactor.cpp delete mode 100644 ace/Priority_Reactor.h delete mode 100644 ace/Priority_Reactor.i delete mode 100644 ace/Proactor.cpp delete mode 100644 ace/Proactor.h delete mode 100644 ace/Proactor.i delete mode 100644 ace/Process.cpp delete mode 100644 ace/Process.h delete mode 100644 ace/Process.i delete mode 100644 ace/Process_Manager.cpp delete mode 100644 ace/Process_Manager.h delete mode 100644 ace/Process_Manager.i delete mode 100644 ace/Profile_Timer.cpp delete mode 100644 ace/Profile_Timer.h delete mode 100644 ace/Profile_Timer.i delete mode 100644 ace/README delete mode 100644 ace/Reactor.cpp delete mode 100644 ace/Reactor.h delete mode 100644 ace/Reactor.i delete mode 100644 ace/Reactor_Impl.h delete mode 100644 ace/Read_Buffer.cpp delete mode 100644 ace/Read_Buffer.h delete mode 100644 ace/Read_Buffer.i delete mode 100644 ace/Registry.cpp delete mode 100644 ace/Registry.h delete mode 100644 ace/Registry_Name_Space.cpp delete mode 100644 ace/Registry_Name_Space.h delete mode 100644 ace/Remote_Name_Space.cpp delete mode 100644 ace/Remote_Name_Space.h delete mode 100644 ace/Remote_Tokens.cpp delete mode 100644 ace/Remote_Tokens.h delete mode 100644 ace/Remote_Tokens.i delete mode 100644 ace/SOCK.cpp delete mode 100644 ace/SOCK.h delete mode 100644 ace/SOCK.i delete mode 100644 ace/SOCK_Acceptor.cpp delete mode 100644 ace/SOCK_Acceptor.h delete mode 100644 ace/SOCK_Acceptor.i delete mode 100644 ace/SOCK_CODgram.cpp delete mode 100644 ace/SOCK_CODgram.h delete mode 100644 ace/SOCK_CODgram.i delete mode 100644 ace/SOCK_Connector.cpp delete mode 100644 ace/SOCK_Connector.h delete mode 100644 ace/SOCK_Connector.i delete mode 100644 ace/SOCK_Dgram.cpp delete mode 100644 ace/SOCK_Dgram.h delete mode 100644 ace/SOCK_Dgram.i delete mode 100644 ace/SOCK_Dgram_Bcast.cpp delete mode 100644 ace/SOCK_Dgram_Bcast.h delete mode 100644 ace/SOCK_Dgram_Bcast.i delete mode 100644 ace/SOCK_Dgram_Mcast.cpp delete mode 100644 ace/SOCK_Dgram_Mcast.h delete mode 100644 ace/SOCK_Dgram_Mcast.i delete mode 100644 ace/SOCK_IO.cpp delete mode 100644 ace/SOCK_IO.h delete mode 100644 ace/SOCK_IO.i delete mode 100644 ace/SOCK_Stream.cpp delete mode 100644 ace/SOCK_Stream.h delete mode 100644 ace/SOCK_Stream.i delete mode 100644 ace/SPIPE.cpp delete mode 100644 ace/SPIPE.h delete mode 100644 ace/SPIPE.i delete mode 100644 ace/SPIPE_Acceptor.cpp delete mode 100644 ace/SPIPE_Acceptor.h delete mode 100644 ace/SPIPE_Acceptor.i delete mode 100644 ace/SPIPE_Addr.cpp delete mode 100644 ace/SPIPE_Addr.h delete mode 100644 ace/SPIPE_Addr.i delete mode 100644 ace/SPIPE_Connector.cpp delete mode 100644 ace/SPIPE_Connector.h delete mode 100644 ace/SPIPE_Connector.i delete mode 100644 ace/SPIPE_Stream.cpp delete mode 100644 ace/SPIPE_Stream.h delete mode 100644 ace/SPIPE_Stream.i delete mode 100644 ace/SString.cpp delete mode 100644 ace/SString.h delete mode 100644 ace/SString.i delete mode 100644 ace/SV_Message.cpp delete mode 100644 ace/SV_Message.h delete mode 100644 ace/SV_Message.i delete mode 100644 ace/SV_Message_Queue.cpp delete mode 100644 ace/SV_Message_Queue.h delete mode 100644 ace/SV_Message_Queue.i delete mode 100644 ace/SV_Semaphore_Complex.cpp delete mode 100644 ace/SV_Semaphore_Complex.h delete mode 100644 ace/SV_Semaphore_Complex.i delete mode 100644 ace/SV_Semaphore_Simple.cpp delete mode 100644 ace/SV_Semaphore_Simple.h delete mode 100644 ace/SV_Semaphore_Simple.i delete mode 100644 ace/SV_Shared_Memory.cpp delete mode 100644 ace/SV_Shared_Memory.h delete mode 100644 ace/SV_Shared_Memory.i delete mode 100644 ace/Sched_Params.cpp delete mode 100644 ace/Sched_Params.h delete mode 100644 ace/Sched_Params.i delete mode 100644 ace/Select_Reactor.cpp delete mode 100644 ace/Select_Reactor.h delete mode 100644 ace/Select_Reactor.i delete mode 100644 ace/Service_Config.cpp delete mode 100644 ace/Service_Config.h delete mode 100644 ace/Service_Config.i delete mode 100644 ace/Service_Main.cpp delete mode 100644 ace/Service_Manager.cpp delete mode 100644 ace/Service_Manager.h delete mode 100644 ace/Service_Manager.i delete mode 100644 ace/Service_Object.cpp delete mode 100644 ace/Service_Object.h delete mode 100644 ace/Service_Object.i delete mode 100644 ace/Service_Repository.cpp delete mode 100644 ace/Service_Repository.h delete mode 100644 ace/Service_Repository.i delete mode 100644 ace/Service_Types.cpp delete mode 100644 ace/Service_Types.h delete mode 100644 ace/Service_Types.i delete mode 100644 ace/Shared_Memory.cpp delete mode 100644 ace/Shared_Memory.h delete mode 100644 ace/Shared_Memory_MM.cpp delete mode 100644 ace/Shared_Memory_MM.h delete mode 100644 ace/Shared_Memory_MM.i delete mode 100644 ace/Shared_Memory_SV.cpp delete mode 100644 ace/Shared_Memory_SV.h delete mode 100644 ace/Shared_Memory_SV.i delete mode 100644 ace/Shared_Object.cpp delete mode 100644 ace/Shared_Object.h delete mode 100644 ace/Shared_Object.i delete mode 100644 ace/Signal.cpp delete mode 100644 ace/Signal.h delete mode 100644 ace/Signal.i delete mode 100644 ace/Singleton.cpp delete mode 100644 ace/Singleton.h delete mode 100644 ace/Singleton.i delete mode 100644 ace/Strategies.cpp delete mode 100644 ace/Strategies.h delete mode 100644 ace/Strategies.i delete mode 100644 ace/Strategies_T.cpp delete mode 100644 ace/Strategies_T.h delete mode 100644 ace/Stream.cpp delete mode 100644 ace/Stream.h delete mode 100644 ace/Stream.i delete mode 100644 ace/Stream_Modules.cpp delete mode 100644 ace/Stream_Modules.h delete mode 100644 ace/Stream_Modules.i delete mode 100644 ace/Svc_Conf.h delete mode 100644 ace/Svc_Conf.l delete mode 100644 ace/Svc_Conf.y delete mode 100644 ace/Svc_Conf_Tokens.h delete mode 100644 ace/Svc_Conf_l.cpp delete mode 100644 ace/Svc_Conf_y.cpp delete mode 100644 ace/Svc_Handler.cpp delete mode 100644 ace/Svc_Handler.h delete mode 100644 ace/Svc_Handler.i delete mode 100644 ace/Synch.cpp delete mode 100644 ace/Synch.h delete mode 100644 ace/Synch.i delete mode 100644 ace/Synch_Options.cpp delete mode 100644 ace/Synch_Options.h delete mode 100644 ace/Synch_Options.i delete mode 100644 ace/Synch_T.cpp delete mode 100644 ace/Synch_T.h delete mode 100644 ace/Synch_T.i delete mode 100644 ace/System_Time.cpp delete mode 100644 ace/System_Time.h delete mode 100644 ace/TLI.cpp delete mode 100644 ace/TLI.h delete mode 100644 ace/TLI.i delete mode 100644 ace/TLI_Acceptor.cpp delete mode 100644 ace/TLI_Acceptor.h delete mode 100644 ace/TLI_Acceptor.i delete mode 100644 ace/TLI_Connector.cpp delete mode 100644 ace/TLI_Connector.h delete mode 100644 ace/TLI_Connector.i delete mode 100644 ace/TLI_Stream.cpp delete mode 100644 ace/TLI_Stream.h delete mode 100644 ace/TLI_Stream.i delete mode 100644 ace/TTY_IO.cpp delete mode 100644 ace/TTY_IO.h delete mode 100644 ace/Task.cpp delete mode 100644 ace/Task.h delete mode 100644 ace/Task.i delete mode 100644 ace/Task_T.cpp delete mode 100644 ace/Task_T.h delete mode 100644 ace/Task_T.i delete mode 100644 ace/Thread.cpp delete mode 100644 ace/Thread.h delete mode 100644 ace/Thread.i delete mode 100644 ace/Thread_Manager.cpp delete mode 100644 ace/Thread_Manager.h delete mode 100644 ace/Thread_Manager.i delete mode 100644 ace/Time_Request_Reply.cpp delete mode 100644 ace/Time_Request_Reply.h delete mode 100644 ace/Time_Value.h delete mode 100644 ace/Timer_Hash.cpp delete mode 100644 ace/Timer_Hash.h delete mode 100644 ace/Timer_Hash_T.cpp delete mode 100644 ace/Timer_Hash_T.h delete mode 100644 ace/Timer_Heap.cpp delete mode 100644 ace/Timer_Heap.h delete mode 100644 ace/Timer_Heap_T.cpp delete mode 100644 ace/Timer_Heap_T.h delete mode 100644 ace/Timer_List.cpp delete mode 100644 ace/Timer_List.h delete mode 100644 ace/Timer_List_T.cpp delete mode 100644 ace/Timer_List_T.h delete mode 100644 ace/Timer_Queue.cpp delete mode 100644 ace/Timer_Queue.h delete mode 100644 ace/Timer_Queue.i delete mode 100644 ace/Timer_Queue_Adapters.cpp delete mode 100644 ace/Timer_Queue_Adapters.h delete mode 100644 ace/Timer_Queue_Adapters.i delete mode 100644 ace/Timer_Queue_T.cpp delete mode 100644 ace/Timer_Queue_T.h delete mode 100644 ace/Timer_Queue_T.i delete mode 100644 ace/Timer_Wheel.cpp delete mode 100644 ace/Timer_Wheel.h delete mode 100644 ace/Timer_Wheel_T.cpp delete mode 100644 ace/Timer_Wheel_T.h delete mode 100644 ace/Token.cpp delete mode 100644 ace/Token.h delete mode 100644 ace/Token.i delete mode 100644 ace/Token_Collection.cpp delete mode 100644 ace/Token_Collection.h delete mode 100644 ace/Token_Collection.i delete mode 100644 ace/Token_Invariants.cpp delete mode 100644 ace/Token_Invariants.h delete mode 100644 ace/Token_Invariants.i delete mode 100644 ace/Token_Manager.cpp delete mode 100644 ace/Token_Manager.h delete mode 100644 ace/Token_Manager.i delete mode 100644 ace/Token_Request_Reply.cpp delete mode 100644 ace/Token_Request_Reply.h delete mode 100644 ace/Token_Request_Reply.i delete mode 100644 ace/Trace.cpp delete mode 100644 ace/Trace.h delete mode 100644 ace/Trace.i delete mode 100644 ace/Typed_SV_Message.cpp delete mode 100644 ace/Typed_SV_Message.h delete mode 100644 ace/Typed_SV_Message.i delete mode 100644 ace/Typed_SV_Message_Queue.cpp delete mode 100644 ace/Typed_SV_Message_Queue.h delete mode 100644 ace/Typed_SV_Message_Queue.i delete mode 100644 ace/UNIX_Addr.cpp delete mode 100644 ace/UNIX_Addr.h delete mode 100644 ace/UNIX_Addr.i delete mode 100644 ace/UPIPE_Acceptor.cpp delete mode 100644 ace/UPIPE_Acceptor.h delete mode 100644 ace/UPIPE_Acceptor.i delete mode 100644 ace/UPIPE_Addr.h delete mode 100644 ace/UPIPE_Connector.cpp delete mode 100644 ace/UPIPE_Connector.h delete mode 100644 ace/UPIPE_Connector.i delete mode 100644 ace/UPIPE_Stream.cpp delete mode 100644 ace/UPIPE_Stream.h delete mode 100644 ace/UPIPE_Stream.i delete mode 100644 ace/Version.h delete mode 100644 ace/WFMO_Reactor.cpp delete mode 100644 ace/WFMO_Reactor.h delete mode 100644 ace/WFMO_Reactor.i delete mode 100644 ace/XtReactor.cpp delete mode 100644 ace/XtReactor.h delete mode 100644 ace/ace.dsw delete mode 100644 ace/ace.ide delete mode 100644 ace/ace_dll.dsp delete mode 100644 ace/ace_lib.dsp delete mode 100644 ace/config-aix-3.2.5.h delete mode 100644 ace/config-aix-4.1.x.h delete mode 100644 ace/config-aix-4.2.x.h delete mode 100644 ace/config-chorus.h delete mode 100644 ace/config-dgux-4.11-epc.h delete mode 100644 ace/config-freebsd-pthread.h delete mode 100644 ace/config-freebsd.h delete mode 100644 ace/config-fsu-pthread.h delete mode 100644 ace/config-gcc-2.7.2.h delete mode 100644 ace/config-hpux-10.x-g++.h delete mode 100644 ace/config-hpux-10.x-hpc++.h delete mode 100644 ace/config-hpux-10.x.h delete mode 100644 ace/config-hpux-9.x-orbix.h delete mode 100644 ace/config-hpux-9.x.h delete mode 100644 ace/config-hpux11-hpc++.h delete mode 100644 ace/config-hpux11.h delete mode 100644 ace/config-irix5.2.h delete mode 100644 ace/config-irix5.3-g++.h delete mode 100644 ace/config-irix5.3-sgic++.h delete mode 100644 ace/config-irix6.x-g++.h delete mode 100644 ace/config-irix6.x-sgic++-nothreads.h delete mode 100644 ace/config-irix6.x-sgic++.h delete mode 100644 ace/config-linux-common.h delete mode 100644 ace/config-linux-kcc.h delete mode 100644 ace/config-linux-lxpthreads.h delete mode 100644 ace/config-linux-pthread.h delete mode 100644 ace/config-linux.h delete mode 100644 ace/config-lynxos.h delete mode 100644 ace/config-m88k.h delete mode 100644 ace/config-mit-pthread.h delete mode 100644 ace/config-mvs.h delete mode 100644 ace/config-netbsd.h delete mode 100644 ace/config-osf1-3.2.h delete mode 100644 ace/config-osf1-4.0.h delete mode 100644 ace/config-psosim-g++.h delete mode 100644 ace/config-sco-4.2-nothread.h delete mode 100644 ace/config-sco-5.0.0-fsu-pthread.h delete mode 100644 ace/config-sco-5.0.0-mit-pthread.h delete mode 100644 ace/config-sco-5.0.0-nothread.h delete mode 100644 ace/config-sco-5.0.0.h delete mode 100644 ace/config-sunos4-g++.h delete mode 100644 ace/config-sunos4-lucid3.2.h delete mode 100644 ace/config-sunos4-sun3.x.h delete mode 100644 ace/config-sunos4-sun4.1.4.h delete mode 100644 ace/config-sunos4-sun4.x-orbix.h delete mode 100644 ace/config-sunos4-sun4.x.h delete mode 100644 ace/config-sunos5.4-centerline-2.x.h delete mode 100644 ace/config-sunos5.4-g++.h delete mode 100644 ace/config-sunos5.4-sunc++-4.x-orbix.h delete mode 100644 ace/config-sunos5.4-sunc++-4.x.h delete mode 100644 ace/config-sunos5.5-egcs-1.0.h delete mode 100644 ace/config-sunos5.5-egcs.h delete mode 100644 ace/config-sunos5.5-g++.h delete mode 100644 ace/config-sunos5.5-sunc++-4.x-orbix.h delete mode 100644 ace/config-sunos5.5-sunc++-4.x.h delete mode 100644 ace/config-sunx86-sunc++-4.x.h delete mode 100644 ace/config-tandem.h delete mode 100644 ace/config-unixware-2.01-g++.h delete mode 100644 ace/config-unixware-2.1.2-g++.h delete mode 100644 ace/config-vxworks-ghs-1.8.h delete mode 100644 ace/config-vxworks5.x-g++.h delete mode 100644 ace/config-win32-common.h delete mode 100644 ace/config-win32.h delete mode 100644 ace/inc_user_config.h delete mode 100644 ace/iosfwd.h delete mode 100644 ace/makefile-light delete mode 100644 ace/streams.h delete mode 100644 ace/sys_conf.h delete mode 100644 ace/ws2tcpip.h delete mode 100644 apps/Gateway/Gateway/Channel.cpp delete mode 100644 apps/Gateway/Gateway/Channel.h delete mode 100644 apps/Gateway/Gateway/Channel_Connector.cpp delete mode 100644 apps/Gateway/Gateway/Channel_Connector.h delete mode 100644 apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp delete mode 100644 apps/Gateway/Gateway/Concrete_Connection_Handlers.h delete mode 100644 apps/Gateway/Gateway/Concurrency_Strategies.h delete mode 100644 apps/Gateway/Gateway/Config_Files.cpp delete mode 100644 apps/Gateway/Gateway/Config_Files.h delete mode 100644 apps/Gateway/Gateway/Connection_Handler.cpp delete mode 100644 apps/Gateway/Gateway/Connection_Handler.h delete mode 100644 apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp delete mode 100644 apps/Gateway/Gateway/Connection_Handler_Acceptor.h delete mode 100644 apps/Gateway/Gateway/Connection_Handler_Connector.cpp delete mode 100644 apps/Gateway/Gateway/Connection_Handler_Connector.h delete mode 100644 apps/Gateway/Gateway/Consumer_Dispatch_Set.h delete mode 100644 apps/Gateway/Gateway/Consumer_Entry.cpp delete mode 100644 apps/Gateway/Gateway/Consumer_Entry.h delete mode 100644 apps/Gateway/Gateway/Consumer_Map.cpp delete mode 100644 apps/Gateway/Gateway/Consumer_Map.h delete mode 100644 apps/Gateway/Gateway/Dispatch_Set.h delete mode 100644 apps/Gateway/Gateway/Event.h delete mode 100644 apps/Gateway/Gateway/Event_Channel.cpp delete mode 100644 apps/Gateway/Gateway/Event_Channel.h delete mode 100644 apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp delete mode 100644 apps/Gateway/Gateway/Event_Forwarding_Discriminator.h delete mode 100644 apps/Gateway/Gateway/File_Parser.cpp delete mode 100644 apps/Gateway/Gateway/File_Parser.h delete mode 100644 apps/Gateway/Gateway/Gateway.cpp delete mode 100644 apps/Gateway/Gateway/Gateway.dsp delete mode 100644 apps/Gateway/Gateway/Gateway.dsw delete mode 100644 apps/Gateway/Gateway/Gateway.h delete mode 100644 apps/Gateway/Gateway/Gateway.mak delete mode 100644 apps/Gateway/Gateway/Gateway.mdp delete mode 100644 apps/Gateway/Gateway/IO_Handler.cpp delete mode 100644 apps/Gateway/Gateway/IO_Handler.h delete mode 100644 apps/Gateway/Gateway/IO_Handler_Connector.cpp delete mode 100644 apps/Gateway/Gateway/IO_Handler_Connector.h delete mode 100644 apps/Gateway/Gateway/Makefile delete mode 100644 apps/Gateway/Gateway/Options.cpp delete mode 100644 apps/Gateway/Gateway/Options.h delete mode 100644 apps/Gateway/Gateway/Peer_Message.h delete mode 100644 apps/Gateway/Gateway/Routing_Entry.cpp delete mode 100644 apps/Gateway/Gateway/Routing_Entry.h delete mode 100644 apps/Gateway/Gateway/Routing_Table.cpp delete mode 100644 apps/Gateway/Gateway/Routing_Table.h delete mode 100644 apps/Gateway/Gateway/Thr_Channel.cpp delete mode 100644 apps/Gateway/Gateway/Thr_Channel.h delete mode 100644 apps/Gateway/Gateway/Thr_IO_Handler.cpp delete mode 100644 apps/Gateway/Gateway/Thr_IO_Handler.h delete mode 100644 apps/Gateway/Gateway/Thr_Proxy_Handler.cpp delete mode 100644 apps/Gateway/Gateway/Thr_Proxy_Handler.h delete mode 100644 apps/Gateway/Gateway/cc_config delete mode 100644 apps/Gateway/Gateway/connection_config delete mode 100644 apps/Gateway/Gateway/consumer_config delete mode 100644 apps/Gateway/Gateway/gatewayd.cpp delete mode 100644 apps/Gateway/Gateway/gatewayd.dsp delete mode 100644 apps/Gateway/Gateway/rt_config delete mode 100644 apps/Gateway/Gateway/svc.conf delete mode 100644 apps/Gateway/Makefile delete mode 100644 apps/Gateway/Peer/Event.h delete mode 100644 apps/Gateway/Peer/Gateway_Handler.cpp delete mode 100644 apps/Gateway/Peer/Gateway_Handler.h delete mode 100644 apps/Gateway/Peer/Makefile delete mode 100644 apps/Gateway/Peer/Options.cpp delete mode 100644 apps/Gateway/Peer/Options.h delete mode 100644 apps/Gateway/Peer/Peer.cpp delete mode 100644 apps/Gateway/Peer/Peer.dsp delete mode 100644 apps/Gateway/Peer/Peer.dsw delete mode 100644 apps/Gateway/Peer/Peer.h delete mode 100644 apps/Gateway/Peer/Peer.mak delete mode 100644 apps/Gateway/Peer/Peer.mdp delete mode 100644 apps/Gateway/Peer/Peer_Message.h delete mode 100644 apps/Gateway/Peer/peerd.cpp delete mode 100644 apps/Gateway/Peer/peerd.dsp delete mode 100644 apps/Gateway/Peer/svc.conf delete mode 100644 apps/Gateway/README delete mode 100644 apps/JAWS/ChangeLog delete mode 100644 apps/JAWS/Makefile delete mode 100644 apps/JAWS/README delete mode 100644 apps/JAWS/clients/Blobby/Blob.cpp delete mode 100644 apps/JAWS/clients/Blobby/Blob.h delete mode 100644 apps/JAWS/clients/Blobby/Blob_Handler.cpp delete mode 100644 apps/JAWS/clients/Blobby/Blob_Handler.h delete mode 100644 apps/JAWS/clients/Blobby/Makefile delete mode 100644 apps/JAWS/clients/Blobby/Options.cpp delete mode 100644 apps/JAWS/clients/Blobby/Options.h delete mode 100644 apps/JAWS/clients/Blobby/README delete mode 100644 apps/JAWS/clients/Blobby/blobby.cpp delete mode 100644 apps/JAWS/clients/Blobby/blobby.mak delete mode 100644 apps/JAWS/clients/Blobby/blobby.mdp delete mode 100644 apps/JAWS/clients/Caching/Caching.mak delete mode 100644 apps/JAWS/clients/Caching/Caching.mdp delete mode 100644 apps/JAWS/clients/Caching/ID_Generator.cpp delete mode 100644 apps/JAWS/clients/Caching/ID_Generator.h delete mode 100644 apps/JAWS/clients/Caching/Local_Locator.cpp delete mode 100644 apps/JAWS/clients/Caching/Local_Locator.h delete mode 100644 apps/JAWS/clients/Caching/Local_Locator.i delete mode 100644 apps/JAWS/clients/Caching/Locator_Request_Reply.cpp delete mode 100644 apps/JAWS/clients/Caching/Locator_Request_Reply.h delete mode 100644 apps/JAWS/clients/Caching/Locator_Request_Reply.i delete mode 100644 apps/JAWS/clients/Caching/Makefile delete mode 100644 apps/JAWS/clients/Caching/README delete mode 100644 apps/JAWS/clients/Caching/URL_Array_Helper.cpp delete mode 100644 apps/JAWS/clients/Caching/URL_Array_Helper.h delete mode 100644 apps/JAWS/clients/Caching/URL_Locator.cpp delete mode 100644 apps/JAWS/clients/Caching/URL_Locator.h delete mode 100644 apps/JAWS/clients/Caching/URL_Locator.i delete mode 100644 apps/JAWS/clients/Caching/URL_Properties.cpp delete mode 100644 apps/JAWS/clients/Caching/URL_Properties.h delete mode 100644 apps/JAWS/clients/Caching/URL_Properties.i delete mode 100644 apps/JAWS/clients/Caching/http_client.cpp delete mode 100644 apps/JAWS/clients/Caching/http_handler.cpp delete mode 100644 apps/JAWS/clients/Caching/http_handler.h delete mode 100644 apps/JAWS/clients/Makefile delete mode 100644 apps/JAWS/clients/README delete mode 100644 apps/JAWS/clients/WebSTONE/COPYING delete mode 100644 apps/JAWS/clients/WebSTONE/README delete mode 100644 apps/JAWS/clients/WebSTONE/README.DynamicWorkload delete mode 100644 apps/JAWS/clients/WebSTONE/README.FIRST delete mode 100644 apps/JAWS/clients/WebSTONE/WEBSTONE-VERSION-2.0 delete mode 100755 apps/JAWS/clients/WebSTONE/bin/WebStone-common.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/WebStone-manage.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/WebStone-run.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/WebStone-setup.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/checkfilelist delete mode 100755 apps/JAWS/clients/WebSTONE/bin/genfiles delete mode 100755 apps/JAWS/clients/WebSTONE/bin/genfiles-from-filelist.sh delete mode 100755 apps/JAWS/clients/WebSTONE/bin/gui-configure delete mode 100755 apps/JAWS/clients/WebSTONE/bin/killbench delete mode 100755 apps/JAWS/clients/WebSTONE/bin/killbench.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/mine-logs.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/move-filelist.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/move-runs.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/rebootall delete mode 100755 apps/JAWS/clients/WebSTONE/bin/runbench delete mode 100755 apps/JAWS/clients/WebSTONE/bin/runbench.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/tabs2html delete mode 100755 apps/JAWS/clients/WebSTONE/bin/view-results.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/webstone-gui.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/write-testbed.pl delete mode 100755 apps/JAWS/clients/WebSTONE/bin/wscollect.pl delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.cgi-heavy delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.dynamic-heavy delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.dynamic-light delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.dynamic-medium delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.homepage delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.sample delete mode 100644 apps/JAWS/clients/WebSTONE/conf/filelist.standard delete mode 100644 apps/JAWS/clients/WebSTONE/conf/fileset delete mode 100755 apps/JAWS/clients/WebSTONE/conf/paths.pl delete mode 100644 apps/JAWS/clients/WebSTONE/conf/paths.pl.old delete mode 100644 apps/JAWS/clients/WebSTONE/conf/paths.sh delete mode 100644 apps/JAWS/clients/WebSTONE/conf/paths.sh.old delete mode 100644 apps/JAWS/clients/WebSTONE/conf/testbed delete mode 100644 apps/JAWS/clients/WebSTONE/doc/COPYING delete mode 100644 apps/JAWS/clients/WebSTONE/doc/FAQ-webstone.html delete mode 100644 apps/JAWS/clients/WebSTONE/doc/LICENSE.html delete mode 100644 apps/JAWS/clients/WebSTONE/doc/WebStone.html delete mode 100755 apps/JAWS/clients/WebSTONE/doc/testbed.help delete mode 100644 apps/JAWS/clients/WebSTONE/doc/webstone-white-paper.ps delete mode 100644 apps/JAWS/clients/WebSTONE/doc/webstone.gif delete mode 100644 apps/JAWS/clients/WebSTONE/doc/webstone2.html delete mode 100644 apps/JAWS/clients/WebSTONE/src/Makefile delete mode 100644 apps/JAWS/clients/WebSTONE/src/Makefile.in delete mode 100755 apps/JAWS/clients/WebSTONE/src/README delete mode 100644 apps/JAWS/clients/WebSTONE/src/acconfig.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/bench.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/bench.h delete mode 100755 apps/JAWS/clients/WebSTONE/src/cgi-send delete mode 100644 apps/JAWS/clients/WebSTONE/src/cgi-send.c delete mode 100755 apps/JAWS/clients/WebSTONE/src/client/webclient.mak delete mode 100644 apps/JAWS/clients/WebSTONE/src/config.cache delete mode 100755 apps/JAWS/clients/WebSTONE/src/config.guess delete mode 100644 apps/JAWS/clients/WebSTONE/src/config.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/config.h.in delete mode 100644 apps/JAWS/clients/WebSTONE/src/config.log delete mode 100755 apps/JAWS/clients/WebSTONE/src/config.status delete mode 100755 apps/JAWS/clients/WebSTONE/src/config.sub delete mode 100755 apps/JAWS/clients/WebSTONE/src/configure delete mode 100644 apps/JAWS/clients/WebSTONE/src/configure.in delete mode 100644 apps/JAWS/clients/WebSTONE/src/debug.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/errexit.c delete mode 100755 apps/JAWS/clients/WebSTONE/src/gendata/genrand.mak delete mode 100644 apps/JAWS/clients/WebSTONE/src/genrand.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/get.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/get.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/getopt.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/gettimeofday.c delete mode 100755 apps/JAWS/clients/WebSTONE/src/install-sh delete mode 100644 apps/JAWS/clients/WebSTONE/src/logfile27859 delete mode 100755 apps/JAWS/clients/WebSTONE/src/master/webmaster.mak delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/buffer.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/cinfo.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/crit.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/daemon.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/dll.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/ereport.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/eventlog.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/file.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/minissl.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/net.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/nodelock.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/nterrors.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/objndx.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/pblock.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/sem.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/session.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/shexp.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/shmem.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/systems.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/systhr.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/util.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/conf.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/func.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/http.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/httpact.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/log.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/object.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/objset.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/protocol.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/req.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/servact.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-includes/netsite.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/nsapi-send.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/parse_file_list.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/parse_file_list.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/rexec.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/statistics.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/statistics.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/sysdep.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/sysdep.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/timefunc.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/timefunc.h delete mode 100644 apps/JAWS/clients/WebSTONE/src/webclient.c delete mode 100644 apps/JAWS/clients/WebSTONE/src/webmaster.c delete mode 100755 apps/JAWS/clients/WebSTONE/webstone delete mode 100755 apps/JAWS/remora/app/Makefile delete mode 100644 apps/JAWS/remora/app/Remora_Export.cc delete mode 100644 apps/JAWS/remora/app/Remora_Export.h delete mode 100644 apps/JAWS/remora/app/Remora_Export.i delete mode 100644 apps/JAWS/remora/app/Remora_Import.cc delete mode 100644 apps/JAWS/remora/app/Remora_Import.h delete mode 100644 apps/JAWS/remora/app/Remora_Import.i delete mode 100644 apps/JAWS/remora/app/remora.idl delete mode 100755 apps/JAWS/remora/app/stdmk delete mode 100644 apps/JAWS/remora/app/test.cc delete mode 100644 apps/JAWS/server/HTTP_Config.cpp delete mode 100644 apps/JAWS/server/HTTP_Config.h delete mode 100644 apps/JAWS/server/HTTP_Handler.cpp delete mode 100644 apps/JAWS/server/HTTP_Handler.h delete mode 100644 apps/JAWS/server/HTTP_Helpers.cpp delete mode 100644 apps/JAWS/server/HTTP_Helpers.h delete mode 100644 apps/JAWS/server/HTTP_Request.cpp delete mode 100644 apps/JAWS/server/HTTP_Request.h delete mode 100644 apps/JAWS/server/HTTP_Response.cpp delete mode 100644 apps/JAWS/server/HTTP_Response.h delete mode 100644 apps/JAWS/server/HTTP_Server.cpp delete mode 100644 apps/JAWS/server/HTTP_Server.h delete mode 100644 apps/JAWS/server/IO.cpp delete mode 100644 apps/JAWS/server/IO.h delete mode 100644 apps/JAWS/server/Makefile delete mode 100644 apps/JAWS/server/Parse_Headers.cpp delete mode 100644 apps/JAWS/server/Parse_Headers.h delete mode 100644 apps/JAWS/server/Pipeline.cpp delete mode 100644 apps/JAWS/server/Pipeline.h delete mode 100644 apps/JAWS/server/README delete mode 100644 apps/JAWS/server/jaws.auth delete mode 100644 apps/JAWS/server/jaws.dsp delete mode 100644 apps/JAWS/server/jaws.dsw delete mode 100644 apps/JAWS/server/jaws.mak delete mode 100644 apps/JAWS/server/jaws.mdp delete mode 100644 apps/JAWS/server/main.cpp delete mode 100644 apps/JAWS/server/svc.conf delete mode 100755 apps/JAWS/server/test.cgi delete mode 100644 apps/JAWS/stress_testing/Makefile delete mode 100644 apps/JAWS/stress_testing/README delete mode 100644 apps/JAWS/stress_testing/benchd.cpp delete mode 100644 apps/JAWS/stress_testing/client.h delete mode 100644 apps/JAWS/stress_testing/clients.mak delete mode 100644 apps/JAWS/stress_testing/clients.mdp delete mode 100644 apps/JAWS/stress_testing/config delete mode 100644 apps/JAWS/stress_testing/connection.cpp delete mode 100644 apps/JAWS/stress_testing/connection.h delete mode 100644 apps/JAWS/stress_testing/cp.cpp delete mode 100644 apps/JAWS/stress_testing/cp.h delete mode 100644 apps/JAWS/stress_testing/global.h delete mode 100644 apps/JAWS/stress_testing/http.h delete mode 100644 apps/JAWS/stress_testing/http_tester.cpp delete mode 100644 apps/JAWS/stress_testing/out delete mode 100644 apps/JAWS/stress_testing/stats.cpp delete mode 100644 apps/JAWS/stress_testing/stats.h delete mode 100644 apps/JAWS/stress_testing/util.cpp delete mode 100644 apps/JAWS/stress_testing/util.h delete mode 100644 apps/Makefile delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.h delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/Makefile delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/Notification_Receiver_Handler.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/Notification_Receiver_Handler.h delete mode 100644 apps/Orbix-Examples/Event_Comm/Consumer/consumer.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/Makefile delete mode 100644 apps/Orbix-Examples/Event_Comm/README delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/Input_Handler.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/Input_Handler.h delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/Makefile delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/Notifier_Handler.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/Notifier_Handler.h delete mode 100644 apps/Orbix-Examples/Event_Comm/Supplier/supplier.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/include/Event_Comm.hh delete mode 100644 apps/Orbix-Examples/Event_Comm/include/Event_Comm_i.h delete mode 100644 apps/Orbix-Examples/Event_Comm/include/Notification_Receiver_i.h delete mode 100644 apps/Orbix-Examples/Event_Comm/include/Notifier_i.h delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Event_Comm.hh delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Event_Comm.idl delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Event_CommC.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Event_CommS.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Event_Comm_i.h delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Makefile delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notification.idl delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver.idl delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver_i.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver_i.h delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notifier.idl delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.cpp delete mode 100644 apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.h delete mode 100644 apps/Orbix-Examples/Logger/Logger.cpp delete mode 100644 apps/Orbix-Examples/Logger/Logger.h delete mode 100644 apps/Orbix-Examples/Logger/Makefile delete mode 100644 apps/Orbix-Examples/Logger/Orbix.hostgroups delete mode 100644 apps/Orbix-Examples/Logger/Orbix.hosts delete mode 100644 apps/Orbix-Examples/Logger/README delete mode 100644 apps/Orbix-Examples/Logger/a1.tex delete mode 100644 apps/Orbix-Examples/Logger/client.cpp delete mode 100644 apps/Orbix-Examples/Logger/logger.hh delete mode 100644 apps/Orbix-Examples/Logger/logger.idl delete mode 100644 apps/Orbix-Examples/Logger/loggerS.cpp delete mode 100644 apps/Orbix-Examples/Logger/logger_i.cpp delete mode 100644 apps/Orbix-Examples/Logger/logger_i.h delete mode 100644 apps/Orbix-Examples/Logger/server.cpp delete mode 100644 apps/Orbix-Examples/Makefile delete mode 100644 apps/README delete mode 100644 apps/gperf/COPYING delete mode 100644 apps/gperf/ChangeLog delete mode 100644 apps/gperf/Makefile delete mode 100644 apps/gperf/README delete mode 100644 apps/gperf/gperf.1 delete mode 100644 apps/gperf/gperf.info delete mode 100644 apps/gperf/gperf.texi delete mode 100644 apps/gperf/src/Bool_Array.cpp delete mode 100644 apps/gperf/src/Bool_Array.h delete mode 100644 apps/gperf/src/Gen_Perf.cpp delete mode 100644 apps/gperf/src/Gen_Perf.h delete mode 100644 apps/gperf/src/Hash_Table.cpp delete mode 100644 apps/gperf/src/Hash_Table.h delete mode 100644 apps/gperf/src/Iterator.cpp delete mode 100644 apps/gperf/src/Iterator.h delete mode 100644 apps/gperf/src/Key_List.cpp delete mode 100644 apps/gperf/src/Key_List.h delete mode 100644 apps/gperf/src/List_Node.cpp delete mode 100644 apps/gperf/src/List_Node.h delete mode 100644 apps/gperf/src/Makefile delete mode 100644 apps/gperf/src/Options.cpp delete mode 100644 apps/gperf/src/Options.h delete mode 100644 apps/gperf/src/Vectors.cpp delete mode 100644 apps/gperf/src/Vectors.h delete mode 100644 apps/gperf/src/Version.cpp delete mode 100644 apps/gperf/src/gperf.cpp delete mode 100644 apps/gperf/src/new.cpp delete mode 100644 apps/gperf/tests/Makefile.in delete mode 100644 apps/gperf/tests/ada-pred.exp delete mode 100644 apps/gperf/tests/ada-res.exp delete mode 100644 apps/gperf/tests/ada.gperf delete mode 100644 apps/gperf/tests/adadefs.gperf delete mode 100644 apps/gperf/tests/c++.gperf delete mode 100644 apps/gperf/tests/c-parse.gperf delete mode 100644 apps/gperf/tests/c.exp delete mode 100644 apps/gperf/tests/c.gperf delete mode 100644 apps/gperf/tests/configure.in delete mode 100644 apps/gperf/tests/gpc.gperf delete mode 100644 apps/gperf/tests/gplus.gperf delete mode 100644 apps/gperf/tests/irc.gperf delete mode 100644 apps/gperf/tests/makeinfo.gperf delete mode 100644 apps/gperf/tests/modula.exp delete mode 100644 apps/gperf/tests/modula2.gperf delete mode 100644 apps/gperf/tests/modula3.gperf delete mode 100644 apps/gperf/tests/pascal.exp delete mode 100644 apps/gperf/tests/pascal.gperf delete mode 100644 apps/gperf/tests/test-1.exp delete mode 100644 apps/gperf/tests/test-2.exp delete mode 100644 apps/gperf/tests/test-3.exp delete mode 100644 apps/gperf/tests/test-4.exp delete mode 100644 apps/gperf/tests/test-5.exp delete mode 100644 apps/gperf/tests/test-6.exp delete mode 100644 apps/gperf/tests/test-7.exp delete mode 100644 apps/gperf/tests/test.c delete mode 100644 bin/Makefile delete mode 100644 bin/README.html delete mode 100755 bin/Service_Config.perl delete mode 100755 bin/ace_ld delete mode 100755 bin/auto_compile delete mode 100755 bin/auto_compile_wrapper delete mode 100755 bin/auto_ptr.perl delete mode 100755 bin/class2hxxcxx delete mode 100755 bin/class2hxxcxxsingle delete mode 100755 bin/class2info delete mode 100644 bin/class2info.awk delete mode 100755 bin/class2man delete mode 100755 bin/class2mml delete mode 100755 bin/class2src delete mode 100755 bin/classinfo.ps delete mode 100644 bin/clone.1 delete mode 100644 bin/clone.cpp delete mode 100644 bin/clone.csh delete mode 100755 bin/create_ace_build delete mode 100755 bin/g++dep delete mode 100644 bin/hiding.fmt delete mode 100755 bin/html-windex delete mode 100755 bin/info2doc.awk delete mode 100644 bin/info2doc.fmt delete mode 100755 bin/info2head delete mode 100644 bin/info2head.fmt delete mode 100755 bin/info2headsrc delete mode 100755 bin/info2man delete mode 100755 bin/info2mml delete mode 100755 bin/info2src delete mode 100755 bin/info2src.awk delete mode 100755 bin/man2html delete mode 100644 bin/man2html1.awk delete mode 100644 bin/man2html2.awk delete mode 100755 bin/rename-ace.pl delete mode 100755 bin/vendor.fmt delete mode 100644 docs/ACE-inheritance.pdf.gz delete mode 100644 docs/ACE-inheritance.ps.gz delete mode 100644 docs/ACE-lessons.html delete mode 100644 etc/ACE-guidelines.html delete mode 100644 etc/README delete mode 100644 etc/Svc_Conf_l.cpp.diff delete mode 100644 etc/Svc_Conf_y.cpp.diff delete mode 100755 etc/create-jace-release delete mode 100644 etc/purify.solaris2 delete mode 100644 examples/ASX/CCM_App/CCM_App.cpp delete mode 100644 examples/ASX/CCM_App/Makefile delete mode 100644 examples/ASX/CCM_App/SC_Client.cpp delete mode 100644 examples/ASX/CCM_App/SC_Server.cpp delete mode 100644 examples/ASX/CCM_App/svc.conf delete mode 100644 examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp delete mode 100644 examples/ASX/Event_Server/Event_Server/Consumer_Router.h delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Analyzer.h delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Server.dsp delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Server.dsw delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Server.mak delete mode 100644 examples/ASX/Event_Server/Event_Server/Event_Server.mdp delete mode 100644 examples/ASX/Event_Server/Event_Server/Makefile delete mode 100644 examples/ASX/Event_Server/Event_Server/Options.cpp delete mode 100644 examples/ASX/Event_Server/Event_Server/Options.h delete mode 100644 examples/ASX/Event_Server/Event_Server/Options.i delete mode 100644 examples/ASX/Event_Server/Event_Server/Peer_Router.cpp delete mode 100644 examples/ASX/Event_Server/Event_Server/Peer_Router.h delete mode 100644 examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp delete mode 100644 examples/ASX/Event_Server/Event_Server/Supplier_Router.h delete mode 100644 examples/ASX/Event_Server/Event_Server/event_server.cpp delete mode 100644 examples/ASX/Event_Server/Makefile delete mode 100644 examples/ASX/Event_Server/README delete mode 100644 examples/ASX/Event_Server/Transceiver/Makefile delete mode 100644 examples/ASX/Event_Server/Transceiver/transceiver.cpp delete mode 100644 examples/ASX/Event_Server/Transceiver/transceiver.dsp delete mode 100644 examples/ASX/Event_Server/Transceiver/transceiver.dsw delete mode 100644 examples/ASX/Event_Server/Transceiver/transceiver.mak delete mode 100644 examples/ASX/Event_Server/Transceiver/transceiver.mdp delete mode 100644 examples/ASX/Makefile delete mode 100644 examples/ASX/Message_Queue/Bounded_Buffer.dsp delete mode 100644 examples/ASX/Message_Queue/Buffer_Stream.dsp delete mode 100644 examples/ASX/Message_Queue/Makefile delete mode 100644 examples/ASX/Message_Queue/Message_Queue_Example.dsw delete mode 100644 examples/ASX/Message_Queue/Priority_Buffer.dsp delete mode 100644 examples/ASX/Message_Queue/bounded_buffer.cpp delete mode 100644 examples/ASX/Message_Queue/buffer_stream.cpp delete mode 100644 examples/ASX/Message_Queue/priority_buffer.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Consumer_Router.h delete mode 100644 examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Event_Analyzer.h delete mode 100644 examples/ASX/UPIPE_Event_Server/Makefile delete mode 100644 examples/ASX/UPIPE_Event_Server/Options.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Options.h delete mode 100644 examples/ASX/UPIPE_Event_Server/Options.i delete mode 100644 examples/ASX/UPIPE_Event_Server/Peer_Router.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Peer_Router.h delete mode 100644 examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp delete mode 100644 examples/ASX/UPIPE_Event_Server/Supplier_Router.h delete mode 100644 examples/ASX/UPIPE_Event_Server/UPIPE_Event_Server.dsp delete mode 100644 examples/ASX/UPIPE_Event_Server/UPIPE_Event_Server.dsw delete mode 100644 examples/ASX/UPIPE_Event_Server/UPIPE_Event_Server.mak delete mode 100644 examples/ASX/UPIPE_Event_Server/UPIPE_Event_Server.mdp delete mode 100644 examples/ASX/UPIPE_Event_Server/event_server.cpp delete mode 100644 examples/CORBA/Makefile delete mode 100644 examples/CORBA/Test.idl delete mode 100644 examples/CORBA/Test_i.cpp delete mode 100644 examples/CORBA/Test_i.h delete mode 100644 examples/CORBA/client.cpp delete mode 100644 examples/CORBA/server.cpp delete mode 100644 examples/Connection/Makefile delete mode 100644 examples/Connection/blocking/README delete mode 100644 examples/Connection/blocking/SPIPE-acceptor.cpp delete mode 100644 examples/Connection/blocking/SPIPE-acceptor.h delete mode 100644 examples/Connection/blocking/SPIPE-connector.cpp delete mode 100644 examples/Connection/blocking/SPIPE-connector.h delete mode 100644 examples/Connection/blocking/SPIPE.dsp delete mode 100644 examples/Connection/blocking/SPIPE.dsw delete mode 100644 examples/Connection/blocking/SPIPE.mak delete mode 100644 examples/Connection/blocking/SPIPE.mdp delete mode 100644 examples/Connection/blocking/acceptor.dsp delete mode 100644 examples/Connection/blocking/test_spipe_acceptor.cpp delete mode 100644 examples/Connection/blocking/test_spipe_connector.cpp delete mode 100644 examples/Connection/misc/Connection_Handler.cpp delete mode 100644 examples/Connection/misc/Makefile delete mode 100644 examples/Connection/misc/test_upipe.cpp delete mode 100644 examples/Connection/non_blocking/CPP-acceptor.cpp delete mode 100644 examples/Connection/non_blocking/CPP-acceptor.h delete mode 100644 examples/Connection/non_blocking/CPP-connector.cpp delete mode 100644 examples/Connection/non_blocking/CPP-connector.h delete mode 100644 examples/Connection/non_blocking/Makefile delete mode 100644 examples/Connection/non_blocking/README delete mode 100644 examples/Connection/non_blocking/non_blocking.dsp delete mode 100644 examples/Connection/non_blocking/non_blocking.dsw delete mode 100644 examples/Connection/non_blocking/non_blocking.mak delete mode 100644 examples/Connection/non_blocking/non_blocking.mdp delete mode 100644 examples/Connection/non_blocking/server.dsp delete mode 100644 examples/Connection/non_blocking/test_lsock_acceptor.cpp delete mode 100644 examples/Connection/non_blocking/test_lsock_connector.cpp delete mode 100644 examples/Connection/non_blocking/test_sock_acceptor.cpp delete mode 100644 examples/Connection/non_blocking/test_sock_connector.cpp delete mode 100644 examples/Connection/non_blocking/test_spipe_acceptor.cpp delete mode 100644 examples/Connection/non_blocking/test_spipe_connector.cpp delete mode 100644 examples/Connection/non_blocking/test_tli_acceptor.cpp delete mode 100644 examples/Connection/non_blocking/test_tli_connector.cpp delete mode 100644 examples/IOStream/Makefile delete mode 100644 examples/IOStream/README delete mode 100644 examples/IOStream/client/Makefile delete mode 100644 examples/IOStream/client/iostream_client.cpp delete mode 100644 examples/IOStream/server/Makefile delete mode 100644 examples/IOStream/server/iostream_server.cpp delete mode 100644 examples/IPC_SAP/DEV_SAP/Makefile delete mode 100644 examples/IPC_SAP/DEV_SAP/README delete mode 100644 examples/IPC_SAP/DEV_SAP/reader/Makefile delete mode 100644 examples/IPC_SAP/DEV_SAP/reader/reader.cpp delete mode 100644 examples/IPC_SAP/DEV_SAP/writer/Makefile delete mode 100644 examples/IPC_SAP/DEV_SAP/writer/writer.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp delete mode 100644 examples/IPC_SAP/FIFO_SAP/Makefile delete mode 100644 examples/IPC_SAP/FILE_SAP/File_sap.dsw delete mode 100644 examples/IPC_SAP/FILE_SAP/Makefile delete mode 100644 examples/IPC_SAP/FILE_SAP/client.cpp delete mode 100644 examples/IPC_SAP/FILE_SAP/client.dsp delete mode 100644 examples/IPC_SAP/FILE_SAP/testfile delete mode 100644 examples/IPC_SAP/Makefile delete mode 100644 examples/IPC_SAP/SOCK_SAP/C-inclient.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/C-inserver.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP_inclient.dsp delete mode 100644 examples/IPC_SAP/SOCK_SAP/CPP_inserver.dsp delete mode 100644 examples/IPC_SAP/SOCK_SAP/C_inserver.dsp delete mode 100644 examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp delete mode 100644 examples/IPC_SAP/SOCK_SAP/Makefile delete mode 100644 examples/IPC_SAP/SOCK_SAP/README delete mode 100644 examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsp delete mode 100644 examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsw delete mode 100644 examples/IPC_SAP/SOCK_SAP/SOCK_SAP.mak delete mode 100644 examples/IPC_SAP/SOCK_SAP/SOCK_SAP.mdp delete mode 100644 examples/IPC_SAP/SOCK_SAP/local_data delete mode 100644 examples/IPC_SAP/SPIPE_SAP/Makefile delete mode 100644 examples/IPC_SAP/SPIPE_SAP/NPClient.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/NPServer.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/client.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/producer_read.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/server.cpp delete mode 100644 examples/IPC_SAP/SPIPE_SAP/shared.h delete mode 100644 examples/IPC_SAP/TLI_SAP/CPP-client.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/CPP-server.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/Makefile delete mode 100644 examples/IPC_SAP/TLI_SAP/db-client.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/db-server.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/ftp-client.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/ftp-server.cpp delete mode 100644 examples/IPC_SAP/TLI_SAP/signal_thread.c delete mode 100644 examples/IPC_SAP/UPIPE_SAP/Makefile delete mode 100644 examples/IPC_SAP/UPIPE_SAP/auto_builtin_ptr.h delete mode 100644 examples/IPC_SAP/UPIPE_SAP/ex1.cpp delete mode 100644 examples/IPC_SAP/UPIPE_SAP/ex2.cpp delete mode 100644 examples/IPC_SAP/UPIPE_SAP/ex3.cpp delete mode 100644 examples/Log_Msg/Log_Msg.mak delete mode 100644 examples/Log_Msg/Log_Msg.mdp delete mode 100644 examples/Log_Msg/Makefile delete mode 100644 examples/Log_Msg/README delete mode 100644 examples/Log_Msg/test_log_msg.cpp delete mode 100644 examples/Logger/Acceptor-server/Makefile delete mode 100644 examples/Logger/Acceptor-server/server_loggerd.cpp delete mode 100644 examples/Logger/Acceptor-server/server_loggerd.dsp delete mode 100644 examples/Logger/Acceptor-server/server_loggerd.dsw delete mode 100644 examples/Logger/Acceptor-server/server_loggerd.mak delete mode 100644 examples/Logger/Acceptor-server/server_loggerd.mdp delete mode 100644 examples/Logger/Makefile delete mode 100644 examples/Logger/README delete mode 100644 examples/Logger/client/Makefile delete mode 100644 examples/Logger/client/client.dsp delete mode 100644 examples/Logger/client/client.dsw delete mode 100644 examples/Logger/client/client.mak delete mode 100644 examples/Logger/client/client.mdp delete mode 100644 examples/Logger/client/logging_app.cpp delete mode 100644 examples/Logger/simple-server/Logging_Acceptor.cpp delete mode 100644 examples/Logger/simple-server/Logging_Acceptor.h delete mode 100644 examples/Logger/simple-server/Logging_Handler.cpp delete mode 100644 examples/Logger/simple-server/Logging_Handler.h delete mode 100644 examples/Logger/simple-server/Makefile delete mode 100644 examples/Logger/simple-server/Reactor_Singleton.h delete mode 100644 examples/Logger/simple-server/server_loggerd.cpp delete mode 100644 examples/Logger/simple-server/server_loggerd.dsp delete mode 100644 examples/Logger/simple-server/server_loggerd.dsw delete mode 100644 examples/Logger/simple-server/server_loggerd.mak delete mode 100644 examples/Logger/simple-server/server_loggerd.mdp delete mode 100644 examples/Makefile delete mode 100644 examples/Map_Manager/Makefile delete mode 100644 examples/Map_Manager/test_hash_map_manager.cpp delete mode 100644 examples/Mem_Map/IO-tests/IO_Test.cpp delete mode 100644 examples/Mem_Map/IO-tests/IO_Test.h delete mode 100644 examples/Mem_Map/IO-tests/Makefile delete mode 100644 examples/Mem_Map/IO-tests/test_io.cpp delete mode 100644 examples/Mem_Map/Makefile delete mode 100644 examples/Mem_Map/file-reverse/Makefile delete mode 100644 examples/Mem_Map/file-reverse/file-reverse.cpp delete mode 100644 examples/Misc/Makefile delete mode 100644 examples/Misc/test_XtReactor1.cpp delete mode 100644 examples/Misc/test_XtReactor2.cpp delete mode 100644 examples/Misc/test_dump.cpp delete mode 100644 examples/Misc/test_get_opt.cpp delete mode 100644 examples/Misc/test_profile_timer.cpp delete mode 100644 examples/Misc/test_read_buffer.cpp delete mode 100644 examples/Misc/test_set.cpp delete mode 100644 examples/Misc/test_sstring.cpp delete mode 100644 examples/Misc/test_trace.cpp delete mode 100644 examples/Naming/Makefile delete mode 100644 examples/Naming/Naming.dsp delete mode 100644 examples/Naming/Naming.dsw delete mode 100644 examples/Naming/Naming.mak delete mode 100644 examples/Naming/Naming.mdp delete mode 100644 examples/Naming/multiple_contexts.dsp delete mode 100644 examples/Naming/non_existent.dsp delete mode 100644 examples/Naming/test_multiple_contexts.cpp delete mode 100644 examples/Naming/test_non_existent.cpp delete mode 100644 examples/Naming/test_open.cpp delete mode 100644 examples/Naming/test_writers.cpp delete mode 100644 examples/OS/Makefile delete mode 100644 examples/OS/Process/Makefile delete mode 100644 examples/OS/Process/Process.dsp delete mode 100644 examples/OS/Process/Process.dsw delete mode 100644 examples/OS/Process/Process.mak delete mode 100644 examples/OS/Process/Process.mdp delete mode 100644 examples/OS/Process/README delete mode 100644 examples/OS/Process/imore.cpp delete mode 100644 examples/OS/Process/process.cpp delete mode 100644 examples/README delete mode 100644 examples/Reactor/Dgram/CODgram.cpp delete mode 100644 examples/Reactor/Dgram/Dgram.cpp delete mode 100644 examples/Reactor/Dgram/Makefile delete mode 100644 examples/Reactor/FIFO/Makefile delete mode 100644 examples/Reactor/FIFO/client.cpp delete mode 100644 examples/Reactor/FIFO/server.cpp delete mode 100644 examples/Reactor/Makefile delete mode 100644 examples/Reactor/Misc/Makefile delete mode 100644 examples/Reactor/Misc/Misc.dsp delete mode 100644 examples/Reactor/Misc/Misc.dsw delete mode 100644 examples/Reactor/Misc/Misc.mak delete mode 100644 examples/Reactor/Misc/Misc.mdp delete mode 100644 examples/Reactor/Misc/notification.cpp delete mode 100644 examples/Reactor/Misc/notification.dsp delete mode 100644 examples/Reactor/Misc/pingpong.cpp delete mode 100644 examples/Reactor/Misc/reactors.dsp delete mode 100644 examples/Reactor/Misc/signal_tester.cpp delete mode 100644 examples/Reactor/Misc/signals_1.dsp delete mode 100644 examples/Reactor/Misc/signals_2.dsp delete mode 100644 examples/Reactor/Misc/test_demuxing.cpp delete mode 100644 examples/Reactor/Misc/test_event_handler_t.cpp delete mode 100644 examples/Reactor/Misc/test_reactors.cpp delete mode 100644 examples/Reactor/Misc/test_signals.cpp delete mode 100644 examples/Reactor/Misc/test_signals_1.cpp delete mode 100644 examples/Reactor/Misc/test_signals_2.cpp delete mode 100644 examples/Reactor/Misc/test_time_value.cpp delete mode 100644 examples/Reactor/Misc/test_timer_queue.cpp delete mode 100644 examples/Reactor/Multicast/Log_Wrapper.cpp delete mode 100644 examples/Reactor/Multicast/Log_Wrapper.h delete mode 100644 examples/Reactor/Multicast/Makefile delete mode 100644 examples/Reactor/Multicast/README delete mode 100644 examples/Reactor/Multicast/client.cpp delete mode 100644 examples/Reactor/Multicast/server.cpp delete mode 100644 examples/Reactor/Ntalker/Makefile delete mode 100644 examples/Reactor/Ntalker/ntalker.cpp delete mode 100644 examples/Reactor/Ntalker/ntalker.dsp delete mode 100644 examples/Reactor/Ntalker/ntalker.dsw delete mode 100644 examples/Reactor/Ntalker/ntalker.mak delete mode 100644 examples/Reactor/Ntalker/ntalker.mdp delete mode 100644 examples/Reactor/Proactor/test_multiple_loops.cpp delete mode 100644 examples/Reactor/Proactor/test_multiple_loops.dsp delete mode 100644 examples/Reactor/Proactor/test_proactor.cpp delete mode 100644 examples/Reactor/Proactor/test_proactor.dsp delete mode 100644 examples/Reactor/Proactor/test_proactor.dsw delete mode 100644 examples/Reactor/Proactor/test_proactor.mak delete mode 100644 examples/Reactor/Proactor/test_proactor.mdp delete mode 100644 examples/Reactor/Proactor/test_timeout.cpp delete mode 100644 examples/Reactor/Proactor/test_timeout.dsp delete mode 100644 examples/Reactor/README delete mode 100644 examples/Reactor/ReactorEx/Console_Input.dsp delete mode 100644 examples/Reactor/ReactorEx/Directory_Changes.dsp delete mode 100644 examples/Reactor/ReactorEx/Exceptions.dsp delete mode 100644 examples/Reactor/ReactorEx/Multithreading.dsp delete mode 100644 examples/Reactor/ReactorEx/Network_Events.dsp delete mode 100644 examples/Reactor/ReactorEx/Registration.dsp delete mode 100644 examples/Reactor/ReactorEx/Registry_Changes.dsp delete mode 100644 examples/Reactor/ReactorEx/Removals.dsp delete mode 100644 examples/Reactor/ReactorEx/Talker.dsp delete mode 100644 examples/Reactor/ReactorEx/Timeouts.dsp delete mode 100644 examples/Reactor/ReactorEx/reactorex.dsw delete mode 100644 examples/Reactor/ReactorEx/reactorex.mak delete mode 100644 examples/Reactor/ReactorEx/reactorex.mdp delete mode 100644 examples/Reactor/ReactorEx/test_console_input.cpp delete mode 100644 examples/Reactor/ReactorEx/test_directory_changes.cpp delete mode 100644 examples/Reactor/ReactorEx/test_exceptions.cpp delete mode 100644 examples/Reactor/ReactorEx/test_multithreading.cpp delete mode 100644 examples/Reactor/ReactorEx/test_network_events.cpp delete mode 100644 examples/Reactor/ReactorEx/test_registration.cpp delete mode 100644 examples/Reactor/ReactorEx/test_registry_changes.cpp delete mode 100644 examples/Reactor/ReactorEx/test_removals.cpp delete mode 100644 examples/Reactor/ReactorEx/test_talker.cpp delete mode 100644 examples/Reactor/ReactorEx/test_timeouts.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/Console_Input.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Directory_Changes.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Exceptions.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Multithreading.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Network_Events.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Registration.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Registry_Changes.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Removals.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Talker.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/Timeouts.dsp delete mode 100644 examples/Reactor/WFMO_Reactor/reactorex.dsw delete mode 100644 examples/Reactor/WFMO_Reactor/reactorex.mak delete mode 100644 examples/Reactor/WFMO_Reactor/reactorex.mdp delete mode 100644 examples/Reactor/WFMO_Reactor/test_console_input.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_directory_changes.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_exceptions.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_multithreading.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_network_events.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_registration.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_registry_changes.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_removals.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_talker.cpp delete mode 100644 examples/Reactor/WFMO_Reactor/test_timeouts.cpp delete mode 100644 examples/Registry/Registry.dsp delete mode 100644 examples/Registry/Registry.dsw delete mode 100644 examples/Registry/Registry.mak delete mode 100644 examples/Registry/Registry.mdp delete mode 100644 examples/Registry/test_registry_iterator.cpp delete mode 100644 examples/Registry/test_registry_update.cpp delete mode 100644 examples/Registry/update.dsp delete mode 100644 examples/Service_Configurator/IPC-tests/Makefile delete mode 100644 examples/Service_Configurator/IPC-tests/README delete mode 100644 examples/Service_Configurator/IPC-tests/client/Makefile delete mode 100644 examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_data delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_data delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_data1 delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_data2 delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_data3 delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_data4 delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Timeout.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Timeout.h delete mode 100644 examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i delete mode 100644 examples/Service_Configurator/IPC-tests/server/Makefile delete mode 100644 examples/Service_Configurator/IPC-tests/server/server_test.cpp delete mode 100644 examples/Service_Configurator/IPC-tests/server/svc.conf delete mode 100644 examples/Service_Configurator/Makefile delete mode 100644 examples/Service_Configurator/Misc/Makefile delete mode 100644 examples/Service_Configurator/Misc/Timer_Service.cpp delete mode 100644 examples/Service_Configurator/Misc/Timer_Service.h delete mode 100644 examples/Service_Configurator/Misc/main.cpp delete mode 100644 examples/Service_Configurator/Misc/svc.conf delete mode 100644 examples/Shared_Malloc/Makefile delete mode 100644 examples/Shared_Malloc/Malloc.cpp delete mode 100644 examples/Shared_Malloc/Malloc.h delete mode 100644 examples/Shared_Malloc/Options.cpp delete mode 100644 examples/Shared_Malloc/Options.h delete mode 100644 examples/Shared_Malloc/Shared_Malloc.mak delete mode 100644 examples/Shared_Malloc/Shared_Malloc.mdp delete mode 100644 examples/Shared_Malloc/test_malloc.cpp delete mode 100644 examples/Shared_Malloc/test_multiple_mallocs.cpp delete mode 100644 examples/Shared_Malloc/test_persistence.cpp delete mode 100644 examples/Shared_Memory/Makefile delete mode 100644 examples/Shared_Memory/test_MM.cpp delete mode 100644 examples/Shared_Memory/test_SV.cpp delete mode 100644 examples/System_V_IPC/Makefile delete mode 100644 examples/System_V_IPC/README delete mode 100644 examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp delete mode 100644 examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp delete mode 100644 examples/System_V_IPC/SV_Message_Queues/Makefile delete mode 100644 examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp delete mode 100644 examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp delete mode 100644 examples/System_V_IPC/SV_Message_Queues/test.h delete mode 100644 examples/System_V_IPC/SV_Semaphores/Makefile delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphore_Client.cpp delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphore_Server.cpp delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphore_Test.h delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphores.cpp delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp delete mode 100644 examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp delete mode 100644 examples/System_V_IPC/SV_Shared_Memory/Makefile delete mode 100644 examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp delete mode 100644 examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.h delete mode 100644 examples/Threads/Makefile delete mode 100644 examples/Threads/TSS_Data.h delete mode 100644 examples/Threads/TSS_Obj.h delete mode 100644 examples/Threads/TSS_Task.h delete mode 100644 examples/Threads/auto_event.cpp delete mode 100644 examples/Threads/barrier1.cpp delete mode 100644 examples/Threads/barrier1.dsp delete mode 100644 examples/Threads/barrier2.cpp delete mode 100644 examples/Threads/barrier2.dsp delete mode 100644 examples/Threads/cancel.cpp delete mode 100644 examples/Threads/cancel.dsp delete mode 100644 examples/Threads/future1.cpp delete mode 100644 examples/Threads/future1.dsp delete mode 100644 examples/Threads/future2.cpp delete mode 100644 examples/Threads/future2.dsp delete mode 100644 examples/Threads/manual_event.cpp delete mode 100644 examples/Threads/manual_event.dsp delete mode 100644 examples/Threads/process_manager.cpp delete mode 100644 examples/Threads/process_mutex.cpp delete mode 100644 examples/Threads/process_mutex.dsp delete mode 100644 examples/Threads/process_semaphore.cpp delete mode 100644 examples/Threads/process_semaphore.dsp delete mode 100644 examples/Threads/reader_writer.cpp delete mode 100644 examples/Threads/reader_writer.dsp delete mode 100644 examples/Threads/recursive_mutex.cpp delete mode 100644 examples/Threads/recursive_mutex.dsp delete mode 100644 examples/Threads/task_four.cpp delete mode 100644 examples/Threads/task_four.dsp delete mode 100644 examples/Threads/task_one.cpp delete mode 100644 examples/Threads/task_one.dsp delete mode 100644 examples/Threads/task_three.cpp delete mode 100644 examples/Threads/task_three.dsp delete mode 100644 examples/Threads/task_two.cpp delete mode 100644 examples/Threads/task_two.dsp delete mode 100644 examples/Threads/test.dsp delete mode 100644 examples/Threads/test.dsw delete mode 100644 examples/Threads/test.mak delete mode 100644 examples/Threads/test.mdp delete mode 100644 examples/Threads/test_auto_event.cpp delete mode 100644 examples/Threads/test_barrier1.cpp delete mode 100644 examples/Threads/test_barrier2.cpp delete mode 100644 examples/Threads/test_cancel.cpp delete mode 100644 examples/Threads/test_future1.cpp delete mode 100644 examples/Threads/test_future2.cpp delete mode 100644 examples/Threads/test_manual_event.cpp delete mode 100644 examples/Threads/test_process_mutex.cpp delete mode 100644 examples/Threads/test_process_semaphore.cpp delete mode 100644 examples/Threads/test_reader_writer.cpp delete mode 100644 examples/Threads/test_recursive_mutex.cpp delete mode 100644 examples/Threads/test_task.cpp delete mode 100644 examples/Threads/test_task_four.cpp delete mode 100644 examples/Threads/test_task_one.cpp delete mode 100644 examples/Threads/test_task_three.cpp delete mode 100644 examples/Threads/test_task_two.cpp delete mode 100644 examples/Threads/test_thread_manager.cpp delete mode 100644 examples/Threads/test_thread_pool.cpp delete mode 100644 examples/Threads/test_thread_specific.cpp delete mode 100644 examples/Threads/test_token.cpp delete mode 100644 examples/Threads/test_tss.cpp delete mode 100644 examples/Threads/test_tss1.cpp delete mode 100644 examples/Threads/test_tss2.cpp delete mode 100644 examples/Threads/thread_manager.cpp delete mode 100644 examples/Threads/thread_manager.dsp delete mode 100644 examples/Threads/thread_pool.cpp delete mode 100644 examples/Threads/thread_pool.dsp delete mode 100644 examples/Threads/thread_specific.cpp delete mode 100644 examples/Threads/thread_specific.dsp delete mode 100644 examples/Threads/thread_specific.h delete mode 100644 examples/Threads/token.cpp delete mode 100644 examples/Threads/token.dsp delete mode 100644 examples/Threads/tss1.cpp delete mode 100644 examples/Threads/tss1.dsp delete mode 100644 examples/Threads/tss2.cpp delete mode 100644 examples/Threads/tss2.dsp delete mode 100644 examples/Threads/wfmo.cpp delete mode 100644 examples/Timer_Queue/Async_Timer_Queue_Test.cpp delete mode 100644 examples/Timer_Queue/Async_Timer_Queue_Test.h delete mode 100644 examples/Timer_Queue/Driver.cpp delete mode 100644 examples/Timer_Queue/Driver.h delete mode 100644 examples/Timer_Queue/Makefile delete mode 100644 examples/Timer_Queue/README delete mode 100644 examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp delete mode 100644 examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp delete mode 100644 examples/Timer_Queue/Reactor_Timer_Queue_Test.h delete mode 100644 examples/Timer_Queue/Thread_Timer_Queue_Test.cpp delete mode 100644 examples/Timer_Queue/Thread_Timer_Queue_Test.dsp delete mode 100644 examples/Timer_Queue/Thread_Timer_Queue_Test.h delete mode 100644 examples/Timer_Queue/Timer_Queue.dsw delete mode 100644 examples/Timer_Queue/main_async.cpp delete mode 100644 examples/Timer_Queue/main_reactor.cpp delete mode 100644 examples/Timer_Queue/main_thread.cpp delete mode 100644 include/makeinclude/macros.GNU delete mode 100644 include/makeinclude/platform_aix.GNU delete mode 100644 include/makeinclude/platform_aix4.2.GNU delete mode 100644 include/makeinclude/platform_chorus.GNU delete mode 100644 include/makeinclude/platform_dgux4_epc.GNU delete mode 100644 include/makeinclude/platform_freebsd.GNU delete mode 100644 include/makeinclude/platform_freebsd_pthread.GNU delete mode 100644 include/makeinclude/platform_hpux.GNU delete mode 100644 include/makeinclude/platform_hpux_aCC.GNU delete mode 100644 include/makeinclude/platform_hpux_gcc.GNU delete mode 100644 include/makeinclude/platform_hpux_orbix.GNU delete mode 100644 include/makeinclude/platform_irix5.2.GNU delete mode 100644 include/makeinclude/platform_irix5.3_g++.GNU delete mode 100644 include/makeinclude/platform_irix5.3_sgic++.GNU delete mode 100644 include/makeinclude/platform_irix6.x-sgic++.GNU delete mode 100644 include/makeinclude/platform_irix6.x_g++.GNU delete mode 100644 include/makeinclude/platform_linux.GNU delete mode 100644 include/makeinclude/platform_linux_kcc.GNU delete mode 100644 include/makeinclude/platform_linux_lxpthread.GNU delete mode 100644 include/makeinclude/platform_linux_lxpthreads.GNU delete mode 100644 include/makeinclude/platform_linux_pthread.GNU delete mode 100644 include/makeinclude/platform_lynxos.GNU delete mode 100644 include/makeinclude/platform_m88k.GNU delete mode 100644 include/makeinclude/platform_mvs.GNU delete mode 100644 include/makeinclude/platform_netbsd.GNU delete mode 100644 include/makeinclude/platform_osf1_3.2.GNU delete mode 100644 include/makeinclude/platform_osf1_4.0.GNU delete mode 100644 include/makeinclude/platform_osf1_4.0_g++.GNU delete mode 100644 include/makeinclude/platform_psosim_g++.GNU delete mode 100644 include/makeinclude/platform_sco-nothread.GNU delete mode 100644 include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU delete mode 100644 include/makeinclude/platform_sco5.0.0-mit-pthread.GNU delete mode 100644 include/makeinclude/platform_sco5.0.0-nothread.GNU delete mode 100644 include/makeinclude/platform_sunos4_g++.GNU delete mode 100644 include/makeinclude/platform_sunos4_lucid.GNU delete mode 100644 include/makeinclude/platform_sunos4_sunc++3.x.GNU delete mode 100644 include/makeinclude/platform_sunos4_sunc++4.x.GNU delete mode 100644 include/makeinclude/platform_sunos4_sunc++4.x_orbix.GNU delete mode 100644 include/makeinclude/platform_sunos5_centerline.GNU delete mode 100644 include/makeinclude/platform_sunos5_centerline_orbix.GNU delete mode 100644 include/makeinclude/platform_sunos5_egcs.GNU delete mode 100644 include/makeinclude/platform_sunos5_g++.GNU delete mode 100644 include/makeinclude/platform_sunos5_sunc++.GNU delete mode 100644 include/makeinclude/platform_sunos5_sunc++_orbix.GNU delete mode 100644 include/makeinclude/platform_sunos5_x86_g++.GNU delete mode 100644 include/makeinclude/platform_tandem.GNU delete mode 100644 include/makeinclude/platform_unixware_g++.GNU delete mode 100644 include/makeinclude/platform_vxworks5.x_g++.GNU delete mode 100644 include/makeinclude/platform_vxworks5.x_ghs.GNU delete mode 100644 include/makeinclude/rules.bin.GNU delete mode 100644 include/makeinclude/rules.common.GNU delete mode 100644 include/makeinclude/rules.lib.GNU delete mode 100644 include/makeinclude/rules.local.GNU delete mode 100644 include/makeinclude/rules.nested.GNU delete mode 100644 include/makeinclude/rules.nolocal.GNU delete mode 100644 include/makeinclude/rules.nonested.GNU delete mode 100644 include/makeinclude/wrapper_macros.GNU delete mode 100644 java/ChangeLog delete mode 100644 java/ImageProcessing/ImageProcessing.dsp delete mode 100644 java/ImageProcessing/ImageProcessing.dsw delete mode 100644 java/ImageProcessing/filters/Assert.java delete mode 100644 java/ImageProcessing/filters/BleachFilter.java delete mode 100644 java/ImageProcessing/filters/BlurFilter.java delete mode 100644 java/ImageProcessing/filters/DarkenFilter.java delete mode 100644 java/ImageProcessing/filters/DeSpeckleFilter.java delete mode 100644 java/ImageProcessing/filters/DissolveFilter.java delete mode 100644 java/ImageProcessing/filters/EdgeDetectFilter.java delete mode 100644 java/ImageProcessing/filters/EmbossFilter.java delete mode 100644 java/ImageProcessing/filters/Makefile delete mode 100644 java/ImageProcessing/filters/MedFilter.java delete mode 100644 java/ImageProcessing/filters/OilPaintFilter.java delete mode 100644 java/ImageProcessing/filters/PixelizeFilter.java delete mode 100644 java/ImageProcessing/filters/RandomizeFilter.java delete mode 100644 java/ImageProcessing/filters/RotateFilter.java delete mode 100644 java/ImageProcessing/filters/SharpenFilter.java delete mode 100644 java/ImageProcessing/filters/SpatialFilter.java delete mode 100644 java/ImageProcessing/filters/SpreadFilter.java delete mode 100644 java/ImageProcessing/filters/Timer.java delete mode 100644 java/ImageProcessing/framework/BaseButton.java delete mode 100644 java/ImageProcessing/framework/BenchmarkApplet.java delete mode 100644 java/ImageProcessing/framework/DialogManager.java delete mode 100644 java/ImageProcessing/framework/DialogType.java delete mode 100644 java/ImageProcessing/framework/FileBrowser.java delete mode 100644 java/ImageProcessing/framework/FilePanel.java delete mode 100644 java/ImageProcessing/framework/FilterTest.java delete mode 100644 java/ImageProcessing/framework/GIFHandler.java delete mode 100644 java/ImageProcessing/framework/GifEncoder.java delete mode 100644 java/ImageProcessing/framework/Hierarchy.java delete mode 100644 java/ImageProcessing/framework/HierarchyAdapter.java delete mode 100644 java/ImageProcessing/framework/Icon.java delete mode 100644 java/ImageProcessing/framework/ImageApp.java delete mode 100644 java/ImageProcessing/framework/ImageByteCounter.java delete mode 100644 java/ImageProcessing/framework/ImageCanvas.java delete mode 100644 java/ImageProcessing/framework/ImageEncoder.java delete mode 100644 java/ImageProcessing/framework/ImageProcessor.java delete mode 100644 java/ImageProcessing/framework/ImageSender.java delete mode 100644 java/ImageProcessing/framework/IntHashtable.java delete mode 100644 java/ImageProcessing/framework/ListFiles.java delete mode 100755 java/ImageProcessing/framework/LoadURLFrame.java delete mode 100644 java/ImageProcessing/framework/Makefile delete mode 100644 java/ImageProcessing/framework/MedJava.html delete mode 100644 java/ImageProcessing/framework/Options.java delete mode 100755 java/ImageProcessing/framework/SaveURLFrame.java delete mode 100644 java/ImageProcessing/framework/Separator.java delete mode 100644 java/ImageProcessing/framework/ServerHandler.java delete mode 100644 java/ImageProcessing/framework/ServerTest.java delete mode 100644 java/ImageProcessing/framework/StatusDisplay.java delete mode 100644 java/ImageProcessing/framework/StatusIndicator.java delete mode 100644 java/ImageProcessing/framework/TestHandler.java delete mode 100644 java/ImageProcessing/framework/Tester.java delete mode 100644 java/ImageProcessing/framework/doc01.gif delete mode 100644 java/ImageProcessing/framework/file03.gif delete mode 100644 java/ImageProcessing/framework/filter.conf delete mode 100644 java/ImageProcessing/framework/help.conf delete mode 100644 java/ImageProcessing/framework/test.html delete mode 100644 java/ImageProcessing/framework/testFilter.conf delete mode 100644 java/VERSION delete mode 100644 java/apps/NexusII/README delete mode 100644 java/apps/NexusII/classes/ClientHandler.class delete mode 100644 java/apps/NexusII/classes/FrameHandler.class delete mode 100644 java/apps/NexusII/classes/ImageCanvas.class delete mode 100644 java/apps/NexusII/classes/NexusClientApplet.class delete mode 100644 java/apps/NexusII/classes/NexusIIserver.class delete mode 100644 java/apps/NexusII/classes/Room.class delete mode 100644 java/apps/NexusII/classes/RoomFactory.class delete mode 100644 java/apps/NexusII/classes/RoomFrame.class delete mode 100644 java/apps/NexusII/classes/RoomThread.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CApplet.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CApplet.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CButton.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CButton.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CCanvas.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CCanvas.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CFrame.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CFrame.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CList.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CList.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CPanel.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CPanel.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CTextArea.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CTextArea.java delete mode 100644 java/apps/NexusII/classes/awtCommand/CTextField.class delete mode 100644 java/apps/NexusII/classes/awtCommand/CTextField.java delete mode 100644 java/apps/NexusII/classes/awtCommand/Command.class delete mode 100644 java/apps/NexusII/classes/awtCommand/Command.java delete mode 100644 java/apps/NexusII/classes/commandHandler.class delete mode 100644 java/apps/NexusII/classes/commandParser.class delete mode 100644 java/apps/NexusII/classes/connectionHandler.class delete mode 100644 java/apps/NexusII/classes/joinHandler.class delete mode 100644 java/apps/NexusII/classes/roomHandler.class delete mode 100644 java/apps/NexusII/classes/textHandler.class delete mode 100644 java/apps/NexusII/src/Consumer.java delete mode 100644 java/apps/NexusII/src/MT_Bounded_Queue.java delete mode 100644 java/apps/NexusII/src/MT_Bounded_Queue_Group.java delete mode 100644 java/apps/NexusII/src/NexusClientApplet.java delete mode 100644 java/apps/NexusII/src/NexusIIserver.java delete mode 100644 java/apps/NexusII/src/Producer.java delete mode 100644 java/apps/NexusII/src/Room.java delete mode 100644 java/apps/NexusII/src/RoomFrame.java delete mode 100644 java/apps/NexusII/src/RoomSpace.java delete mode 100644 java/apps/NexusII/src/Timed_Wait.java delete mode 100644 java/apps/NexusII/src/Timer.java delete mode 100644 java/apps/NexusII/src/commandHandler.java delete mode 100644 java/apps/NexusII/src/commandParser.java delete mode 100644 java/apps/NexusII/src/connectionHandler.java delete mode 100644 java/apps/NexusII/src/consts.java delete mode 100644 java/apps/NexusII/src/dataPacket.java delete mode 100644 java/apps/NexusII/src/joinHandler.java delete mode 100644 java/apps/NexusII/src/makefile delete mode 100644 java/apps/NexusII/src/nexusDemuxThread.java delete mode 100644 java/apps/NexusII/src/roomHandler.java delete mode 100644 java/apps/NexusII/src/socketReaderThread.java delete mode 100644 java/apps/NexusII/src/socketWriterThread.java delete mode 100644 java/apps/NexusII/src/url_to_url.java delete mode 100755 java/apps/NexusII/start delete mode 100644 java/apps/NexusII/start.html delete mode 100644 java/doc/images/GridBagEx.gif delete mode 100644 java/doc/images/OpenBookIcon.gif delete mode 100644 java/doc/images/blue-ball-small.gif delete mode 100644 java/doc/images/blue-ball.gif delete mode 100644 java/doc/images/class-index.gif delete mode 100644 java/doc/images/constructor-index.gif delete mode 100644 java/doc/images/constructors.gif delete mode 100644 java/doc/images/cyan-ball-small.gif delete mode 100644 java/doc/images/cyan-ball.gif delete mode 100644 java/doc/images/error-index.gif delete mode 100644 java/doc/images/exception-index.gif delete mode 100644 java/doc/images/green-ball-small.gif delete mode 100644 java/doc/images/green-ball.gif delete mode 100644 java/doc/images/interface-index.gif delete mode 100644 java/doc/images/magenta-ball-small.gif delete mode 100644 java/doc/images/magenta-ball.gif delete mode 100644 java/doc/images/method-index.gif delete mode 100644 java/doc/images/methods.gif delete mode 100644 java/doc/images/package-index.gif delete mode 100644 java/doc/images/red-ball-small.gif delete mode 100644 java/doc/images/red-ball.gif delete mode 100644 java/doc/images/variable-index.gif delete mode 100644 java/doc/images/variables.gif delete mode 100644 java/doc/images/yellow-ball-small.gif delete mode 100644 java/doc/images/yellow-ball.gif delete mode 100644 java/examples/Logger/README delete mode 100644 java/examples/Logger/simple-server/LogRecord.java delete mode 100644 java/examples/Logger/simple-server/LoggerConstants.java delete mode 100644 java/examples/Logger/simple-server/LoggingAcceptor.java delete mode 100644 java/examples/Logger/simple-server/LoggingClient.java delete mode 100644 java/examples/Logger/simple-server/LoggingHandler.java delete mode 100644 java/examples/Logger/simple-server/Makefile delete mode 100644 java/examples/Logger/simple-server/README delete mode 100644 java/examples/Logger/simple-server/SimpleLogger.java delete mode 100644 java/gjt/Assert.java delete mode 100644 java/gjt/Bargauge.java delete mode 100644 java/gjt/Border.java delete mode 100644 java/gjt/Box.java delete mode 100644 java/gjt/BulletinLayout.java delete mode 100644 java/gjt/ButtonPanel.java delete mode 100644 java/gjt/CardPanel.java delete mode 100644 java/gjt/ChoiceCardPanel.java delete mode 100644 java/gjt/ColumnLayout.java delete mode 100644 java/gjt/ComponentScroller.java delete mode 100644 java/gjt/DialogClient.java delete mode 100644 java/gjt/DrawingPanel.java delete mode 100644 java/gjt/DrawnRectangle.java delete mode 100644 java/gjt/EtchedBorder.java delete mode 100644 java/gjt/EtchedRectangle.java delete mode 100644 java/gjt/Etching.java delete mode 100644 java/gjt/ExclusiveImageButtonPanel.java delete mode 100644 java/gjt/FontDialog.java delete mode 100644 java/gjt/GJT.DSP delete mode 100644 java/gjt/GJT.DSW delete mode 100644 java/gjt/GJTDialog.java delete mode 100644 java/gjt/IconCardPanel.java delete mode 100644 java/gjt/ImageButton.java delete mode 100644 java/gjt/ImageButtonController.java delete mode 100644 java/gjt/ImageButtonEvent.java delete mode 100644 java/gjt/ImageButtonPanel.java delete mode 100644 java/gjt/ImageButtonPanelController.java delete mode 100644 java/gjt/ImageCanvas.java delete mode 100644 java/gjt/ImageScroller.java delete mode 100644 java/gjt/LabelCanvas.java delete mode 100644 java/gjt/Makefile delete mode 100644 java/gjt/MessageDialog.java delete mode 100644 java/gjt/MouseController.java delete mode 100644 java/gjt/Orientation.java delete mode 100644 java/gjt/ProgressDialog.java delete mode 100644 java/gjt/QuestionDialog.java delete mode 100644 java/gjt/RadioImageButtonPanelController.java delete mode 100644 java/gjt/RowLayout.java delete mode 100644 java/gjt/Scroller.java delete mode 100644 java/gjt/ScrollerLayout.java delete mode 100644 java/gjt/SelectionEvent.java delete mode 100644 java/gjt/Separator.java delete mode 100644 java/gjt/SpringyImageButtonController.java delete mode 100644 java/gjt/StateButton.java delete mode 100644 java/gjt/StateButtonController.java delete mode 100644 java/gjt/StickyImageButtonController.java delete mode 100644 java/gjt/Stopwatch.java delete mode 100644 java/gjt/StopwatchClient.java delete mode 100644 java/gjt/ThreeDBorder.java delete mode 100644 java/gjt/ThreeDBorderStyle.java delete mode 100644 java/gjt/ThreeDRectangle.java delete mode 100644 java/gjt/Toolbar.java delete mode 100644 java/gjt/Util.java delete mode 100644 java/gjt/YesNoDialog.java delete mode 100644 java/gjt/animation/CollisionArena.java delete mode 100644 java/gjt/animation/CollisionDetector.java delete mode 100644 java/gjt/animation/EdgeCollisionDetector.java delete mode 100644 java/gjt/animation/Playfield.java delete mode 100644 java/gjt/animation/Sequence.java delete mode 100644 java/gjt/animation/Sprite.java delete mode 100644 java/gjt/animation/SpriteCollisionDetector.java delete mode 100644 java/gjt/image/BleachImageFilter.java delete mode 100644 java/gjt/image/DissolveFilter.java delete mode 100644 java/gjt/image/ImageDissolver.java delete mode 100644 java/gjt/rubberband/Rubberband.java delete mode 100644 java/gjt/rubberband/RubberbandEllipse.java delete mode 100644 java/gjt/rubberband/RubberbandLine.java delete mode 100644 java/gjt/rubberband/RubberbandPanel.java delete mode 100644 java/gjt/rubberband/RubberbandRectangle.java delete mode 100644 java/gjt/test/AttributesPanel.java delete mode 100644 java/gjt/test/BargaugeTest.java delete mode 100644 java/gjt/test/BleachImageFilterTest.java delete mode 100644 java/gjt/test/BorderTest.java delete mode 100644 java/gjt/test/BoxTest.java delete mode 100644 java/gjt/test/BumpAnimationTest.java delete mode 100644 java/gjt/test/ChoiceCardPanelTest.java delete mode 100644 java/gjt/test/ColumnLayoutTest.java delete mode 100644 java/gjt/test/ComponentScrollerTest.java delete mode 100644 java/gjt/test/ConnectionsPanel.java delete mode 100644 java/gjt/test/DialogTest.java delete mode 100644 java/gjt/test/DrawnRectangleTest.java delete mode 100644 java/gjt/test/FontDialogTest.java delete mode 100644 java/gjt/test/IconCardPanelTest.java delete mode 100644 java/gjt/test/ImageButtonTest.java delete mode 100644 java/gjt/test/ImageDissolverTest.java delete mode 100644 java/gjt/test/ImageScrollerTest.java delete mode 100644 java/gjt/test/LabelCanvasTest.java delete mode 100644 java/gjt/test/MessageDialogTest.java delete mode 100644 java/gjt/test/OccupationOracle.java delete mode 100644 java/gjt/test/RowLayoutTest.java delete mode 100644 java/gjt/test/RubberbandTest.java delete mode 100644 java/gjt/test/SeparatorTest.java delete mode 100644 java/gjt/test/SimpleAnimationTest.java delete mode 100644 java/gjt/test/SimpleBargaugeTest.java delete mode 100644 java/gjt/test/StateButtonTest.java delete mode 100644 java/gjt/test/TenPixelBorder.java delete mode 100644 java/gjt/test/TitledPanel.java delete mode 100644 java/gjt/test/ToolbarTest.java delete mode 100644 java/gjt/test/TwoDrinkersAnimationTest.java delete mode 100644 java/gjt/test/UnitTest.java delete mode 100644 java/java_cup/java_cup.dsp delete mode 100644 java/java_cup/java_cup.dsw delete mode 100644 java/netsvcs/Logger/DefaultLMR.java delete mode 100644 java/netsvcs/Logger/LogMessageReceiver.java delete mode 100644 java/netsvcs/Logger/LogRecord.java delete mode 100644 java/netsvcs/Logger/Makefile delete mode 100644 java/netsvcs/Logger/ServerLoggingAcceptor.java delete mode 100644 java/netsvcs/Logger/ServerLoggingHandler.java delete mode 100755 java/netsvcs/Time/Clerk.java delete mode 100755 java/netsvcs/Time/Makefile delete mode 100755 java/netsvcs/Time/Server.java delete mode 100755 java/netsvcs/Time/TSClerkHandler.java delete mode 100755 java/netsvcs/Time/TSClerkProcessor.java delete mode 100755 java/netsvcs/Time/TSRequestAcceptor.java delete mode 100755 java/netsvcs/Time/TSRequestHandler.java delete mode 100755 java/netsvcs/Time/TSServerAcceptor.java delete mode 100755 java/netsvcs/Time/TSServerHandler.java delete mode 100644 java/src/ACE.java delete mode 100644 java/src/AcceptStrategy.java delete mode 100644 java/src/Acceptor.java delete mode 100644 java/src/ActivateStrategy.java delete mode 100644 java/src/AddServiceObjectNode.java delete mode 100644 java/src/Blob.java delete mode 100644 java/src/BlobHandler.java delete mode 100644 java/src/BlobReader.java delete mode 100644 java/src/BlobWriter.java delete mode 100644 java/src/ClassNameGenerator.java delete mode 100644 java/src/ClassReader.java delete mode 100644 java/src/Condition.java delete mode 100644 java/src/Connector.java delete mode 100644 java/src/CreationStrategy.java delete mode 100644 java/src/EventHandler.java delete mode 100644 java/src/GetOpt.java delete mode 100644 java/src/HTTPHelper.java delete mode 100644 java/src/INETAddr.java delete mode 100644 java/src/IOCntlCmds.java delete mode 100644 java/src/IOCntlMsg.java delete mode 100644 java/src/JACE.DSP delete mode 100644 java/src/JACE.DSW delete mode 100755 java/src/MakeLexer delete mode 100755 java/src/MakeParser delete mode 100644 java/src/Makefile delete mode 100644 java/src/MessageBlock.java delete mode 100644 java/src/MessageQueue.java delete mode 100644 java/src/MessageType.java delete mode 100644 java/src/Module.java delete mode 100644 java/src/Mutex.java delete mode 100644 java/src/OS.java delete mode 100644 java/src/ParseNode.java delete mode 100644 java/src/ProfileTimer.java delete mode 100644 java/src/RWMutex.java delete mode 100644 java/src/RemoveNode.java delete mode 100644 java/src/ResumeNode.java delete mode 100644 java/src/SOCKAcceptor.java delete mode 100644 java/src/SOCKConnector.java delete mode 100644 java/src/SOCKStream.java delete mode 100644 java/src/Semaphore.java delete mode 100644 java/src/ServiceConfig.java delete mode 100644 java/src/ServiceLoader.java delete mode 100644 java/src/ServiceObject.java delete mode 100644 java/src/ServiceObjectRecord.java delete mode 100644 java/src/ServiceRecord.java delete mode 100644 java/src/ServiceRepository.java delete mode 100644 java/src/StrategyAcceptor.java delete mode 100644 java/src/Stream.java delete mode 100644 java/src/StreamHead.java delete mode 100644 java/src/StreamTail.java delete mode 100644 java/src/SuspendNode.java delete mode 100644 java/src/SvcHandler.java delete mode 100644 java/src/Svc_Conf.y delete mode 100644 java/src/Task.java delete mode 100644 java/src/TaskFlags.java delete mode 100644 java/src/ThreadManager.java delete mode 100644 java/src/ThruTask.java delete mode 100644 java/src/TimeValue.java delete mode 100644 java/src/TimedWait.java delete mode 100644 java/src/TimeoutException.java delete mode 100644 java/src/TimerQueue.java delete mode 100644 java/src/Token.java delete mode 100644 java/src/Yylex.java delete mode 100644 java/src/Yylex.lex delete mode 100644 java/src/parser.java delete mode 100644 java/src/sym.java delete mode 100644 java/tests/ASX/BufferStreamTest.dsp delete mode 100644 java/tests/ASX/BufferStreamTest.java delete mode 100644 java/tests/ASX/Makefile delete mode 100644 java/tests/ASX/MessageQueueTest.dsp delete mode 100644 java/tests/ASX/MessageQueueTest.java delete mode 100644 java/tests/ASX/PriorityBufferTest.dsp delete mode 100644 java/tests/ASX/PriorityBufferTest.java delete mode 100644 java/tests/ASX/TaskTest.dsp delete mode 100644 java/tests/ASX/TaskTest.java delete mode 100644 java/tests/ASX/ThreadPoolTest.dsp delete mode 100644 java/tests/ASX/ThreadPoolTest.java delete mode 100644 java/tests/Concurrency/Condition/Condition.dsp delete mode 100644 java/tests/Concurrency/Condition/Consumer.java delete mode 100644 java/tests/Concurrency/Condition/JoinableThreadGroup.java delete mode 100644 java/tests/Concurrency/Condition/Makefile delete mode 100644 java/tests/Concurrency/Condition/Producer.java delete mode 100644 java/tests/Concurrency/Condition/QueueTest.java delete mode 100644 java/tests/Concurrency/Condition/SimpleMessageQueue.java delete mode 100644 java/tests/Concurrency/Makefile delete mode 100644 java/tests/Concurrency/MutexTest.dsp delete mode 100644 java/tests/Concurrency/MutexTest.java delete mode 100644 java/tests/Concurrency/RWMutexTest.dsp delete mode 100644 java/tests/Concurrency/RWMutexTest.java delete mode 100644 java/tests/Concurrency/SemaphoreTest.dsp delete mode 100644 java/tests/Concurrency/SemaphoreTest.java delete mode 100644 java/tests/Concurrency/TokenTest.dsp delete mode 100644 java/tests/Concurrency/TokenTest.java delete mode 100644 java/tests/Connection/AcceptorTest.dsp delete mode 100644 java/tests/Connection/AcceptorTest.java delete mode 100644 java/tests/Connection/ClientHandler.dsp delete mode 100644 java/tests/Connection/ClientHandler.java delete mode 100644 java/tests/Connection/ConnectorTest.dsp delete mode 100644 java/tests/Connection/ConnectorTest.java delete mode 100644 java/tests/Connection/Makefile delete mode 100644 java/tests/Connection/ServerHandler.dsp delete mode 100644 java/tests/Connection/ServerHandler.java delete mode 100644 java/tests/Misc/Makefile delete mode 100644 java/tests/Misc/ParseArgsTest.dsp delete mode 100644 java/tests/Misc/ParseArgsTest.java delete mode 100644 java/tests/Reactor/Makefile delete mode 100644 java/tests/Reactor/TimeValueTest.dsp delete mode 100644 java/tests/Reactor/TimeValueTest.java delete mode 100644 java/tests/Reactor/TimerQueueTest.dsp delete mode 100644 java/tests/Reactor/TimerQueueTest.java delete mode 100644 java/tests/SOCK_SAP/Makefile delete mode 100644 java/tests/SOCK_SAP/SOCKAcceptorTest.dsp delete mode 100644 java/tests/SOCK_SAP/SOCKAcceptorTest.java delete mode 100644 java/tests/SOCK_SAP/SOCKConnectorTest.dsp delete mode 100644 java/tests/SOCK_SAP/SOCKConnectorTest.java delete mode 100644 java/tests/ServiceConfigurator/Makefile delete mode 100644 java/tests/ServiceConfigurator/ServiceConfigurator.dsp delete mode 100644 java/tests/ServiceConfigurator/TestService.java delete mode 100644 java/tests/ServiceConfigurator/reloadTest.java delete mode 100644 java/tests/ServiceConfigurator/suspendTest.java delete mode 100644 java/tests/ServiceConfigurator/suspendTest1.conf delete mode 100644 java/tests/ServiceConfigurator/suspendTest2.conf delete mode 100644 java/tests/ServiceConfigurator/suspendTest3.conf delete mode 100644 java/tests/ServiceConfigurator/svc.conf delete mode 100644 java/tests/Tests.dsw delete mode 100644 java/tests/netsvcs/Logger/LoggerTest.java delete mode 100644 java/tests/netsvcs/Logger/Makefile delete mode 100644 java/tests/netsvcs/Naming/ClientTest.java delete mode 100644 java/tests/netsvcs/Naming/Makefile delete mode 100644 netsvcs/ACE-netsvcs.html delete mode 100644 netsvcs/Makefile delete mode 100644 netsvcs/README delete mode 100644 netsvcs/clients/Logger/Logger.dsw delete mode 100644 netsvcs/clients/Logger/Logger.mak delete mode 100644 netsvcs/clients/Logger/Logger.mdp delete mode 100644 netsvcs/clients/Logger/Makefile delete mode 100644 netsvcs/clients/Logger/README delete mode 100644 netsvcs/clients/Logger/direct_logging.cpp delete mode 100644 netsvcs/clients/Logger/direct_logging.dsp delete mode 100644 netsvcs/clients/Logger/indirect_logging.cpp delete mode 100644 netsvcs/clients/Logger/indirect_logging.dsp delete mode 100644 netsvcs/clients/Makefile delete mode 100644 netsvcs/clients/Naming/Client/Client.dsw delete mode 100644 netsvcs/clients/Naming/Client/Client_Test.cpp delete mode 100644 netsvcs/clients/Naming/Client/Client_Test.dsp delete mode 100644 netsvcs/clients/Naming/Client/Client_Test.h delete mode 100644 netsvcs/clients/Naming/Client/Makefile delete mode 100644 netsvcs/clients/Naming/Client/main.cpp delete mode 100644 netsvcs/clients/Naming/Client/main.dsp delete mode 100644 netsvcs/clients/Naming/Client/svc.conf delete mode 100644 netsvcs/clients/Naming/Client/svc2.conf delete mode 100644 netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp delete mode 100644 netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h delete mode 100644 netsvcs/clients/Naming/Dump_Restore/Makefile delete mode 100644 netsvcs/clients/Naming/Dump_Restore/README delete mode 100644 netsvcs/clients/Naming/Dump_Restore/createfile.cpp delete mode 100644 netsvcs/clients/Naming/Dump_Restore/main.cpp delete mode 100644 netsvcs/clients/Naming/Dump_Restore/nametest.cpp delete mode 100644 netsvcs/clients/Naming/Dump_Restore/nametest.h delete mode 100644 netsvcs/clients/Naming/Makefile delete mode 100644 netsvcs/clients/Naming/README delete mode 100644 netsvcs/clients/README delete mode 100644 netsvcs/clients/Tokens/Makefile delete mode 100644 netsvcs/clients/Tokens/README delete mode 100644 netsvcs/clients/Tokens/collection/Makefile delete mode 100644 netsvcs/clients/Tokens/collection/README delete mode 100644 netsvcs/clients/Tokens/collection/collection.cpp delete mode 100644 netsvcs/clients/Tokens/collection/rw_locks.cpp delete mode 100644 netsvcs/clients/Tokens/deadlock/Makefile delete mode 100644 netsvcs/clients/Tokens/deadlock/README delete mode 100644 netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp delete mode 100644 netsvcs/clients/Tokens/invariant/Makefile delete mode 100644 netsvcs/clients/Tokens/invariant/README delete mode 100644 netsvcs/clients/Tokens/invariant/invariant.cpp delete mode 100644 netsvcs/clients/Tokens/manual/Makefile delete mode 100644 netsvcs/clients/Tokens/manual/README delete mode 100644 netsvcs/clients/Tokens/manual/manual.cpp delete mode 100644 netsvcs/clients/Tokens/mutex/Makefile delete mode 100644 netsvcs/clients/Tokens/mutex/README delete mode 100644 netsvcs/clients/Tokens/mutex/test_mutex.cpp delete mode 100644 netsvcs/clients/Tokens/rw_lock/Makefile delete mode 100644 netsvcs/clients/Tokens/rw_lock/README delete mode 100644 netsvcs/clients/Tokens/rw_lock/rw_locks.cpp delete mode 100644 netsvcs/lib/Base_Optimizer.cpp delete mode 100644 netsvcs/lib/Base_Optimizer.h delete mode 100644 netsvcs/lib/Client_Logging_Handler.cpp delete mode 100644 netsvcs/lib/Client_Logging_Handler.h delete mode 100644 netsvcs/lib/Client_Logging_Handler.i delete mode 100644 netsvcs/lib/Log_Message_Receiver.cpp delete mode 100644 netsvcs/lib/Log_Message_Receiver.h delete mode 100644 netsvcs/lib/Logging_Strategy.cpp delete mode 100644 netsvcs/lib/Logging_Strategy.h delete mode 100644 netsvcs/lib/Makefile delete mode 100644 netsvcs/lib/Name_Handler.cpp delete mode 100644 netsvcs/lib/Name_Handler.h delete mode 100644 netsvcs/lib/README delete mode 100644 netsvcs/lib/Server_Logging_Handler.cpp delete mode 100644 netsvcs/lib/Server_Logging_Handler.h delete mode 100644 netsvcs/lib/Server_Logging_Handler.i delete mode 100644 netsvcs/lib/Server_Logging_Handler_T.cpp delete mode 100644 netsvcs/lib/Server_Logging_Handler_T.h delete mode 100644 netsvcs/lib/TS_Clerk_Handler.cpp delete mode 100644 netsvcs/lib/TS_Clerk_Handler.h delete mode 100644 netsvcs/lib/TS_Server_Handler.cpp delete mode 100644 netsvcs/lib/TS_Server_Handler.h delete mode 100644 netsvcs/lib/Token_Handler.cpp delete mode 100644 netsvcs/lib/Token_Handler.h delete mode 100644 netsvcs/lib/netsvcs.dsp delete mode 100644 netsvcs/lib/netsvcs.dsw delete mode 100644 netsvcs/lib/netsvcs.mak delete mode 100644 netsvcs/lib/netsvcs.mdp delete mode 100644 netsvcs/servers/Makefile delete mode 100644 netsvcs/servers/README delete mode 100644 netsvcs/servers/cli.conf delete mode 100644 netsvcs/servers/main.cpp delete mode 100644 netsvcs/servers/ntsvc.conf delete mode 100644 netsvcs/servers/servers.dsp delete mode 100644 netsvcs/servers/servers.dsw delete mode 100644 netsvcs/servers/servers.mak delete mode 100644 netsvcs/servers/servers.mdp delete mode 100644 netsvcs/servers/svc.conf delete mode 100644 performance-tests/Makefile delete mode 100644 performance-tests/Misc/Makefile delete mode 100644 performance-tests/Misc/basic_func.cpp delete mode 100644 performance-tests/Misc/basic_func.h delete mode 100644 performance-tests/Misc/basic_perf.cpp delete mode 100644 performance-tests/Misc/basic_perf.dsp delete mode 100644 performance-tests/Misc/childbirth_time.cpp delete mode 100644 performance-tests/Misc/childbirth_time.dsp delete mode 100644 performance-tests/Misc/context_switch_time.cpp delete mode 100644 performance-tests/Misc/context_switch_time.dsp delete mode 100644 performance-tests/Misc/misc.dsw delete mode 100644 performance-tests/Misc/misc.mak delete mode 100644 performance-tests/Misc/misc.mdp delete mode 100644 performance-tests/Misc/preempt.cpp delete mode 100644 performance-tests/Misc/test_mutex.cpp delete mode 100644 performance-tests/Misc/test_mutex.dsp delete mode 100644 performance-tests/Misc/test_naming.cpp delete mode 100644 performance-tests/Misc/test_naming.dsp delete mode 100644 performance-tests/Misc/test_singleton.cpp delete mode 100644 performance-tests/Misc/test_singleton.dsp delete mode 100644 performance-tests/README delete mode 100644 performance-tests/Synch-Benchmarks/Benchmark.cpp delete mode 100644 performance-tests/Synch-Benchmarks/Benchmark.h delete mode 100644 performance-tests/Synch-Benchmarks/Makefile delete mode 100644 performance-tests/Synch-Benchmarks/Makefile.driver delete mode 100644 performance-tests/Synch-Benchmarks/Makefile.synch_tests delete mode 100644 performance-tests/Synch-Benchmarks/Options.cpp delete mode 100644 performance-tests/Synch-Benchmarks/Options.h delete mode 100644 performance-tests/Synch-Benchmarks/Options.i delete mode 100644 performance-tests/Synch-Benchmarks/README delete mode 100644 performance-tests/Synch-Benchmarks/Synch_Tests.dsp delete mode 100644 performance-tests/Synch-Benchmarks/Synch_Tests.dsw delete mode 100644 performance-tests/Synch-Benchmarks/Synch_Tests.mak delete mode 100644 performance-tests/Synch-Benchmarks/Synch_Tests.mdp delete mode 100644 performance-tests/Synch-Benchmarks/benchmarks delete mode 100644 performance-tests/Synch-Benchmarks/condb_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/conds_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/context.c delete mode 100644 performance-tests/Synch-Benchmarks/context.csh delete mode 100644 performance-tests/Synch-Benchmarks/context_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/memory_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/mutex_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/orig-results delete mode 100644 performance-tests/Synch-Benchmarks/pipe_proc_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/pipe_thr_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/recursive_lock_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/rwrd_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/rwwr_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/sema_test.cpp delete mode 100644 performance-tests/Synch-Benchmarks/svc.conf delete mode 100644 performance-tests/Synch-Benchmarks/synch_driver.cpp delete mode 100644 performance-tests/Synch-Benchmarks/synch_driver.dsp delete mode 100644 performance-tests/Synch-Benchmarks/sysvsema_test.cpp delete mode 100644 performance-tests/TTCP/ACE-C++/How_to_run_tests delete mode 100644 performance-tests/TTCP/ACE-C++/Makefile delete mode 100644 performance-tests/TTCP/ACE-C++/run_test delete mode 100644 performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp delete mode 100644 performance-tests/TTCP/C/How_to_run_tests delete mode 100644 performance-tests/TTCP/C/Makefile delete mode 100644 performance-tests/TTCP/C/README delete mode 100644 performance-tests/TTCP/C/new-ttcp.cpp delete mode 100644 performance-tests/TTCP/C/run_test delete mode 100644 performance-tests/TTCP/Makefile delete mode 100755 performance-tests/TTCP/NT/SLEEP.EXE delete mode 100755 performance-tests/TTCP/NT/TTCP.EXE delete mode 100755 performance-tests/TTCP/NT/TTCPR.BAT delete mode 100755 performance-tests/TTCP/NT/TTCPX.BAT delete mode 100644 performance-tests/TTCP/NT/how-to-use.txt delete mode 100644 performance-tests/TTCP/ORBeline/How_to_run_tests delete mode 100644 performance-tests/TTCP/ORBeline/Makefile delete mode 100644 performance-tests/TTCP/ORBeline/run_test delete mode 100644 performance-tests/TTCP/ORBeline/ser delete mode 100644 performance-tests/TTCP/ORBeline/stdmk delete mode 100644 performance-tests/TTCP/ORBeline/tango_clt delete mode 100644 performance-tests/TTCP/ORBeline/ttcp.idl delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_c.cc delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_c.hh delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_i.cpp delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_i.h delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_s.cc delete mode 100644 performance-tests/TTCP/ORBeline/ttcp_s.hh delete mode 100644 performance-tests/TTCP/Orbix/How_to_run_tests delete mode 100644 performance-tests/TTCP/Orbix/Makefile delete mode 100644 performance-tests/TTCP/Orbix/README delete mode 100644 performance-tests/TTCP/Orbix/orbix_defaults.mk delete mode 100644 performance-tests/TTCP/Orbix/run_test delete mode 100644 performance-tests/TTCP/Orbix/ttcp.hh delete mode 100644 performance-tests/TTCP/Orbix/ttcp.idl delete mode 100644 performance-tests/TTCP/Orbix/ttcpC.cpp delete mode 100644 performance-tests/TTCP/Orbix/ttcpS.cpp delete mode 100644 performance-tests/TTCP/Orbix/ttcp_i.cpp delete mode 100644 performance-tests/TTCP/Orbix/ttcp_i.h delete mode 100644 psosim/Makefile delete mode 100644 psosim/drv_conf.c delete mode 100644 rpc++/.dependencies delete mode 100644 rpc++/COPYING delete mode 100644 rpc++/Makefile delete mode 100644 rpc++/Proj.make delete mode 100644 rpc++/README delete mode 100644 rpc++/README.ORIG delete mode 100644 rpc++/StdHdrs/Makefile delete mode 100644 rpc++/StdHdrs/README delete mode 100644 rpc++/StdHdrs/rpc/auth.h delete mode 100644 rpc++/StdHdrs/rpc/c_types.h delete mode 100644 rpc++/StdHdrs/rpc/clnt.h delete mode 100644 rpc++/StdHdrs/rpc/pmap_clnt.h delete mode 100644 rpc++/StdHdrs/rpc/svc.h delete mode 100644 rpc++/StdHdrs/rpc/xdr.h delete mode 100644 rpc++/callback.cc delete mode 100644 rpc++/example/Makefile delete mode 100644 rpc++/example/calcsvc.cc delete mode 100644 rpc++/example/calcsvc.h delete mode 100644 rpc++/example/client.cc delete mode 100644 rpc++/example/server.cc delete mode 100644 rpc++/gcc-2.2.fix delete mode 100644 rpc++/request.cc delete mode 100644 rpc++/rpc++.cp delete mode 100644 rpc++/rpc++.fn delete mode 100644 rpc++/rpc++.ky delete mode 100644 rpc++/rpc++.pg delete mode 100644 rpc++/rpc++.texi delete mode 100644 rpc++/rpc++.toc delete mode 100644 rpc++/rpc++.tp delete mode 100644 rpc++/rpc++.vr delete mode 100644 rpc++/rpc++/callback.h delete mode 100644 rpc++/rpc++/request.h delete mode 100644 rpc++/rpc++/service.h delete mode 100644 rpc++/rpc++/stub.h delete mode 100644 rpc++/rpc++/xdr++.h delete mode 100644 rpc++/service.cc delete mode 100644 rpc++/stub.cc delete mode 100644 rpc++/version.h delete mode 100644 rpc++/xdr++.cc delete mode 100644 tests/Atomic_Op_Test.cpp delete mode 100644 tests/Atomic_Op_Test.dsp delete mode 100644 tests/Barrier_Test.cpp delete mode 100644 tests/Barrier_Test.dsp delete mode 100644 tests/Basic_Types_Test.cpp delete mode 100644 tests/Basic_Types_Test.dsp delete mode 100644 tests/Buffer_Stream_Test.cpp delete mode 100644 tests/Buffer_Stream_Test.dsp delete mode 100644 tests/CPP_Test.cpp delete mode 100644 tests/Conn_Test.cpp delete mode 100644 tests/Conn_Test.dsp delete mode 100644 tests/Conn_Test.h delete mode 100644 tests/Enum_Interfaces_Test.cpp delete mode 100644 tests/Enum_Interfaces_Test.dsp delete mode 100644 tests/Env_Value_Test.cpp delete mode 100644 tests/Env_Value_Test.dsp delete mode 100644 tests/Future_Test.cpp delete mode 100644 tests/Future_Test.dsp delete mode 100644 tests/Handle_Set_Test.cpp delete mode 100644 tests/Handle_Set_Test.dsp delete mode 100644 tests/Hash_Map_Manager_Test.cpp delete mode 100644 tests/Hash_Map_Manager_Test.dsp delete mode 100644 tests/Hash_Map_Manager_Test.h delete mode 100644 tests/IOStream_Test.cpp delete mode 100644 tests/IOStream_Test.dsp delete mode 100644 tests/MM_Shared_Memory_Test.cpp delete mode 100644 tests/MM_Shared_Memory_Test.dsp delete mode 100644 tests/MT_SOCK_Test.cpp delete mode 100644 tests/MT_SOCK_Test.dsp delete mode 100644 tests/Makefile delete mode 100644 tests/Map_Manager_Test.cpp delete mode 100644 tests/Map_Manager_Test.dsp delete mode 100644 tests/Mem_Map_Test.cpp delete mode 100644 tests/Mem_Map_Test.dsp delete mode 100644 tests/Message_Block_Test.cpp delete mode 100644 tests/Message_Block_Test.dsp delete mode 100644 tests/Message_Queue_Notifications_Test.cpp delete mode 100644 tests/Message_Queue_Notifications_Test.dsp delete mode 100644 tests/Message_Queue_Test.cpp delete mode 100644 tests/Message_Queue_Test.dsp delete mode 100644 tests/Naming_Test.cpp delete mode 100644 tests/Naming_Test.dsp delete mode 100644 tests/Notify_Performance_Test.cpp delete mode 100644 tests/Notify_Performance_Test.dsp delete mode 100644 tests/Pipe_Test.cpp delete mode 100644 tests/Pipe_Test.dsp delete mode 100644 tests/Priority_Buffer_Test.cpp delete mode 100644 tests/Priority_Buffer_Test.dsp delete mode 100644 tests/Priority_Reactor_Test.cpp delete mode 100644 tests/Priority_Reactor_Test.dsp delete mode 100644 tests/Priority_Reactor_Test.h delete mode 100644 tests/Priority_Task_Test.cpp delete mode 100644 tests/Priority_Task_Test.dsp delete mode 100644 tests/Process_Mutex_Test.cpp delete mode 100644 tests/Process_Mutex_Test.dsp delete mode 100644 tests/Process_Strategy_Test.cpp delete mode 100644 tests/Process_Strategy_Test.dsp delete mode 100644 tests/Process_Strategy_Test.h delete mode 100644 tests/README delete mode 100644 tests/Reactor_Exceptions_Test.cpp delete mode 100644 tests/Reactor_Exceptions_Test.dsp delete mode 100644 tests/Reactor_Notify_Test.cpp delete mode 100644 tests/Reactor_Notify_Test.dsp delete mode 100644 tests/Reactor_Performance_Test.cpp delete mode 100644 tests/Reactor_Performance_Test.dsp delete mode 100644 tests/Reactor_Performance_Test.h delete mode 100644 tests/Reactor_Timer_Test.cpp delete mode 100644 tests/Reactor_Timer_Test.dsp delete mode 100644 tests/Reactors_Test.cpp delete mode 100644 tests/Reactors_Test.dsp delete mode 100644 tests/Reader_Writer_Test.cpp delete mode 100644 tests/Reader_Writer_Test.dsp delete mode 100644 tests/Recursive_Mutex_Test.cpp delete mode 100644 tests/Recursive_Mutex_Test.dsp delete mode 100644 tests/SOCK_Connector_Test.cpp delete mode 100644 tests/SOCK_Connector_Test.dsp delete mode 100644 tests/SOCK_Test.cpp delete mode 100644 tests/SOCK_Test.dsp delete mode 100644 tests/SPIPE_Test.cpp delete mode 100644 tests/SPIPE_Test.dsp delete mode 100644 tests/SString_Test.cpp delete mode 100644 tests/SString_Test.dsp delete mode 100644 tests/SV_Shared_Memory_Test.cpp delete mode 100644 tests/SV_Shared_Memory_Test.dsp delete mode 100644 tests/Semaphore_Test.cpp delete mode 100644 tests/Semaphore_Test.dsp delete mode 100644 tests/Service_Config_Test.cpp delete mode 100644 tests/Service_Config_Test.dsp delete mode 100644 tests/Shared_Memory_SV_Test.cpp delete mode 100644 tests/Sigset_Ops_Test.cpp delete mode 100644 tests/Sigset_Ops_Test.dsp delete mode 100644 tests/Simple_Message_Block_Test.cpp delete mode 100644 tests/Simple_Message_Block_Test.dsp delete mode 100644 tests/TSS_Test.cpp delete mode 100644 tests/TSS_Test.dsp delete mode 100644 tests/TSS_Test_Errno.h delete mode 100644 tests/Task_Test.cpp delete mode 100644 tests/Task_Test.dsp delete mode 100644 tests/Thread_Manager_Test.cpp delete mode 100644 tests/Thread_Manager_Test.dsp delete mode 100644 tests/Thread_Manager_Test.h delete mode 100644 tests/Thread_Mutex_Test.cpp delete mode 100644 tests/Thread_Pool_Test.cpp delete mode 100644 tests/Thread_Pool_Test.dsp delete mode 100644 tests/Time_Service_Test.cpp delete mode 100644 tests/Time_Service_Test.dsp delete mode 100644 tests/Time_Value_Test.cpp delete mode 100644 tests/Time_Value_Test.dsp delete mode 100644 tests/Timer_Queue_Test.cpp delete mode 100644 tests/Timer_Queue_Test.dsp delete mode 100644 tests/Tokens_Test.cpp delete mode 100644 tests/Tokens_Test.dsp delete mode 100644 tests/UNIXclerk.conf delete mode 100644 tests/UNIXserver.conf delete mode 100644 tests/UNIXtokens.conf delete mode 100644 tests/UPIPE_SAP_Test.cpp delete mode 100644 tests/UPIPE_SAP_Test.dsp delete mode 100644 tests/Win32clerk.conf delete mode 100644 tests/Win32server.conf delete mode 100644 tests/Win32tokens.conf delete mode 100644 tests/run_tests.bat delete mode 100755 tests/run_tests.check delete mode 100755 tests/run_tests.ksh delete mode 100755 tests/run_tests.psosim delete mode 100755 tests/run_tests.sh delete mode 100644 tests/run_tests.vxworks delete mode 100644 tests/test_config.h delete mode 100644 tests/tests.dsw delete mode 100644 tests/tests.mak delete mode 100644 tests/tests.mdp delete mode 100644 tests/version_tests/Barrier_Test.dsp delete mode 100644 tests/version_tests/Basic_Types_Test.dsp delete mode 100644 tests/version_tests/Buffer_Stream_Test.dsp delete mode 100644 tests/version_tests/Conn_Test.dsp delete mode 100644 tests/version_tests/Enum_Interfaces_Test.dsp delete mode 100644 tests/version_tests/Env_Value_Test.dsp delete mode 100644 tests/version_tests/Future_Test.dsp delete mode 100644 tests/version_tests/Handle_Set_Test.dsp delete mode 100644 tests/version_tests/Hash_Map_Manager_Test.dsp delete mode 100644 tests/version_tests/IOStream_Test.dsp delete mode 100644 tests/version_tests/MM_Shared_Memory_Test.dsp delete mode 100644 tests/version_tests/MT_SOCK_Test.dsp delete mode 100644 tests/version_tests/Map_Manager_Test.dsp delete mode 100644 tests/version_tests/Mem_Map_Test.dsp delete mode 100644 tests/version_tests/Message_Block_Test.dsp delete mode 100644 tests/version_tests/Message_Queue_Notification_Test.dsp delete mode 100644 tests/version_tests/Message_Queue_Test.dsp delete mode 100644 tests/version_tests/Naming_Test.dsp delete mode 100644 tests/version_tests/Notify_Performance_Test.dsp delete mode 100644 tests/version_tests/Pipe_Test.dsp delete mode 100644 tests/version_tests/Priority_Buffer_Test.dsp delete mode 100644 tests/version_tests/Priority_Reactor_Test.dsp delete mode 100644 tests/version_tests/Priority_Task_Test.dsp delete mode 100644 tests/version_tests/Process_Mutex_Test.dsp delete mode 100644 tests/version_tests/Process_Strategy_Test.dsp delete mode 100644 tests/version_tests/Reactor_Exception_Test.dsp delete mode 100644 tests/version_tests/Reactor_Notify_Test.dsp delete mode 100644 tests/version_tests/Reactor_Performance_Test.dsp delete mode 100644 tests/version_tests/Reactor_Timer_Test.dsp delete mode 100644 tests/version_tests/Reactors_Test.dsp delete mode 100644 tests/version_tests/Reader_Writer_Test.dsp delete mode 100644 tests/version_tests/Recursive_Mutex_Test.dsp delete mode 100644 tests/version_tests/SOCK_Connector_Test.dsp delete mode 100644 tests/version_tests/SOCK_Test.dsp delete mode 100644 tests/version_tests/SPIPE_Test.dsp delete mode 100644 tests/version_tests/SString_Test.dsp delete mode 100644 tests/version_tests/SV_Shared_Memory_Test.dsp delete mode 100644 tests/version_tests/Semaphore_Test.dsp delete mode 100644 tests/version_tests/Service_Config_Test.dsp delete mode 100644 tests/version_tests/Sigset_Op_Test.dsp delete mode 100644 tests/version_tests/Simple_Message_Block_Test.dsp delete mode 100644 tests/version_tests/TSS_Test.dsp delete mode 100644 tests/version_tests/Task_Test.dsp delete mode 100644 tests/version_tests/Thread_Manager_Test.dsp delete mode 100644 tests/version_tests/Thread_Mutex_Test.dsp delete mode 100644 tests/version_tests/Thread_Pool_Test.dsp delete mode 100644 tests/version_tests/Time_Service_Test.dsp delete mode 100644 tests/version_tests/Time_Value_Test.dsp delete mode 100644 tests/version_tests/Timer_Queue_Test.dsp delete mode 100644 tests/version_tests/Tokens_Test.dsp delete mode 100644 tests/version_tests/UPIPE_SAP_Test.dsp delete mode 100755 tests/version_tests/run_all_tests.bat delete mode 100644 tests/version_tests/version_tests.dsp delete mode 100644 tests/version_tests/version_tests.dsw delete mode 100644 tests/version_tests/version_tests.mak delete mode 100644 tests/version_tests/version_tests.mdp diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html deleted file mode 100644 index 28fc477101b..00000000000 --- a/ACE-INSTALL.html +++ /dev/null @@ -1,944 +0,0 @@ - - - - - Building and Installing ACE and Its Network Services - - - - - -
-

Building and Installing ACE and Its Network Services

- -

Synopsis

- -The file explains how to build and install ACE and its Network -Services on the various OS platforms and compilers that it has been -ported to. Please consult the ChangeLog file -to see whether any recent changes to the release will affect your -code. In addition, you might want to read the ACE FAQ before building and installing ACE. - -

Document Index

- - - -


-

Supported Platforms and Compilers

- -The ADAPTIVE Communication Environment has been ported and tested -extensively on a wide range of C++ compilers and uni-processor and -multi-processor OS platforms including Win32 (i.e., WinNT/i386, -WinNT/Alpha, and Win95), most versions of UNIX (e.g., SunOS 4.x and -5.x, SGI IRIX, DG/UX, HP-UX, OSF/1 a.k.a. DEC UNIX, AIX 4.x, Linux, -SCO, UnixWare, and FreeBSD), VxWorks, and MVS -OpenEdition. If you have a problem compiling the ACE wrappers on -the platforms shown below please send email to either ACE Newsgroup or the ACE mailing list and we'll -try to fix it for you. - -
-
Win32 (Windows NT/i386, NT/Alpha and Windows '95)

- -
All of ACE has been ported to the Win32 API (which includes - Windows NT and Windows '95). The entire release now - compiles using the Microsoft Visual C++ 4.x and 5.0 compilers - (the 2.0 compiler may also work, but we haven't tested it - recently). ACE can be built as both a static and dynamic - library, using the Win32 installation process described - below.

- -

Sun OS 5.x/4.x (a.k.a. Solaris 2.x/1.x) using Sun CC 3.0.1, Sun - C++ 4.0.x, Centerline C++ 2.x, and GNU gcc 2.7.x.

- -
All the source code and tests should build and run without - any problems on the Solaris and SunOS platforms using the - Sun C++ compilers.

- -

Sun OS 4.1.x using Centerline C++ 2.x, Sun CC 3.x, and Lucid - Energize 3.2.

- -
Note that shared libraries do not interact very well with - Centerline C++ or Sun C++ on SunOS 4.1.x. This is due to - odd behavior of the SunOS 4.1.x linker, which (1) does not - properly call constructors of global objects within shared - libraries and (2) does not call the init() and fini() - functions in shared libraries, even though the manual claims - that these functions are called! In particular, this means - that the tests in the directory - $(ACE_ROOT)/tests/Service_Configurator/IPC-tests/server/ - will not work for statically linked services...

- - Some versions of SunOS 4.1.x do not contain the - /usr/lib/libnsl.a library. This library seems to be - optional since System V Transport Layer Interface (TLI) - support is optional on SunOS 4.1.x (in contrast, it's the - "preferred" transport interface on Solaris).

- - The best work-around for now is probably to either add a - dummy libnsl.a in /lib (which may not be feasible) or simply - comment out the line:

- - LIBS += -lnsl

- - in the $ACE_ROOT/include/makeinclude/wrapper_macros.GNU - file. Naturally, any programs (e.g., the TLI_SAP tests) - that use the TLI wrappers aren't going to work!

- - Note that on SunOS 4.x you may get warnings from the linker - that "archive has no table of contents; add one using - ranlib(1)" for certain libraries (e.g., libASX.a, - libThreads.a, and libSPIPE.a). This occurs since SunOS 4.x - does not support these features.

- -

AIX

- -
The ACE port to AIX assumes that the user has installed the - AIX patch containing the dl*() APIs. To use these APIs, IBM - has created a separate product (free to AIX licensees) - called shared library hookable symbols (or slhs/6000). If - you don't have this patch, the sv* commands for compiling - and linking will not be present on the system.

- - If you are using AIX 4.2.1 or later, there is no patch needed; - the dynamic library APIs are included in the base operating - system.

- - BTW, here's a technique from Rob Jordan <jordan@hursley.ibm.com> - that can reduce the size of the ACE libraries by - about one third, and can also be applied to applications. It works - by optimising the sharing of template functions, which are created in an - ``unusual'' way under AIX. It also speeds up compilation.

- - Here's how to optimise the ACE library generation:

- - Look at the Makefile - in $ACE_ROOT/ace. Create a file called - ACE_All_Src.cpp, and add a line to #include - each of the source files - listed under FILES= in the Makefile. Create a - file called ACE_All_Tmp.h - and add a line to #include each of the .h files listed under - TEMPLATE_FILES= in the Makefile. Now update the Makefile so that - FILES=ACE_All_Src and TEMPLATE_FILES=ACE_All_Tmp.

- -

Linux

- -
ACE has been ported to Linux using the GNU -G++ 2.7.2 compiler.

- -

SCO UNIX

- -
ACE has been ported to SCO UNIX using the GNU G++ 2.7.2 compiler. -Arturo Montes <mitosys@colomsat.net.co> -maintains this code. In addition, he also maintains a version of FSU -pthreads.

- -

SGI IRIX 5.x and 6.x

- -
ACE used to build fine using the SGI C++ and GNU GCC compilers for - IRIX 5.x. - It has been ported to IRIX 6.x using the SGI MipsPro 7.1 C++ - compiler; - be aware that in IRIX 6.2 there is a number of patches that - have to be installed and exceptions appear to fail with the - O32 ABI. - Please check the config files for the details.

- -

HP-UX 9.x and 10.x

- -
HP sells 2 C++ compilers for HP-UX 10.x. If you are using 9.x, - there's only the first one. -
    -
  • HP C++ - this is CC, HP's cfront-based compiler. As of ACE 4.4, it - can be used, but some people have problems with templates. - Caveat emptor. It's been said that you should run version 10.24, - if not later. - -
  • HP aC++ - this is aCC, HP's new, ANSI-to-be compiler. It handles ACE - pretty well. You should use either version A.01.06 (or later), or - A.01.03. Patches .04 and .05 do not work. -
-

- -

OSF/1 3.2 and 4.0 (a.k.a. Digital UNIX 4.0a)

- -
The current OSF/1 C++ 5.4 compiler still seems to have problems -with ACE's templates. It compiles the lib and test programs, although -giving warnings about template usage. Most tests run, some dump core. -Hopefully newer compiler releases will alleviate these problems.

- -CXX 6.0 is _much_ improved in this regard. Please note that -include/makeinclude/platform_osf1_4.0.GNU has a WARNING_FLAGS -macro that is disabled by default, because most users probably -don't have 6.0 yet. If you do, enable that macro definition -by either adding CXX_VER=POST_5X to your gmake invocation, or -editing your include/makeinclude/platform_macros.GNU file.

- -All of the tests in ACE_wrappers/tests run successfully with -CXX 6.0 on the version of Digital UNIX 4.0 that we tested with -at Washington U. There appear to be variations in Digital UNIX 4.0, -however, because users elsewhere report test failures with the -same version of CXX 6.0.

- -GNU gcc 2.7.2.1 compiles without problems. All tests run (besides -minor problems). Thanks to Thilo Kielmann < -kielmann@informatik.uni-siegen.de> and David Trumble <trumble@cvg.enet.dec.com> -for help with this port.

- -

UnixWare

-
- Steve Huston <shuston@riverace.com> - has ported ACE to work with UnixWare 2.01 and g++.

- - Ganesh Pai <gpai@voicetek.com> - subsequently did the port for version 2.1.2, also with g++.

- -

Chorus

-
- - Wei Chiang <chiang@tele.nokia.fi> - has ported ACE to Chorus 3.1 using GNU G++ 2.7.2.

- -

LynxOS

-
- - Dave Mayerhoefer <davem@lynx.com> - has ported ACE to LynxOS 2.5 using GNU G++ 2.7.2.

- -

VxWorks

-
- David Levine <levine@cs.wustl.edu> has -ported ACE to VxWorks 5.2/5.3/5.3.1 with the GreenHills 1.8.8 -and g++ 2.7.2 compilers.

- -In addition to all of the other benefits of ACE, it helps -work around some deficiencies with VxWorks 5.3/5.3.1. -Some of these apply only with g++, at least thru version 2.7.2. -That is the version that is shipped with Tornado 1.0.1/ -VxWorks 5.3.1. The problems are:

- -

    -
  1. The program entry point cannot be called ``main'' with g++. ACE - renames it to ``ace_main'' (configurable via ACE_MAIN) on VxWorks. - While this may seem trivial, it is important with legacy code. - ACE itself ran into this problem.

    - -

  2. argc/argv isn't used with VxWorks entry points. ACE provides - a wrapper function that transparently converts shell command - line arguments to argc/argv form. See below - for details.

    - -

  3. Unsigned long long support is not available with the g++ that - is distributed with Tornado 1.0.1/VxWorks 5.3.1, or with - GreenHills 1.8.8. The documentation says that it is supported - by g++, but try using it :-) Wind River technical support verified - that it doesn't work. ACE provides its own 64-bit unsigned integer - type, ACE_hrtime_t, so you don't even have to worry about this - problem if you use it.

    - -

  4. There a gory problem with munch that is severely aggravated - by the presence of a static in the Wind River/g++ iostream.h. - ACE hides this and provides an easy-to-use workaround in the - very unlikely situation where it becomes a problem. - Please see ace/config-vxworks5.2-g++.h for more information.

    -

- -In addition, as noted below following the -discussion of the g++ -fno-implicit-templates option, --fno-implicit-templates is broken. And, -O2 is not supported on some -targets.

- -Please note that ACE uses one of the spare fields in -the Wind River task control block, spare4, for thread- -specific storage. This field is specified in only one -place, in ace/OS.i, so it can easily be changed to one -of the other spare fields, if necessary.

- -Versions of ACE from 4.3.3 and beyond destroy dynamically -allocated singletons in the ACE library. But, they may not -properly destroy some static objects. If you have trouble -running a program multiple times, it may be necessary to -unload the module, using unld, and reload it between runs. -Alternatively, you could try calling cplusDtors -and then cplusCtors between runs.

- -

MVS OpenEdition

- -
-All of ACE has been ported to OpenEdition by Chuck Gehr <gehr@sweng.stortek.com>. -The ACE library, all the tests and most of the examples and apps build -clean. There are still some problems that need to be ironed out:

- - MVS does not support the dynamic linking dl...() calls that the Service - Configurator uses to dynamically link services at run time. As a result, all - the examples and apps that use a svc.conf file (for dynamically configuring - service objects) do not work, however, most of these apps can be built/run - statically. Also, the Svc_Conf_l.cpp and Svc_Conf_y.cpp files are generated - using flex and yacc on a ascii (not ebcdic) machine and as a result they don't - work very well with ebcdic svc.conf files. We should be able to regenerate - these files on MVS but MVS doesn't have flex. This is something that needs - to be done.

- - Some of the tests do not execute properly. This is a minority and over time - the goal is to get to 100%.

- - The make scheme for some of the apps still doesn't work perfectly on MVS. - This is mainly due to the way shared libraries are handled on MVS. See - additional build tips for MVS for more on - this.

-

- -
-

Compiling ACE with GNU C++

- -If you use the GNU GCC C++ compiler please note the following:

- -

- -


- -

Building and Installing ACE

- -The following explains how to build the ACE on UNIX and Win32. - -

Building and Installing ACE on UNIX

- -Building and installing ACE on UNIX is relatively simple (the process for Win32 is different). Here's what you -need to do:

- -

    -
  1. Install GNU make 3.7 or greater on your system (available via - anonymous ftp from prep.ai.mit.edu in the pub/gnu directory).

    - -

  2. Add an environment variable called ACE_ROOT that contains the - name of the root of the directory where you keep the ACE wrapper - source tree. The ACE recursive Makefile scheme needs this information. - There are several ways to set the ACE_ROOT variable. For - instance, in my .login file I have the following entry:

    - -

    
    -% setenv ACE_ROOT /home/cs/faculty/schmidt/ACE_wrappers
    -

    - -However, if you're building a number of versions of ACE (e.g., for -different OS platforms or for different releases of ACE) you might use -the following approach: - -

    
    -% setenv ACE_ROOT $cwd
    -
    - -
  3. Edit the $ACE_ROOT/ace/OS.h file to update things like default - hostname and port numbers you'd like the programs in the - $ACE_ROOT/{apps,tests} directories to use by default.

    - -

  4. Set the $ACE_ROOT/ace/config.h file to point to the appropriate - platform/compiler-specific header configurations (such as - config-sunos5-sunc++-4.x.h). This file contains the #defines that - are used throughout ACE to indicate which features your system - supports (see the $ACE_ROOT/ace/OS.h file for many - examples of how the ACE build configuration is affected by these - macro settings).

    - - There are config files for most versions of UNIX. If there isn't a - version of this file that matches your platform/compiler, you'll - need to make one. Please send me email if you get it working so I - can add it to the master ACE release.

    - -

  5. Set the $ACE_ROOT/include/makeinclude/platform_macros.GNU file - to point to the appropriate platform/compiler-specific Makefile - configurations (e.g., platform_sunos5_sunc++.GNU). This file - contains the compiler and Makefile directives that are - platform/compiler-specific

    - -

  6. Note that since ACE builds shared libraries, you'll need to set - LD_LIBRARY_PATH to whereever you put the binary version of the - ACE library. For example, you probably want to do something like - the following

    - -

    
    -% setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$LD_LIBRARY_PATH
    -

    - -

  7. When all this is done, hopefully all you'll need to do is type:

    - -

    
    -% make
    -

    - -at the root of the ACE source tree. This will build the ACE library, -tests, the examples, and the sample applications. Building the entire -ACE release can take a long time, however. Therefore, you might -consider cd'ing into the $ACE_ROOT/ace/ directory and running -make there to build just the ACE library. As a sanity -check, you might also want to build and run the automated ``one-button'' tests in -$ACE_ROOT/tests/.

    - -

  8. If you need to regenerate the Svc_Conf_y.cpp file, you'll need to -get Berkeley -YACC. However, you should rarely, if ever, need to do this.

    - -

- -


-

Building and Installing ACE on Win32

- -ACE contains project files for Microsoft Visual C++ 4.x (*.mdp) and -5.0 w/SP2 (*.dsw), as well as Borland C++ 5.x (ace.ide). Notice that -Visual C++5.0 Service Pack 3 is broken and we don't recommend using -it.

- -

    -
  1. Create a directory (e.g., C:\ACE) and copy all of the ACE - distribution into it. This directory will be referred to as - ACE_ROOT in the rest of this discussion.

    -
  2. Create a file called config.h in the ACE_ROOT\ace directory - that contains:
    -
    - #include "config-win32.h"
    -
    -
  3. Now load up the project file for ACE (ACE_ROOT\ace\ACE_Library.mdp or - ACE_ROOT\ace\ace.dsw). If you are using MSVC 4.x, you will - need to add paths to your global settings. In - Tools|Options|Directories, add ACE_ROOT to your include path - and ACE_ROOT\ace to your library path.

    -
  4. Each project will contain 8 different configurations. These - are a mixture of Debug/Release, Unicode/non-Unicode, and - Static/Dynamic library versions for both i386 and Alpha machines. - Note: If you - use the dynamic libraries, make sure you include ACE_ROOT\ace - in your PATH whenever you run programs that use ACE.

    -
  5. If you are building for Windows NT and plan to use the STL - implementation that comes with ACE, then you can start building - now. If you are building on Windows 95, then you should add - the line
    -
    - #define ACE_HAS_WINNT4 0
    -
    - before the #include statement in ACE_ROOT\ace\config.h and it - will turn off Windows NT 4 specific code.
    -
    - If you want to use the standard C++ headers (iostream, cstdio, ... - as defined by the C++ Standard Draft 2) that comes with MSVC 5, - then add the line
    -
    - #define ACE_HAS_STANDARD_CPP_LIBRARY 1
    -
    - before the #include statement in ACE_ROOT\ace\config.h.

    - The default project files which build ACE library have various - configurations to build dynamic/static, with or without Unicode - support. Although we recommend using the dynamic library, if, - for some reasons, you would rather work with static library, - you'll need to add the line
    -
    - #define ACE_HAS_DLL 0
    -
    - before the #include statement in ACE_ROOT\ace\config.h. - Optionally but highly recommended, you can also add the line
    -
    - #define __ACE_INLINE__ 0
    -
    - before the #include statement in ACE_ROOT\ace\config.h to disable - inline function and reduce the size of static libraries (and your - executables.)

    -
- -ACE TESTS

- -The tests are located in ACE_ROOT\tests. There are two corresponding -project files in that directory also (tests.mdp and tests.dsp).

- -Once you build all the tests (Batch Build works well for this) you can -run the batch file run_tests.bat in that directory to try all the -tests.

- - BUILDING ACE ON A WIN32 MACHINE THAT LACKS A NETWORK CARD

- -You may want to run ACE on a non-networked machine. To do so, you must -install TCP/IP and configure it to ignore the absence of a network -card. This is one method:

- -

    -
  1. Run Control Panel -
  2. Choose Network from Control Panel -
  3. Add Adapter: MS Loopback Adapter -
  4. Configure MS Loopback Adapter with 802.3 (default) -
  5. Add Software: TCP/IP Protocol -
  6. Configure TCP/IP Protocol with a valid IP address and subnet mask. - Leave everything else at the default settings. -
  7. Add Software: Workstation -
  8. Exit and Restart System -
  9. Run Control Panel again -
  10. Choose Services from Control Panel -
  11. The following services are not necessary and may - be set to Disabled Startup:
    - Alerter
    - Computer Browser
    - Net logon
    - Messanger
    -
  12. Choose Network from Control Panel -
  13. Confirm the following setup. This is all you need to run ACE:
    - Installed Software:
    - Computer Browser
    - MS Loopback Adapter Driver
    - TCP/IP Protocol
    - Workstation
    - Installed Adapter Cards:
    - MS Loopback Adapter

    -

- - -
-

Building and Installing ACE on VxWorks

-For the most part, you should be able to follow the instructions above -to build ACE and applications that use it. Start with the -Unix instructions for Unix hosts, or -Win32 instructions for Windows NT hosts, -but substitute the appropriate VxWorks configuration file (and -platform_macros file, on Unix).

- -You'll have to let ACE know the target type at compile time. -There are several ways to do this; please see the -$ACE_ROOT/include/makeinclude/platform_vxworks5.x_g++.GNU -platform file for detailed information.

- -The VxWorks platform_vxworks*.GNU files are set up so that shared -libraries are not built on VxWorks. Only static libraries, -with .a extension, are built. Therefore, it's not necessary -to set the LD_LIBRARY_PATH environment variable on your host -system when building for VxWorks targets. Please note, however, -if you use TAO on VxWorks that you will need to set your LD_LIBRARY_PATH -to find the TAO IDL compiler libraries (installed in the ace directory) -on the host.

- -With g++, bin/ace_ld is used to munch object files and libraries to -set up calls to static constructors and destructors. bin/ace_ld requires -perl on the host platform.

- -These non-default VxWorks kernel configuration #defines -are required with ACE:

- -

-#define INCLUDE_CPLUS		/* include C++ support */
-#define INCLUDE_CPLUS_IOSTREAMS	/* include iostreams classes */
-#define INCLUDE_POSIX_ALL       /* include all available POSIX functions */
-
- -For completeness, here are the non-default #defines that -we used for VxWorks 5.3.1/g++ 2.7.2: - -
-#define INCLUDE_CPLUS		/* include C++ support */
-#define INCLUDE_CPLUS_IOSTREAMS	/* include iostreams classes */
-#define INCLUDE_CONFIGURATION_5_2 /* pre-tornado tools */
-#define INCLUDE_DEBUG           /* pre-tornado debugging */
-#define INCLUDE_LOADER          /* object module loading */
-#define INCLUDE_NET_SYM_TBL     /* load symbol table from network */
-#define INCLUDE_SYM_TBL_SYNC	/* synchronize host and target symbol tables */
-#define INCLUDE_NFS             /* nfs package */
-#define INCLUDE_PING		/* ping() utility */
-#define INCLUDE_POSIX_ALL       /* include all available POSIX functions */
-#define INCLUDE_RDB             /* remote debugging package */
-#define INCLUDE_RLOGIN          /* remote login */
-#define INCLUDE_RPC		/* rpc package */
-#define INCLUDE_SECURITY	/* shell security for network access */
-#define INCLUDE_SHELL           /* interactive c-expression interpreter */
-#define INCLUDE_SHOW_ROUTINES   /* show routines for system facilities*/
-#define INCLUDE_SPY             /* spyLib for task monitoring */
-#define INCLUDE_STARTUP_SCRIPT  /* execute start-up script */
-#define INCLUDE_STAT_SYM_TBL    /* create user-readable error status */
-#define INCLUDE_SYM_TBL         /* symbol table package */
-#define INCLUDE_UNLOADER        /* object module unloading */
-#define INCLUDE_WINDVIEW	/* WindView command server */
-
- -It probably wouldn't take much effort to modify the -ACE library to not require INCLUDE_CPLUS_IOSTREAMS, -if necessary. - -If you're first getting started with ACE and/or VxWorks, I recommend -just building the ACE library and tests first. (Some of the ACE -examples, in System_V_IPC, don't build on VxWorks yet.) Then try -running the tests. Please see $ACE_ROOT/tests/README for the latest -status of the ACE tests on VxWorks.

- -Please note that the main entry point is renamed to -ace_main (configurable via ACE_MAIN) on VxWorks with g++, -to comply with its restriction against using main. -In addition, ACE_HAS_NONSTATIC_OBJECT_MANAGER is enabled by default -to cleanly support construction and destruction of static objects. -This requires that main be declared with its arguments -even if they're not used, and with int return type: - -


-  int
-  main (int, char *[])
-
- -Alternatively, this feature can be disabled by commenting out the -#define ACE_HAS_NONSTATIC_OBJECT_MANAGER in your ace/config.h. -But, that will make repeated testing more difficult on VxWorks. -You'd either have to call static constructors and destructors -manually or unload/load the program between runs.

- -WARNING: ACE on VxWorks assumes that -your main function is named main when using -ACE_HAS_NONSTATIC_OBJECT_MANAGER. Any violation of this assumption is -at your peril. If you really need to call your entry point something -other than main, you'll need to construct an -ACE_Object_Manager. Please see the #define of main -(int, char *[]) in ace/OS.h to see how ACE does -that for entry points named main. - -You can spawn a new task to run ace_main, using either -VxWorks sp, or ACE'S spa. -spa can be used from the VxWorks shell to pass arguments -to ace_main. Its usage is: - -


-  spa ace_main, "arg1" [, ...]
-
- -All arguments must be quoted, even numbers.

- -


-

Building and Installing ACE Network Services

- -The following explains how to build the ACE network services on UNIX and Win32. - -

Building and Installing ACE Network Services on UNIX

- -Building and installing ACE Network Services on UNIX is relatively -simple (the process for Win32 is different). -Here's what you need to do:

- -

    - -
  1. Build and install ACE on UNIX as described earlier. If ACE is built at the root of the ACE -source tree (and ACE has been ported to your platform, of course) the -netsvcs static and shared object libraries should be built -automatically. In addition, the server driver program -(main) contained in -$ACE_ROOT/netsvcs/servers/main.cpp should also be compiled and ready to run.

    - -

  2. Set your LD_LIBRARY_PATH environment variable to where the binary - version of the ACE netsvcs library. For example, you probably - want to do something like the following

    - -

    
    -% setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$LD_LIBRARY_PATH
    -

    - -

  3. By default, if the shared object library is built, the services - are linked into the main driver program dynamically. - To specify which services should be linked in and executed, edit the - -$ACE_ROOT/netsvcs/servers/svc.conf file. During your editing, - you should update information (such as the default service port - numbers) that affects the initialization of services in this - file. Refer to the Service Configurator - documentation to learn how the configuration file is parsed and - how the services are dynamically linked and executed. In - addition, refer to the Network - Services documentation to learn more about how to configure - each network service.

    - -

  4. If you only want to link the services statically, simply remove - or rename the svc.conf file.

    - -

- -

Building and Installing ACE Network Services on Win32

- -Once again, there are supplied project for both MSVC 4.x and 5.0 for -the Network Services.

- -If you are using MSVC 4.x, you will need to add another directory to -your global include and library paths, ACE_ROOT/netsvcs/lib. When you -use the dynamic libraries, make sure to also include ACE_ROOT/netsvcs/lib -in your PATH.

- -


-

Advanced Topics

- - - -

Cloning the Source Tree

- -On UNIX platforms, I typically like to support multiple platform -builds using the same ACE source tree. This idiom is supported by ACE -using the $(ACE_ROOT)/bin/clone.c program. To build clone, -perform the following steps:

- -

-% cd $ACE_ROOT/bin
-% make
-% mv clone ~/bin
-% rehash
-

- -Then create a ./build subdirectory someplace (e.g., under -$ACE_ROOT), and then invoke the top-level Makefile with the -"clone" target, e.g.:

- -

-% cd $ACE_ROOT
-% mkdir build-SunOS5
-% cd build-SunOS5
-% make -f ../Makefile clone
-% (cd ace; ln -s config-sunos5.5-g++.h config.h)
-% (cd include/makeincludes; ln -s platform_sunos5-g++.h platform_macros.GNU)
-% setenv ACE_ROOT $cwd
-% make
-

- -This will establish a complete tree of links. Note that you must to -build a config.h and platform_macros.GNU in cloned directory. In -addition, make sure you set your LD_LIBRARY_PATH to -$ACE_ROOT/ace:$LD_LIBRARY_PATH on SVR4 UNIX platforms.

- -When you do a make in the $ACE_ROOT directory you will be producing -object code that is not stored in the same place as the original -source tree. This way, you can easily build another platform in a -parallel tree structure.

- - VERY IMPORTANT!

- -If you use the "clone trick" discussed above, make sure that the -symbolic links are correctly in place before starting the build. In -particular, if you plan to clone the tree, it is preferable to do so -before you start a build procedure on the original tree. This is -because the build procedure create object directories (.obj and -.shobj) and the cloning procedure will clone these directories also. -You would end up with links pointing to object files of another -platform. If you clone the tree after you've done a build on the -original tree, make sure to remove all ".obj", ".shobj" and (any other -files or directories) in all subdirectories before starting the build -on your cloned tree.

- -Alternatively, the perl script -ACE_wrappers/bin/create_ace_build can be used to create -build trees. It creates them below ACE_wrappers/build. -It filters out all but the necessary files, so the warning above does -not apply. See the comments at the top of the script itself for usage -information. - -


-

Building CORBA Versions of ACE

- -Note that if you are compiling with IONA's Orbix implementation of -CORBA or Visigenix's implementation of CORBA, you'll also need to set -ORBIX_ROOT to point to the root of the Orbix source tree and -ORBELINE_ROOT to point to the root of the ORBeline source tree. Since -many platforms don't have these CORBA tools the default for ACE does -*not* incorporate them. Thus, if you are compiling with Orbix or -ORBeline, make sure that you set the symbolic links for -$ACE_ROOT/include/makeinclude/platform_macros.GNU and -$ACE_ROOT/ace/config.h to point to the the config* and platform* -files that have "-orbix" in them! - -


-

Additional Build Tips for MVS

- -For all intents and purpose, MVS OpenEdition (OE) is another flavor of -UNIX, therefore, the instructions under Building -and Installing ACE on Unix can be used along with the following -additional tips:

- - You can get a copy of GNU make that has been ported to MVS OpenEdition from - the IBM OpenEdition web site. - ACE's make scheme generates compile commands that have options and - operands interspersed. By default, the c89/cc/c++ compiler expects all options to - precede all operands. To get around this, you must set a special - compiler environment variable (_CXX_CCMODE) to 1 which tells the compiler - to allow options and operands to be interspersed.

- - Note that the environment variable LD_LIBRARY_PATH is called LIBPATH - on MVS.

- - Shared objects are built a little different on MVS than on - other UNIX implementations. This has been accounted for in the makefiles - that come with ACE When the linker (via the cxx command) builds the - libACE.so file it will also create a file called libACE.x. This is a - side-deck file and it must be included in subsequent link edits with - application code. For more information on this see the C/C++ MVS - Programming Guide. If you want to build your application statically, - i.e., using libACE.a instead of libACE.so, you can set ACELIB to - ACELIB_STATIC in platform_mvs.GNU.

- - When the libACE.so file is built (via the MVS pre-linker and binder), you - will get a rc=4 from the pre-linker. This is ok. This is due to some - warnings about unresolved references which should get resolved during the - link step. Note, however, there shouldn't be any unresolved references - from the binder (linkage editor). You can get pre-link and link maps by - uncommenting the PMAP and LMAP lines in the platform_mvs.GNU file.

- -


-

Makefile Flags

- -ACE supports the following flags. They can be enabled either on the command -line, e.g., "make purify=1", or added to your platform_macros.GNU. To -disable the option, set the flag to null, e.g., "make debug=". Some flags -support setting to 0 disable, e.g., "make debug=0". debug=1 is enabled in -the platform files that are released with ACE.

- -Please note that the effects of a flag may be platform specific. -Also, combinations of certain flags may or may not be allowed on -specific platforms, e.g., debug=1 opt=1 is supported by g++ but -not all other C++ compilers.

- -

-Flag             Description
-----             -----------
-debug            Enable debugging; see DCFLAGS and DCCFLAGS.
-exceptions       Enable exception handling (not supported by all platforms).
-fast             Enable -fast option, e.g., with Sun C++.
-inline           Enable ACE inlining.  Some platforms enable inlining by
-                   default, others do not.
-optimize         Enable optimization; see OCFLAGS and OCCFLAGS.
-orbix            Enable use of Orbix.
-profile          Enable profiling; see PCFLAGS and PCCFLAGS.
-purify           Purify all executables.
-quantify         Quantify all executables.
-shared_libs      Build shared libraries. Ignored if static_libs_only is set.
-static_libs      Build shared libraries. Ignored if shared_libs_only is set.
-shared_libs_only Only build shared libraries.  Ignored if no SHLIBs are
-                   specified by the Makefile, as in performance-tests/Misc.
-static_libs_only Only build static libraries.
-
-Usually, users do not need to be concerned with make targets.
-Just enter ``make'' on the command line to build.  A few notable
-targets are listed below.
-
-Target             Description
-------             -----------
-show_statics       Lists all static objects in object files built for
-                     current directory.  Only supported for g++.
-show_uninit        Lists all uninitialized in object files built for
-                     current directory.  Only supported for g++.
-
-
-

- -Back to the -ACE home page. - - - - diff --git a/ACE-categories b/ACE-categories deleted file mode 100644 index 0ee7074906d..00000000000 --- a/ACE-categories +++ /dev/null @@ -1,538 +0,0 @@ --*- mode: outline; outline-regexp: " *\\[" -*- - -This file groups each file in $ACE_ROOT/ace into its appropriate -class category. - -[ACE] - [CORBA] - CORBA_Handler.cpp - CORBA_Handler.h - CORBA_Handler.i - CORBA_Ref.cpp - CORBA_Ref.h - CORBA_Ref.i - [Collections] - Array.cpp - Array.h - Array.i - Containers.cpp - Containers.i - Containers.h - Hash_Map_Manager.cpp - Hash_Map_Manager.h - Filecache.cpp - Filecache.h - Free_List.cpp - Free_List.i - Free_List.h - Managed_Object.cpp - Managed_Object.h - Managed_Object.i - Map_Manager.cpp - Map_Manager.h - Map_Manager.i - Object_Manager.cpp - Object_Manager.i - Object_Manager.h - SString.cpp - SString.h - SString.i - [Concurrency] - Activation_Queue.h - Activation_Queue.cpp - Atomic_Op.i - Future.h - Future.cpp - Method_Object.h - Method_Object.cpp - Process.cpp - Process.h - Process.i - Process_Manager.cpp - Process_Manager.h - Process_Manager.i - Sched_Params.cpp - Sched_Params.h - Sched_Params.i - Synch.cpp - Synch.h - Synch.i - Synch_Options.cpp - Synch_Options.h - Synch_Options.i - Synch_T.cpp - Synch_T.h - Synch_T.i - Thread.cpp - Thread.h - Thread.i - Thread_Manager.cpp - Thread_Manager.h - Thread_Manager.i - Token.cpp - Token.h - Token.i - [Config] - config.h - Basic_Types.cpp - Basic_Types.h - Basic_Types.i - Version.h - [Connection] - Acceptor.cpp - Acceptor.h - Acceptor.i - Asynch_Acceptor.cpp - Asynch_Acceptor.h - Asynch_Acceptor.i - Asynch_IO.cpp - Asynch_IO.h - Asynch_IO.i - Connector.cpp - Connector.h - Connector.i - Dynamic_Service.cpp - Dynamic_Service.h - Dynamic_Service.i - Strategies.cpp - Strategies.h - Strategies.i - Strategies_T.cpp - Strategies_T.h - Strategies_T.i - Svc_Handler.cpp - Svc_Handler.h - Svc_Handler.i - [IPC] - [IO_SAP] - IO_SAP.cpp - IO_SAP.h - IO_SAP.i - [DEV_SAP] - DEV.cpp - DEV.h - DEV.i - DEV_Connector.cpp - DEV_Connector.h - DEV_Connector.i - DEV_IO.cpp - DEV_IO.h - DEV_IO.i - TTY_IO.cpp - TTY_IO.h - [FILE_SAP] - FILE.cpp - FILE.h - FILE.i - FILE_Connector.cpp - FILE_Connector.h - FILE_Connector.i - FILE_IO.cpp - FILE_IO.h - FILE_IO.i - [IPC_SAP] - IPC_SAP.cpp - IPC_SAP.h - IPC_SAP.i - [Addr] - Addr.cpp - Addr.h - Addr.i - DEV_Addr.cpp - DEV_Addr.h - DEV_Addr.i - FILE_Addr.cpp - FILE_Addr.h - FILE_Addr.i - INET_Addr.cpp - INET_Addr.h - INET_Addr.i - SPIPE_Addr.cpp - SPIPE_Addr.h - SPIPE_Addr.i - UNIX_Addr.cpp - UNIX_Addr.h - UNIX_Addr.i - UPIPE_Addr.h - [FIFO_SAP] - FIFO.cpp - FIFO.h - FIFO.i - FIFO_Recv.cpp - FIFO_Recv.h - FIFO_Recv.i - FIFO_Recv_Msg.cpp - FIFO_Recv_Msg.h - FIFO_Recv_Msg.i - FIFO_Send.cpp - FIFO_Send.h - FIFO_Send.i - FIFO_Send_Msg.cpp - FIFO_Send_Msg.h - FIFO_Send_Msg.i - [SOCK_SAP] - LOCK_SOCK_Acceptor.cpp - LOCK_SOCK_Acceptor.h - LSOCK.cpp - LSOCK.h - LSOCK.i - LSOCK_Acceptor.cpp - LSOCK_Acceptor.h - LSOCK_Acceptor.i - LSOCK_CODgram.cpp - LSOCK_CODgram.h - LSOCK_CODgram.i - LSOCK_Connector.cpp - LSOCK_Connector.h - LSOCK_Connector.i - LSOCK_Dgram.cpp - LSOCK_Dgram.h - LSOCK_Dgram.i - LSOCK_Stream.cpp - LSOCK_Stream.h - LSOCK_Stream.i - SOCK.cpp - SOCK.h - SOCK.i - SOCK_Acceptor.cpp - SOCK_Acceptor.h - SOCK_Acceptor.i - SOCK_CODgram.cpp - SOCK_CODgram.h - SOCK_CODgram.i - SOCK_Connector.cpp - SOCK_Connector.h - SOCK_Connector.i - SOCK_Dgram.cpp - SOCK_Dgram.h - SOCK_Dgram.i - SOCK_Dgram_Bcast.cpp - SOCK_Dgram_Bcast.h - SOCK_Dgram_Bcast.i - SOCK_Dgram_Mcast.cpp - SOCK_Dgram_Mcast.h - SOCK_Dgram_Mcast.i - SOCK_IO.cpp - SOCK_IO.h - SOCK_IO.i - SOCK_Stream.cpp - SOCK_Stream.h - SOCK_Stream.i - [SPIPE_SAP] - SPIPE.cpp - SPIPE.h - SPIPE.i - SPIPE_Acceptor.cpp - SPIPE_Acceptor.h - SPIPE_Acceptor.i - SPIPE_Connector.cpp - SPIPE_Connector.h - SPIPE_Connector.i - SPIPE_Stream.cpp - SPIPE_Stream.h - SPIPE_Stream.i - [TLI_SAP] - TLI.cpp - TLI.h - TLI.i - TLI_Acceptor.cpp - TLI_Acceptor.h - TLI_Acceptor.i - TLI_Connector.cpp - TLI_Connector.h - TLI_Connector.i - TLI_Stream.cpp - TLI_Stream.h - TLI_Stream.i - [UPIPE_SAP] - UPIPE_Acceptor.cpp - UPIPE_Acceptor.h - UPIPE_Acceptor.i - UPIPE_Connector.cpp - UPIPE_Connector.h - UPIPE_Connector.i - UPIPE_Stream.cpp - UPIPE_Stream.h - UPIPE_Stream.i - [Utils] - IOStream.cpp - IOStream.h - IOStream_T.cpp - IOStream_T.h - IOStream_T.i - Pipe.cpp - Pipe.h - Pipe.i - Signal.cpp - Signal.h - Signal.i - [Logging and Tracing] - Dump.cpp - Dump.h - Dump_T.cpp - Dump_T.h - Log_Msg.cpp - Log_Msg.h - Log_Msg.i - Log_Priority.h - Log_Record.cpp - Log_Record.h - Log_Record.i - Trace.cpp - Trace.h - Trace.i - [Memory] - [Mem_Map] - Mem_Map.cpp - Mem_Map.h - Mem_Map.i - [Shared_Malloc] - Malloc.cpp - Malloc.h - Malloc.i - Malloc_T.cpp - Malloc_T.h - Malloc_T.i - Memory_Pool.cpp - Memory_Pool.h - Memory_Pool.i - [Shared_Memory] - Shared_Memory.h - Shared_Memory_MM.cpp - Shared_Memory_MM.h - Shared_Memory_MM.i - Shared_Memory_SV.cpp - Shared_Memory_SV.h - Shared_Memory_SV.i - [Utils] - Obstack.cpp - Obstack.h - Read_Buffer.cpp - Read_Buffer.h - Read_Buffer.i - [Misc] - ARGV.cpp - ARGV.h - ARGV.i - Auto_Ptr.cpp - Auto_Ptr.h - Auto_Ptr.i - Date_Time.cpp - Date_Time.h - Date_Time.i - Dynamic.cpp - Dynamic.h - Dynamic.i - Get_Opt.cpp - Get_Opt.h - Get_Opt.i - Registry.cpp - Registry.h - Singleton.cpp - Singleton.h - Singleton.i - System_Time.cpp - System_Time.h - [Name_Service] - Local_Name_Space.cpp - Local_Name_Space.h - Local_Name_Space_T.cpp - Local_Name_Space_T.h - Name_Options.cpp - Name_Options.h - Name_Proxy.cpp - Name_Proxy.h - Name_Request_Reply.cpp - Name_Request_Reply.h - Name_Space.cpp - Name_Space.h - Naming_Context.cpp - Naming_Context.h - Registry_Name_Space.cpp - Registry_Name_Space.h - Remote_Name_Space.cpp - Remote_Name_Space.h - [OS Adapters] - ACE.cpp - ACE.h - ACE.i - OS.cpp - OS.h - OS.i - [Reactor] - Event_Handler.cpp - Event_Handler.h - Event_Handler.i - Event_Handler_T.cpp - Event_Handler_T.h - Event_Handler_T.i - Handle_Set.cpp - Handle_Set.h - Handle_Set.i - Priority_Reactor.cpp - Priority_Reactor.i - Priority_Reactor.h - Proactor.h - Proactor.i - Proactor.cpp - Reactor.cpp - Reactor.h - Reactor.i - ReactorEx.cpp - ReactorEx.h - ReactorEx.i - Reactor_Impl.h - Select_Reactor.cpp - Select_Reactor.h - Select_Reactor.i - WFMO_Reactor.cpp - WFMO_Reactor.h - WFMO_Reactor.i - XtReactor.cpp - XtReactor.h - [Service_Configurator] - Parse_Node.cpp - Parse_Node.h - Parse_Node.i - Service_Config.cpp - Service_Config.h - Service_Config.i - Service_Main.cpp - Service_Manager.cpp - Service_Manager.h - Service_Manager.i - Service_Object.cpp - Service_Object.h - Service_Object.i - Service_Record.cpp - Service_Record.h - Service_Record.i - Service_Repository.cpp - Service_Repository.h - Service_Repository.i - Service_Types.cpp - Service_Types.i - Service_Types.h - Shared_Object.cpp - Shared_Object.h - Shared_Object.i - Svc_Conf.h - Svc_Conf_l.cpp - Svc_Conf_y.cpp - Svc_Conf_Tokens.h - [Streams] - IO_Cntl_Msg.cpp - IO_Cntl_Msg.h - IO_Cntl_Msg.i - Message_Block.cpp - Message_Block.h - Message_Block.i - Message_Queue.cpp - Message_Queue.h - Message_Queue.i - Module.cpp - Module.h - Module.i - Multiplexor.cpp - Multiplexor.h - Multiplexor.i - Stream.cpp - Stream.h - Stream.i - Stream_Modules.cpp - Stream_Modules.h - Stream_Modules.i - Task.cpp - Task.h - Task.i - Task_T.cpp - Task_T.h - Task_T.i - [System_V_IPC] - [System_V_Message_Queues] - SV_Message.cpp - SV_Message.h - SV_Message.i - SV_Message_Queue.cpp - SV_Message_Queue.h - SV_Message_Queue.i - Typed_SV_Message.cpp - Typed_SV_Message.h - Typed_SV_Message.i - Typed_SV_Message_Queue.cpp - Typed_SV_Message_Queue.h - Typed_SV_Message_Queue.i - [System_V_Semaphores] - SV_Semaphore_Complex.cpp - SV_Semaphore_Complex.h - SV_Semaphore_Complex.i - SV_Semaphore_Simple.cpp - SV_Semaphore_Simple.h - SV_Semaphore_Simple.i - [System_V_Shared_Memory] - SV_Shared_Memory.cpp - SV_Shared_Memory.h - SV_Shared_Memory.i - [Timers] - - High_Res_Timer.cpp - High_Res_Timer.h - High_Res_Timer.i - Profile_Timer.cpp - Profile_Timer.h - Profile_Timer.i - Time_Request_Reply.cpp - Time_Request_Reply.h - Time_Value.cpp - Time_Value.h - Time_Value.i - Timer_Hash.cpp - Timer_Hash.h - Timer_Hash_T.cpp - Timer_Hash_T.h - Timer_Heap.cpp - Timer_Heap.h - Timer_Heap.i - Timer_Heap_T.cpp - Timer_Heap_T.h - Timer_Heap_T.i - Timer_List.cpp - Timer_List.h - Timer_List.i - Timer_List_T.cpp - Timer_List_T.h - Timer_List_T.i - Timer_Queue.cpp - Timer_Queue.h - Timer_Queue.i - Timer_Queue_Adapters.cpp - Timer_Queue_Adapters.h - Timer_Queue_Adapters.i - Timer_Queue_T.cpp - Timer_Queue_T.h - Timer_Queue_T.i - Timer_Wheel.cpp - Timer_Wheel.h - Timer_Wheel.i - Timer_Wheel_T.cpp - Timer_Wheel_T.h - Timer_Wheel_T.i - [Token_Service] - Local_Tokens.cpp - Local_Tokens.h - Local_Tokens.i - Remote_Tokens.cpp - Remote_Tokens.h - Remote_Tokens.i - Token_Collection.cpp - Token_Collection.h - Token_Collection.i - Token_Manager.cpp - Token_Manager.h - Token_Manager.i - Token_Request_Reply.cpp - Token_Request_Reply.h - Token_Request_Reply.i - Token_Invariants.h - Token_Invariants.i - Token_Invariants.cpp diff --git a/ACE-install.sh b/ACE-install.sh deleted file mode 100644 index 76c1e8064f7..00000000000 --- a/ACE-install.sh +++ /dev/null @@ -1,356 +0,0 @@ -#!/bin/sh -########################## Begin Install Script ########################## -# -# NAME: ACE-install.sh -# -# PURPOSE: Bourne shell script to install ACE for UNIX platforms -# -# AUTHOR: Ajit Sagar -# -# HISTORY: 5/20/96 Ajit Sagar Created -# x/xx/xx xxxxxxxxxxxxxx Modified -# x/xx/xx xxxxxxxxxxxxxx Modified -# -# DESCRIPTION: This script installs the ACE toolkit for a Unix system. -# Before using this script, you must do the following: -# -# NOTES: 1) Download the gzipped version of ACE from -# http://www.cs.wustl.edu/~schmidt/ (Select "Obtaining ACE") -# OR -# ftp from wuarchive.wustl.edu in the /languages/c++/ACE directory -# -# The local directory to which this will be downloaded is -# refered to as the "MY_ACEDIR" in this script. -# -# 2) Make sure there is only one file that matches "ACE*tar*". -# This should be the one you just downloaded. -# remove older versions of tar files downloaded earlier. -# -# 3) At the end of this script, you should have: -# -# a) A compiled toolkit in the $ACE_ROOT directory -# b) If you selected to save the existing installation, -# a file oldACE.tar.gz will be created in MY_ACEDIR -# c) The gzipped ACE source file that was initially downloaded. -# -# 4) This script may be executed without user interaction -# by using the "auto" option (see USAGE section below). -# It is advisable to execute it without the "auto" option the -# first time to make sure everything works. -# -# THE FOLLOWING NEED TO BE DONE ONLY THE FIRST TIME THIS -# SCRIPT IS RUN: -# -# 5) Read the README file in -# http://www.cs.wustl.edu/~schmidt/ACE.html directory -# -# 6) Define an environment variable ACE_ROOT the -# defines which directory your ACE toolkit is to be -# installed in. -# -# DO NOT MAKE "ACE_ROOT" THE SAME AS "MY_ACEDIR". -# -# 7) Redefine "MY_ACEDIR" in this script to default -# to the directory in which you have downloaded the ACE source. -# -# 8) This script has been tested on Solaris 2.x for the -# Sun C++4.0 compiler. To use this on some other UNIX -# platform, uncomment and redefine the following -# in this script: -# -# MY_ACE_CONFIG -# MY_ACE_GNU_MACROS -# -# Check the README file to define these variables. If -# these are not defined, the script will prompt you -# help you to change these variables. But in that case -# you cannot run with the "auto" option. -# -# -# USAGE: myacemaker [ auto ] -# -# auto automatic make (no user interaction) -# -# Under this option, the source will be -# extracted and compiled without any user interaction, -# i.e., you can kick off this script, go home, -# and check it in the morning. The following -# assumptions are made: -# -# 1) MY_ACE_DIR is properly defined in this script. -# 2) MY_ACE_CONFIG is properlly defined -# in this script. -# 3) MY_ACE_GNU_MACROS is properly defined in this -# script. -# 4) A backup of existing installation -# is to be made. -# -# COPYRIGHT INFORMATION: -# -# You are free to do anything you like with this script such as -# including it in commercial software. You may modify it and freely redistribute -# it. The author accepts no responsibility for any bugs or problems that -# arise as a consequence of using this code. -# -# -- Ajit Sagar -# -######################################################################### -# -ACE_ERRFILE=/tmp/myacemaker.err -OLD_ACE_TAR_FILE=oldACE.tar -OLD_ACE_GZIPPED_TAR_FILE=oldACE.tar.gz -USAGE=" : myacemaker [ auto ]" -# -############################################################## -# -# Platform-specific definitions -# -############################################################## - -# Directory where ACE-x.x.xx.tar.gz is located - -MY_ACEDIR=${HOME}/aceconfig - -####################################################### -# Platform specific config file in ${ACE_ROOT}/ace/ -# Uncomment and redefine this -####################################################### - -# MY_ACE_CONFIG=config-sunos5.4-sunc++-4.x.h - -####################################################### -# Platform specific GNU macros file in -# ${ACE_ROOT}/include/makeinclude/ -# Uncomment and redefine this -####################################################### - -# MY_ACE_GNU_MACROS=platform_sunos5_sunc++.GNU - - -############################################################## -# -# Main Script For Installing ACE -# -############################################################## - -AUTO="$#" - -ACE_ROOT=${ACE_ROOT:?"ERROR: Environment variable ACE_ROOT not set"} -if [ ${AUTO} -gt 1 ] -then - echo "$USAGE" - exit 1 -fi - -if [ ${AUTO} -eq 1 ] -then - if [ $1 != "auto" ] - then - if [ $1 = "nounzip" ] ; then - UNZIP=0 - AUTO=0 - else - echo "$USAGE" - exit 2 - fi - fi -fi - -echo "" -echo "ACE source in `ls ${MY_ACEDIR}/ACE*tar.gz`" -echo "ACE will be installed in ${ACE_ROOT}" -echo "" - -if [ $AUTO -eq 0 ] -then - echo "OK to continue? [Y/N] : \c" - read choice -else - choice='Y' -fi - -if [ ${choice} != 'Y' -a ${choice} != 'y' ] -then - echo "" - echo "ACE installation aborted" - echo "" - exit 11 -fi - -cd ${MY_ACEDIR} - -echo "Uncomressing ACE archive and extracting ACE files" -echo "into `pwd`/ACE_wrappers directory ..." -echo "" - -gunzip -c ACE*tar.gz | tar xvf - || \ -{ - echo "" - echo "gunzip or tar failed. Aborting script !!" - echo "" - exit 33 -} - -if [ -d ${ACE_ROOT} ] -then - - if [ $AUTO -eq 0 ] - then - echo "Save a copy of existing ACE installation? [Y/N] : \c" - read choice - echo "" - else - choice='Y' - fi - - if [ ${choice} = 'Y' -o ${choice} = 'y' ] - then - - echo "Archiving ${ACE_ROOT} to `pwd`/${OLD_ACE_TAR_FILE} using ..." - tar cvpf ${OLD_ACE_TAR_FILE} ${ACE_ROOT} - echo "" - - if [ -f ${OLD_ACE_GZIPPED_TAR_FILE} ] - then - echo "Removing ${OLD_ACE_GZIPPED_TAR_FILE} ..." - rm ${OLD_ACE_GZIPPED_TAR_FILE} - echo "" - fi - - echo "Compressing ${OLD_ACE_TAR_FILE} using ..." - gzip -9 ${OLD_ACE_TAR_FILE} - echo "" - - fi - - echo "Removing ${ACE_ROOT} ..." - rm -r ${ACE_ROOT} - echo "" -fi - -echo "Moving `pwd`/ACE_wrappers to ${ACE_ROOT} ..." -mv ./ACE_wrappers ${ACE_ROOT} -echo "" - -cd ${ACE_ROOT}/ace - -if [ ${MY_ACE_CONFIG:-undefined} = undefined ] -then - - if [ $AUTO -eq 1 ] - then - if [ ! -f ${MY_ACE_CONFIG} ] - then - echo "" - echo "${MY_ACE_CONFIG} does not exist. Aborting script ..." - echo "" - exit 44 - fi - fi - - echo "Select one of the following files for linking to config.h" - echo "" - echo "`ls config*h`" - echo "" - - echo "Type the filename for your compiler: \c" - read MY_ACE_CONFIG - echo "" - - if [ ! -f ${MY_ACE_CONFIG} ] - then - echo "" - echo "${MY_ACE_CONFIG} does not exist. Aborting script ..." - echo "" - exit 55 - fi - -fi - - -echo "Creating link config.h for ${MY_ACE_CONFIG} in directory `pwd` ..." - -rm ./config.h -ln -s ${MY_ACE_CONFIG} config.h - -echo "" - -cd ${ACE_ROOT}/include/makeinclude - -if [ ${MY_ACE_GNU_MACROS:-undefined} = undefined ] -then - - if [ $AUTO -eq 1 ] - then - if [ ! -f ${MY_ACE_GNU_MACROS} ] - then - echo "" - echo "${MY_ACE_GNU_MACROS} does not exist. Aborting script ..." - echo "" - exit 66 - fi - fi - - echo "Select one of the following files for linking to config.h" - echo "" - echo "`ls platform*GNU`" - echo "" - echo "Type the filename for your compiler: \c" - - read MY_ACE_GNU_MACROS - echo "" - - if [ ! -f ${MY_ACE_GNU_MACROS} ] - then - echo "" - echo "${MY_ACE_GNU_MACROS} does not exist. Aborting script ..." - echo "" - exit 77 - fi - -fi - -echo "Creating link platform_macros.GNU for ${MY_ACE_GNU_MACROS}" -echo "in directory `pwd` ..." - -rm ./platform_macros.GNU -ln -s ${MY_ACE_GNU_MACROS} platform_macros.GNU - -echo "" - -if [ ${AUTO} -eq 0 ] -then - echo "Make ACE now with default setup? [Y/N] : \c" - read choice - echo "" -else - choice='Y' -fi - -if [ ${choice} != 'Y' -a ${choice} != 'y' ] -then - echo "" - echo "ACE make skipped. You can use to make ACE later" - echo "" - exit 0 -fi - -echo "" -echo "Making ACE now. Examine file ${ACE_ERRFILE} for errors ..." -echo "" - -cd ${ACE_ROOT} - -echo "" -echo "Executing ..." -echo "" -gmake | tee ${ACE_ERRFILE} 2>&1 - -echo "" -echo "Examine file ${ACE_ERRFILE} for possible errors ..." -echo "" -echo "********** End of myacemaker script !!! ***********" -echo "" - -# -######################################################################### diff --git a/ACE.DSW b/ACE.DSW deleted file mode 100644 index bfdfb40ff40..00000000000 --- a/ACE.DSW +++ /dev/null @@ -1,1217 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 5.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "Atomic_Op_Test"=.\tests\Atomic_Op_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Barrier_Test"=.\tests\Barrier_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Buffer_Stream_Test"=.\tests\Buffer_Stream_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "CPP_inclient"=.\examples\IPC_SAP\SOCK_SAP\CPP_inclient.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "CPP_inserver"=.\examples\IPC_SAP\SOCK_SAP\CPP_inserver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "C_inclient"=.\examples\IPC_SAP\SOCK_SAP\SOCK_SAP.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "C_inserver"=.\examples\IPC_SAP\SOCK_SAP\C_inserver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Conn_Test"=.\tests\Conn_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Enum_Interfaces_Test"=.\tests\Enum_Interfaces_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Event_Server"=.\examples\ASX\Event_Server\Event_Server\Event_Server.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Exceptions"=.\examples\Reactor\ReactorEx\Exceptions.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Future_Test"=.\tests\Future_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Handle_Set_Test"=.\tests\Handle_Set_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Hash_Map_Manager_Test"=.\tests\Hash_Map_Manager_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "IOStream_Test"=.\tests\IOStream_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Log_Msg"=.\examples\Log_Msg\Log_Msg.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "MM_Shared_Memory_Test"=.\tests\MM_Shared_Memory_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Map_Manager_Test"=.\tests\Map_Manager_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Mem_Map_Test"=.\tests\Mem_Map_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Message_Block_Test"=.\tests\Message_Block_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Message_Queue_Notifications_Test"=.\tests\Message_Queue_Notifications_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Message_Queue_Test"=.\tests\Message_Queue_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Multithreading"=.\examples\Reactor\ReactorEx\Multithreading.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Mutex_Test"=.\tests\Mutex_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Naming_Test"=.\tests\Naming_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Network_Events"=.\examples\Reactor\ReactorEx\Network_Events.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Pipe_Test"=.\tests\Pipe_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Priority_Buffer_Test"=.\tests\Priority_Buffer_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Priority_Task_Test"=.\tests\Priority_Task_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Process"=.\examples\OS\Process\Process.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Process_Mutex_Test"=.\tests\Process_Mutex_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Process_Strategy_Test"=.\tests\Process_Strategy_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Reactor_Exceptions_Test"=.\tests\Reactor_Exceptions_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Reactor_Notify_Test"=.\tests\Reactor_Notify_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Reactor_Timer_Test"=.\tests\Reactor_Timer_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Reactors_Test"=.\tests\Reactors_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Reader_Writer_Test"=.\tests\Reader_Writer_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Recursive_Mutex_Test"=.\tests\Recursive_Mutex_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Registration"=.\examples\Reactor\ReactorEx\Registration.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Removals"=.\examples\Reactor\ReactorEx\Removals.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "SOCK_Test"=.\tests\SOCK_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "SPIPE_Test"=.\tests\SPIPE_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "SString_Test"=.\tests\SString_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "SV_Shared_Memory_Test"=.\tests\SV_Shared_Memory_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Semaphore_Test"=.\tests\Semaphore_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Service_Config_Test"=.\tests\Service_Config_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Sigset_Ops_Test"=.\tests\Sigset_Ops_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Simple_Message_Block_Test"=.\tests\Simple_Message_Block_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "TSS_Test"=.\tests\TSS_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Talker"=.\examples\Reactor\ReactorEx\Talker.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Task_Test"=.\tests\Task_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Thread_Manager_Test"=.\tests\Thread_Manager_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Thread_Pool_Test"=.\tests\Thread_Pool_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Time_Service_Test"=.\tests\Time_Service_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Time_Value_Test"=.\tests\Time_Value_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Timeouts"=.\examples\Reactor\ReactorEx\Timeouts.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Timer_Queue_Test"=.\tests\Timer_Queue_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Tokens_Test"=.\tests\Tokens_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "Transceiver"=.\examples\ASX\Event_Server\Transceiver\transceiver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "UPIPE_Event_Server"=.\examples\ASX\UPIPE_Event_Server\UPIPE_Event_Server.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "UPIPE_SAP_Test"=.\tests\UPIPE_SAP_Test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "acceptor"=.\examples\Connection\blocking\acceptor.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "auto_event"=.\examples\Threads\test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "barrier1"=.\examples\Threads\barrier1.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "barrier2"=.\examples\Threads\barrier2.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "cancel"=.\examples\Threads\cancel.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "client"=.\examples\Connection\non_blocking\non_blocking.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "connector"=.\examples\Connection\blocking\SPIPE.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "future1"=.\examples\Threads\future1.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "future2"=.\examples\Threads\future2.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "iterator"=.\examples\Registry\Registry.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "manual_event"=.\examples\Threads\manual_event.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "multiple_contexts"=.\examples\Naming\multiple_contexts.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "netsvcs"=.\netsvcs\lib\netsvcs.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "non_existent"=.\examples\Naming\non_existent.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "notification"=.\examples\Reactor\Misc\notification.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "ntalker"=.\examples\Reactor\Ntalker\ntalker.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "process_mutex"=.\examples\Threads\process_mutex.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "process_semaphore"=.\examples\Threads\process_semaphore.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "reader_writer"=.\examples\Threads\reader_writer.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "recursive_mutex"=.\examples\Threads\recursive_mutex.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "server"=.\examples\Connection\non_blocking\server.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "server_loggerd"=".\examples\Logger\Acceptor-server\server_loggerd.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "servers"=.\netsvcs\servers\servers.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "task_four"=.\examples\Threads\task_four.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "task_one"=.\examples\Threads\task_one.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "task_three"=.\examples\Threads\task_three.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "task_two"=.\examples\Threads\task_two.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "test_multiple_loops"=.\examples\Reactor\Proactor\test_multiple_loops.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "test_proactor"=.\examples\Reactor\Proactor\test_proactor.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "test_timeout"=.\examples\Reactor\Proactor\test_timeout.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "thread_manager"=.\examples\Threads\thread_manager.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "thread_pool"=.\examples\Threads\thread_pool.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "thread_specific"=.\examples\Threads\thread_specific.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "timer_queue"=.\examples\Reactor\Misc\Misc.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "token"=.\examples\Threads\token.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tss1"=.\examples\Threads\tss1.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tss2"=.\examples\Threads\tss2.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "update"=.\examples\Registry\update.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "writers"=.\examples\Naming\Naming.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/ASNMP/COPYRIGHT b/ASNMP/COPYRIGHT deleted file mode 100644 index ad880b9cf90..00000000000 --- a/ASNMP/COPYRIGHT +++ /dev/null @@ -1,68 +0,0 @@ -Mon Jul 14 12:12:32 PDT 1997 - -These copyrights apply to the SNMP++ module shipped with the ACE library: - - -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. - -=====================================================================*/ - -/********************************************************************** - Copyright 1988, 1989, 1991, 1992 by Carnegie Mellon University - - All Rights Reserved - -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 and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of CMU not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. -******************************************************************/ - -Certain portions of this version of HP's SNMP++ are: - -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - diff --git a/ASNMP/ChangeLog b/ASNMP/ChangeLog deleted file mode 100644 index b2b861869ab..00000000000 --- a/ASNMP/ChangeLog +++ /dev/null @@ -1,239 +0,0 @@ -Wed Dec 10 12:09:36 CST 1997 - * sagent.cpp, Eric Newton fix. result not checked. v1.8 - -Mon Dec 8 14:33:59 CST 1997 - * Thanks to Eric Newton's continued patches - Version 1.7 has fixes for: agent, base library - Fix to the response type fixes the interoperability with CMU snmp on - linux. (and SNMP Research as well) - - Initialize member of Pdu: output_ - Send responses as response messages - Deallocate and reset the io_vec - - The transaction object didn't initialize the io_vec used to receive - a packet when it was used for an agent transaction. - - Cleans up a warning about using a const object from a previous - patch. - - Removes the transaction object from the Reactor. - - -Sun Nov 30 17:49:12 CST 1997 Mike MacFaden - * Thanks to Eric Newton's apply patches: - Removed G++ warnings: - Removed unused variables - Cleaned up unused args to functions - Initialized variables - Inserted casts in *printf* functions - Added int return types to function definitions - Converted some variables from int to size_t to cut down on - sign comparison warnings - Reordered constructor initializer lists - Added return statements to functions returning int - - Modified for G++ language differences: - Modified for loops for ANSI scoping rules - - Fixed Bugs: - Deleted incorrect (cut-n-pasted) header to transaction.h - Removed "assignment in if condition" error - Added missing "break;" in switch statement in wpdu - - Features: - Added async interface. - - Noise: - Modified makefiles for g++ on Linux RedHat 4.1 - - * The new async interface has a test example in examples/get/get_async.cpp - that is useful if you are extending the get application. - - * Fixed makefile to include -lasnmp when building tests/examples - - * Compile and test with ACE 4.4 on Solaris 2.5.1 using Sun CC 4.2 - no warnings/errors. get_async will sigbus however in destructors. - -Thu Sep 4 18:56:12 1997 Mike MacFaden - - * commit agent/ mibs/ and update asnmp/ with sagent.h, cpp - to implement a trivial SNMPv1 agent that hard codes support - for mib II system group only. - -Fri Aug 22 23:43:20 1997 Mike MacFaden - - * clean up two memory leaks in octet class and one umr - -Thu Aug 21 20:59:23 1997 Mike MacFaden - - * Added Netbios address support to GenAddress - and added DecNetAddress, AppleTalkAddress classes per CISCO-TC.my - (ftp://ftp.cisco.com/pub/mibs) - -Tue Aug 19 20:19:32 1997 Michael R. MacFaden - * change IpAddress::is_arpa() to is_private() and update the comments - per RFC 1597. Add new test routine to verify this function in - tests/Address_Test.cpp - - * add IpAddress::to_octet(OctetStr& val) which is useful when having to - send a network address as an Octet String as in CISCO-PING-MIB.my - -Tue Aug 5 12:12:39 1997 Mike MacFaden (mrm@mrm-ss20) - * Thanks to Amos Shapira apply patches - to support IRIX 6.3. Stated request for: - I think it would make things "righter" to make the code use C++ - strings (and maybe vectors?). - - * Begin testing on HP-UX 10.01 (missing ucontext.h) - -Sat Aug 2 12:07:43 1997 Douglas C. Schmidt - - * Started to integrate the code into a more ACE-like style, e.g., - added a the "asnmp/" prefix to all the header files so that we - don't need to play games with the -I flags and so we can always - know where we're getting the headers from. - -Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20) - - * NOTES: This first version only tested on Solaris 2.5 - - * review classes for thread safety. Current thread design only - allows for one thread to safely access any ASNMP object created. - - * run purify test of get routine no -memory leaks. - - * verify both shared archive/static archive types work with - example programs - - * << Globals Changes >> - - * tested only archiver library version - - * reformat code to use one brace style. - - * changed all manifest constants defined as _XX to XX_ to stay out - of compiler namespace - - * change all OS calls to use ACE_OS:: portability layer, #include - - - * reformat code to use one consistent brace layout and redo - header using ACE - - * remove semicolons on member functions foo{}; - not necessary - - * make get() methods const member functions - - * removed unnecessary casts that looked like this: and revamped - all memory allocations via ACE_NEW macro - - new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len - - To - - ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len]) - - * Collapsed default constructors with constructors to constructors - with default arguments. - - * removed unused #include - - * Added ACE_TRACE() to classes - - * change get_printable() to to_string() - there will be more java - programmers in the future so this should be the first step... - - * removed ASYNC interface till it can be rebuilt using ACE patterns - - * Attempt to make interface more type strict but leaving generic - interfaces as escape hatch. Example: CTarget becomes UdpTarget - for UDP/IP based agents. - - * << Class Specific Changes >> - - * Oid class: - - remove char * routines, simplify class - - added suboid method and removed get_printable() overloads - - * CTarget class: - - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ - Article by Allen Hollub. - - * Varbind class: - - remove generic set_value for char,int, etc. Too easy to get - this wrong. Allow just types defined. - - added overload for equality operator (==) - - added new constructor to allow setting full vb state oid,value, exception - - add to_string() - - * Address class: - - change manifest constants to enums for address lengths, add IP V6 lens - - - add a netbios name class, still pretty worthless since I don't have spec - in front of me yet... - - - rewrite resolver calls to be thread safe and cleaner by moving to two - class (static) member functions: - - // thread safe routine to lookup ip address given hostname - // return <> 0 on error - static int resolve_to_addr(const char *hostname, in_addr& quad_addr); - - // thread safe routine to lookup name given ip address - // return <> 0 on error - static int resolve_to_hostname(const in_addr& quad_addr, char *hostname) - - * added some interrogation routines to class IpAddress: - is_loopback() const; - - * Ctr64 class: - - added constructor using long long datatype (needs to be made - portable to NT - - * Pdu class: add to_string() - - * Classes added wpdu class: - - a new adpater class between CMU and HP pdu, varbind data structures - - * transaction class: - - implement get/getnext timeout and retry logic using ACE - Reactor class, ACE_Time_Value - -Sat Jul 5 19:13:30 1997 Mike MacFaden (mrm@mrm-ss20) - - * unpacked snmp++.tar.Z into ACE_wrappers, remove X11 support. If - you need GUI support in a communications package, something's - wrong, very wrong.... - - * Change HP-UX Makefiles to use ACE makefile system - - * Change includes to use ACE OS Adaption Layer - - * change all OS calls to use ACE_OS:: versions - - * Add ACE_TRACE macros to all functions. - - * clean up the global namespace by puting all global functions - into C++ classes as static member functions and make public only - those that are used (uxsnmp.cpp, eventlist.cpp) - - * create README from readme.txt, COPYRIGHT files. - - * create tests/ directory rename ConsoleExamples to examples - - * cull out dead code modules and dump them into misc dir: - oidname.cpp, ipresolv.cpp - - * ipresolv.cpp had broken hostname buffer size (200), when DNS has - aways defined a max FQDN as 256...go figure. - - * add General Error handler since existing ones are not very - useful in and of themselves. - - * change all _DEF to DEF_ since _ANYTHING is reserved for compiler - writer namespace, NOT app writer - - * convert cmu code to use C++ new/delete from malloc/free so - entire library uses C++ new constructor - diff --git a/ASNMP/Makefile b/ASNMP/Makefile deleted file mode 100644 index dfcb25362d9..00000000000 --- a/ASNMP/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the SNMP+ACE examples directory -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -INFO = README - -DIRS = asnmp \ - examples \ - tests -#---------------------------------------------------------------------------- -# 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 - - -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -# 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/ASNMP/README b/ASNMP/README deleted file mode 100644 index df21dfdf467..00000000000 --- a/ASNMP/README +++ /dev/null @@ -1,166 +0,0 @@ -Wed Dec 10 12:10:44 CST 1997 -==================================================================== -ASNMP = ACE+SNMP++ Version 1.8 -By Michael R. MacFaden mrm@acm.org, mrm@yagosys.com -==================================================================== - -What is ASNMP ? ==> ACE+SNMP! aka Another SNMP API - HP's SNMP++ 2.5 freely available C++ SNMP class library - has been adapted to the ACE 4.2 Framework. - -What is Simple Network Management Protocol(SNMP)? - See the FAQ: - http://www.snmp.com/FAQs/snmp-faq-part1.txt - http://www.snmp.com/FAQs/snmp-faq-part2.txt - - -What was changed from HP version? - See src/ChangeLog file. - -Is HP SNMP++ compatible with ASNMP? - It is neither source nor binary compatible. About 10% of the API has changed. - There have been API changes to make the interface more orthogonal - and to reduce implementation complexity such as consolidating constructors - with default formal values, and to remove some inconsistencies - with the HP interface as well as locking down valid() semantics, etc. - -What platforms have the test programs been verified on? - Solaris 2.4, 2.5.1 using SUN C++ 4.1,4.2 compiler. Linux/GCC - fixes are now in as well. - -Why use this version? - The SNMP++ version ships only for HP-UX and for Windows. - It is not very portable nor does it do a good job at checking - for out of memory exhaustion conditions (asn1.cpp). There is some great - code here. ACE needs an SNMP library to build NM type - communications applications. Hence ASNMP was born in my spare time. - -How does ASNMP differ from SNMP? - Current version uses ACE OS Adaption layer. All memory - allocation is now consistent, uses ACE_NEW(). - Standard ACE Debugging (ACE_TRACE) has been inserted. - ASNMP has less global namespace pollution by moving all non-class - functions into interface classes or made into static locals. - - An agent inteface has been added (asnmp/sagent.h) so both agents - and managers can use this class library. A trivial agent - exists in ASNMP/agent/ - - X11 GUI support removed from this version since this is - not the place to include GUI support in the new world of - multi-threaded apps. - - The async interface does not match the HP implementation. - -How to build this library - Set ACE_ROOT and platform_macros.GNU per ../INSTALL file. - create libasnmp.a, libasnmp.so and then run the tests - -Any Support for ASNMP? - As time permits from the mailing list. - -Where to ask questions? - Please use ace-users@cs.wustl.edu mailing list or mrm@acm.org - -NOTE: Please do not bother Eric Mellquist unless you are using - the original HP version of this library. - -Where can I get the original HP SNMP++? - From ftp://rosegarden.external.hp.com:/pub/snmp++ - -What version of SNMP is fully supported? - SNMP Version 1 (RFC 1155,1157, 1215) - -What about SNMP Version 2c? - V2c is defined in RFC 1901 - 1908 - These bits are added to v1 code in this library: GetBulk PDU, Counter64 - These bits are missing Inform (RFC 1905) - RFC 1903 defined new datatypes using existing SMI via macros. - These should be coded as if they were SMI datatypes to encapsulate - their behavior. V2c hasn't been deployed - -What about SNMP Version 3? - It is looking good for V3, but so far, we're just wathing. - http://www.ietf.org/html.charters/snmpv3-charter.html - -What copyrights/legal requirements are required when using this code? - See ./COPYRIGHT - -Does this really work? - See tests/ directory for the current test reports (purify/purecov/...). - -Any Future Plans? - The ASNMP library will be improved for performance and made to use - higher level design patterns. Hopefully it will be used as a - vehicle for grad students to learn something about network mgmt - code work a related cousin of general distributed programming. - - -Regards, -Michael R. MacFaden -Member of the Technical Staff -YAGO Systems, Inc. -795 Vaqueros Ave -Sunnyvale, CA 94086 -408-774-2900 x251 -mrm@yagosys.com -http://www.yagosys.com - -==================================================================== -SNMP++ For UNIX Source Code and Examples: -==================================================================== -Included within this package can be found the source code and -examples for SNMP++. The following represents the directories which -are included within the compressed tar file and their contents. - -For more details on the API , please refer to the API specification. - -This library is a complete implementation of SNMP++ and does not -require other SNMP libraries to be present. - -Required Tools: ---------------------------------------------------------------------- - - -readme.txt ( this file) -| -| -|------ src ( .cpp files and Makefile for building libraries ) -| -|------ examples ( a variety of apps, .cpp and Makefile included ) -| -|------ tests - unit test routines - - -src Directory Contents: --------------------------------------------------------------------- -Makefile - make file for ACE/Solaris 2. build -target.cpp - Collection of attributes(address, timeout, etc) used - to define a command session -snmp.cpp - A logical session between NM app and agent -pdu.cpp - Pdu class source (vb list and API command) -wpdu.cpp - Adapter pattern based class between CMU and HP code -transaction.cpp - synchronous transaction clss -vb.cpp - Variable Binding class source (oid + value) - -<< SMI datatypes used to get/set values in SNMPv1 agents>> - -address.cpp - Address class source -gauge.cpp - Gauge32 class source -integer.cpp - Integer32 class source -counter.cpp - Counter32 class source -ctr64.cpp - Counter64 class source -timetick.cpp - TimeTicks class source -octet.cpp - Octet String class source -oid.cpp - Oid class source -asn1.cpp - ASN1 encoding and decoding code. CMU code. - -examples Directory Contents: ---------------------------------------------------------------------- -Makefile - make file for building console apps -get.cpp - source for SNMP get program -next.cpp - source for SNMP get Next program -set.cpp - source for SNMP set program -trap.cpp - source for SNMP trap send program -walk.cpp - source for SNMP walk program - diff --git a/ASNMP/TO-DO b/ASNMP/TO-DO deleted file mode 100644 index a05b7106f58..00000000000 --- a/ASNMP/TO-DO +++ /dev/null @@ -1,3 +0,0 @@ -TODO: - - Attempt to make all subroutines thread safe - - work on test suite - validate basic stuff doesn't leak diff --git a/ASNMP/agent/Makefile b/ASNMP/agent/Makefile deleted file mode 100644 index 043ccfa45e0..00000000000 --- a/ASNMP/agent/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# Sample SNMPv1 Agent -# Makefile for Solaris 2.x -# $Id$ - -OBJS = main.o snmp_agent.o agent_impl.o -INCL = -I$(ACE_ROOT) -I$(ACE_ROOT)/ASNMP -CC=CC -SOL_FLAGS=-mt -R $(ACE_ROOT)/ASNMP/asnmp:$(ACE_ROOT)/ace -DEBUG = -g $(SOL_FLAGS) -CFLAGS =$(INCL) $(DEBUG) -RUNPATH = -LIBS = -L $(ACE_ROOT)/ASNMP/asnmp -lasnmp -L $(ACE_ROOT)/ace -lACE -ldl - -agent: $(OBJS) - $(CC) -o agent $(DEBUG) $(OBJS) $(LIBS) $(RUNPATH) - - -main.o: main.cpp - $(CC) -c $(CFLAGS) main.cpp - -snmp_agent.o: snmp_agent.cpp snmp_agent.h - $(CC) -c $(CFLAGS) snmp_agent.cpp - -agent_impl.o: agent_impl.cpp agent_impl.h - $(CC) -c $(CFLAGS) agent_impl.cpp - -clean: - -rm *.o agent *~ diff --git a/ASNMP/agent/agent_impl.cpp b/ASNMP/agent/agent_impl.cpp deleted file mode 100644 index 2f456cc2d91..00000000000 --- a/ASNMP/agent/agent_impl.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* -*-C++-*- */ -// implement a prototype SNMP Agent using ASNMP and ACE - -#include -#include -#include - -#include "agent_impl.h" - -agent_impl::agent_impl(unsigned short port, const char *rd, const char *wr) : -sagent(port) -{ - ACE_TRACE("agent_impl::agent_impl"); - tgt_.set_read_community(rd); - tgt_.set_write_community(wr); - agent_clock_.start(); -} - -agent_impl::~agent_impl() -{ - ACE_TRACE("agent_impl::~agent_impl"); -} - -// callback : have received a Pdu from the target host with given read comm str -// this is really simplistic, but gives the general idea -int agent_impl::handle_get( Pdu &pdu, UdpTarget &target) -{ - ACE_TRACE("agent_impl::handle_get"); - OctetStr mgr_rd_str, agent_rd_str; - target.get_read_community(mgr_rd_str); // requster's read community string - tgt_.get_read_community(agent_rd_str); // this agent's read community string - - // 1. verify we have a valid read string else drop pdu (no response to caller) - if (mgr_rd_str != agent_rd_str) { - ACE_DEBUG((LM_DEBUG, "agent_impl::handle_get: invalid read community recvd\n")); - return 0; - } - - // 2. iterate over each varbind in the pdu, filling providing responses - int fdone = 0; - for (int i = 0; (i < pdu.get_vb_count()) && !fdone; i++) { - Vb vb; - pdu.get_vb(vb, i); - if (get_response(vb)) { // set a value for the oid if we can else - set_error_status(&pdu, SNMP_ERROR_NO_SUCH_NAME); // these ought to be member - set_error_index(&pdu, i); // functions but are not yet... - fdone++; // trigger flag to exit loop early - } - else // failed, return noSuch error - pdu.set_vb(vb, i); - } - - // 3. lastly, return the pkt to the caller - return respond(pdu, target); -} - -// this routine makes up the brains of the agent -// it knows only the MIB II system group set of variables for a get operation -int agent_impl::get_response(Vb& vb) -{ - // these objects represent the MIB II system group per RFC 1213 - static Oid sysDescr("1.3.6.1.2.1.1.1.0"), - sysObjectID("1.3.6.1.2.1.1.2.0"), sysUpTime("1.3.6.1.2.1.1.3.0"), - sysContact("1.3.6.1.2.1.1.4.0"), sysName("1.3.6.1.2.1.1.5.0"), - sysLocation("1.3.6.1.2.1.1.6.0"), sysServices("1.3.6.1.2.1.1.7.0"); - - Oid oid; - vb.get_oid(oid); - if (oid == sysDescr) { - OctetStr desc("ASNMP Prototype Agent 1.0"); - vb.set_value(desc); - } - else if (oid == sysObjectID) { // the IANA gives assigns Enterprise Numbers - // see ftp://ftp.isi.edu/in-notes/iana/assignments/enterprise-numbers - // for the official list of enterprise numbers. Then under this tree - // assign a unique subtree to identify this agent - Oid id("1.3.6.1.4.1.2533.9.1"); - vb.set_value(id); - } - else if (oid == sysUpTime) { - ACE_Time_Value tv; - agent_clock_.elapsed_time (tv); - TimeTicks tt(tv.msec()); - vb.set_value(tt); - } - else if (oid == sysContact) { - OctetStr contact("mrm@acm.org"); - vb.set_value(contact); - } - else if (oid == sysName) { - OctetStr fqdn("foo.org"); // extract this from the gethostbyname() TODO - vb.set_value(fqdn); - } - else if (oid == sysLocation) { - OctetStr loc(""); - vb.set_value(loc); - } - else if (oid == sysServices) { - SnmpInt32 svcs(72); - vb.set_value(svcs); - } - else - return 1; // noSuchName - - return 0; -} - -int agent_impl::handle_get_next( Pdu &pdu, UdpTarget &target) -{ - ACE_TRACE("agent_impl::handle_get_next -NI"); - return 0; -} - -int agent_impl::handle_set( Pdu &pdu, UdpTarget &target) -{ - ACE_TRACE("agent_impl::handle_set -NI"); - return 0; -} - -// stuff used by process_requests - -// called when SIGINT -static sig_atomic_t finished = 0; - -extern "C" void -sig_handler (int) -{ - ACE_TRACE("::sig_handler"); - finished = 1; -} - -int agent_impl::process_requests() -{ - ACE_TRACE("agent_impl::process_requests"); - ACE_Reactor reactor; - - ACE_Sig_Action sa ((ACE_SignalHandler) sig_handler, SIGINT); - ACE_UNUSED_ARG (sa); - - // Read data from other side. - if (reactor.register_handler (this, ACE_Event_Handler::READ_MASK) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "ACE_Reactor::register_handler"), -1); - - // TODO: register signal handler to shut down gracefully here - - while (!finished) - { - reactor.handle_events (); - ACE_DEBUG ((LM_DEBUG, "return from handle events\n")); - } - - ACE_DEBUG ((LM_DEBUG, "return from handle events - normal shut down\n")); - return 0; -} diff --git a/ASNMP/agent/agent_impl.h b/ASNMP/agent/agent_impl.h deleted file mode 100644 index ee107a88a99..00000000000 --- a/ASNMP/agent/agent_impl.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ASNMP -// -// = FILENAME -// agent_impl.h -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ - -#if !defined (AGENT_IMPL_H) -#define AGENT_IMPL_H - -#include -#include -#include -#include -#include -#include - -class agent_impl : public sagent -{ -public: - agent_impl(unsigned short port, const char *rd, const char *wr); - virtual ~agent_impl(); - - virtual int handle_get( Pdu &pdu, UdpTarget &target); - // retrieve data from a peer agent for a given list of oid values - - virtual int handle_get_next( Pdu &pdu, UdpTarget &target); - // retrieve data lexically adjacent to the oids specified in the pdu - // from the peer agent - - virtual int handle_set( Pdu &pdu, UdpTarget &target); - // set data in the agent from the list of oids in the pdu - - int process_requests(); - // main loop here using a reactor object - -private: - UdpTarget tgt_; // this agent's read, write community strings - int get_response(Vb& vb); // set values for a "get" cmd - ACE_High_Res_Timer agent_clock_; // agent "uptime" ticks reported in 1/100 second -}; - -#endif /* AGENT_IMPL_H */ diff --git a/ASNMP/agent/main.cpp b/ASNMP/agent/main.cpp deleted file mode 100644 index 1aa15d00025..00000000000 --- a/ASNMP/agent/main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -/* -*-C++-*- */ -// $Id$ - -// This server daemon processes SNMP Version 1 get, get-next, and set -// commands. over the MIB II "System" group only. -// - -#include "snmp_agent.h" - -int main (int argc, char *argv[]) -{ - snmp_agent the_agent; - - if (the_agent.set_args(argc, argv)) { - return 1; - } - - if (!the_agent.valid()) { - return 1; - } - - the_agent.run(); // main loop - - return 0; -} - diff --git a/ASNMP/agent/snmp_agent.cpp b/ASNMP/agent/snmp_agent.cpp deleted file mode 100644 index 81a7c2c6f70..00000000000 --- a/ASNMP/agent/snmp_agent.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// This server daemon processes SNMPv1 requests over MIB II System group - -#include "snmp_agent.h" -#include "agent_impl.h" // actual implementation -#include "ace/Get_Opt.h" -#include "ace/Reactor.h" - -// module globals -#define SNMP_AGENT_PORT (161) -#define WR_COM ("private") -#define RD_COM ("public") - -snmp_agent::snmp_agent() : agent_(0) -{ - ACE_TRACE("snmp_agent::snmp_agent"); -} - -snmp_agent::~snmp_agent() -{ - ACE_TRACE("snmp_agent::~snmp_agent"); - delete agent_; -} - - -int snmp_agent::valid() const -{ - ACE_TRACE("snmp_agent::valid"); - return (agent_ != 0); -} - -int snmp_agent::set_args(int argc, char *argv[]) -{ - ACE_TRACE("snmp_agent::set_args"); - unsigned short port = SNMP_AGENT_PORT; - char *rd = RD_COM, *wr = WR_COM; - - ACE_Get_Opt get_opt (argc, argv, "p:w:r:hv"); - for (int c; (c = get_opt ()) != -1; ) { - switch (c) - { - case 'p': - port = (ACE_OS::atoi (get_opt.optarg)); - break; - case 'w': // write community string - wr = get_opt.optarg; - break; - case 'r': // read community string - rd = get_opt.optarg; - break; - - case 'h': // help & version info - case 'v': - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Example SNMP Version 1 Agent - ASNMP/ACE\n")); - return -1; - break; - - default: - return -1; // invalid arg - } - } - - - agent_ = new agent_impl(port, rd, wr); // opens OS IO port - return 0; -} - -int snmp_agent::run() -{ - ACE_TRACE("snmp_agent::run"); - ACE_ASSERT(agent_); - - // open service port -#if 0 - if (agent_->open_port()) { - ACE_DEBUG((LM_DEBUG, "(%P|%t) open port %d failed\n", agent_->get_port())); - return -1; - } -#endif - - // Run forever, processing SNMP requests. - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) starting up snmp agent (server) daemon\n")); - - agent_->process_requests(); - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) shutting down snmp agent (server) daemon\n")); - return 0; -} - diff --git a/ASNMP/agent/snmp_agent.h b/ASNMP/agent/snmp_agent.h deleted file mode 100644 index a3c13ce89c1..00000000000 --- a/ASNMP/agent/snmp_agent.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*-C++-*- */ - -#ifndef SNMP_AGENT_ -#define SNMP_AGENT_ -// ============================================================================ -// -// = LIBRARY -// ASNMP -// -// = FILENAME -// snmp_agent.h -// -// = AUTHOR -// Michael R. MacFaden (mrm@cisco.com) -// -// ============================================================================ - -class agent_impl; - -class snmp_agent { - // = TITLE - // An SNMP v1 agent class - // - // = DESCRIPTION - // Contructs agents that are capable of processing SNMPv1 requests - // over the MIB II System group - - public: - snmp_agent(); // uses port 161, public, private - ~snmp_agent(); - - int valid() const; - // did object construct ok - - int set_args(int argc, char *argv[]); - // runtime arguments such as community strings, port to use - - int run(); - // begin processing requests - - private: - snmp_agent(const snmp_agent&); - agent_impl *agent_; -}; - -#endif // SNMP_AGENT_ diff --git a/ASNMP/asnmp-overview.html b/ASNMP/asnmp-overview.html deleted file mode 100644 index 6c119ba1323..00000000000 --- a/ASNMP/asnmp-overview.html +++ /dev/null @@ -1,133 +0,0 @@ - - -ASNMP Overview - -

ASNMP Overview

- -

The Another SNMP class library is an Object Oriented programming -toolkit for using IETF standard network management protocols in the -Internet. The SNMP protocol is perhaps the most ubiquitous management -protocol running on most very device or application deployed in the -modern network today. - -

ASNMP is targeted to programmers that want to write command and -control (C&C) applications. C&C Applications communicate with -a variety of objects: - -

  • network devices such as ATM switches, Internet routers, -LAN bridges and LAN printers -
  • Routing protocols such as OSPF -
  • database servers such as ORACLE or Informix. - -

    ASNMP Version 1 implements a blocking SNMP Version 1 with some -Version 2c additions (Counter32, Counter64 SMI values). See -SNMP Version 1 as defined in the IETF Request for Comments (RFC) - -

  • 1155 -
  • 1157 -
  • 1213 -
  • 1215 - -

    Also see the RFC 1902 spec for new SMI datatypes such as Counter64. - -

    ASNMP is built using the CMU SNMP and HP SNMP++ as the base -classes then modified for use in the ACE framework. About 10% of the API -changed during code rework. See ASNMP/asnmp/ChangeLog for details. - -

    ASNMP can be used for either manager applications or agent applications. -The Snmp class contains the interface for manager applications. The -sagent class contains the interface for agent applications. A -trivial agent that implements the mib II system group per rfc1213 is -in the agents/ directory. - -

    Class Heirarchy

    - -
    -UdpTarget - Defines a collection of attributes needed to define a 
    -             communications session with an SNMP agent 
    -            This includes  network address, response timeout, etc.
    -  
    -Snmp - A logical session between NM app and agent. Provides the
    -       commands get, get_next, trap. Manages transactions between app and 
    -       server.
    -
    -Pdu  - A container object that represents an SNMP Protocol Data Unit.
    -       A Pdu contains a command (get,getnext,trap) Varbind List list, 
    -       a community string.
    -
    -Vb   - Aka Varbind or Variable Binding.  A pdu can have zero, 
    -       one or more of these. A Vb consists of an Oid to identify 
    -       the variable and a value corresponding to  one of the SMI values. 
    -       The oid/value binding is defined in a MIB file (RFC 1155)
    -       Agents hava a MIB file that defines what each variable means.
    -       Most agents implement MIB II as defined in RFC 1156.        
    -
    -

    The Structure of Managment Information (SMI) datatypes -and related types are: -

      -
    • Address->IpAddress->UdpAddress as well as MAC, IPX, IPXSOCK, Netbios -
    • Unsigned Integer -
    • Gauge32 -
    • Integer32 -
    • Counter32 -
    • Counter64 -
    • TimeTicks -
    • OctetStr -
    • Oid -
    - -
    - -

    Sample program

    -

    A sample Object to get obtain an Agent's Systems' Description -given an network address and a community string. - -class system_id { - public: - system_id(UdpAddress addr, OctetStr read_community_string) - { - UdpTarget tgt; - Snmp snmp; - Pdu pdu; - Oid oid("1.3.6.1.2.1.1.1.0"); - Vb vb(oid); - tgt.set_address(addr); - tgt.set_read_community(read_community_string); - pdu += vb; - - if (snmp.get(pdu, tgt) == 0) { - pdu.get_vb(vb, 0); - vb.get_value(desc_); - } - else - desc_ = "" - } - - int get_description(OctetStr& description) { - description = desc_; - return 0; - } - -private: - OctetStr desc_; -}; - -

    Future Directions

    -

    Here are some areas for further work - -

  • Add OO mib parser and mib code generator -
  • Collapse the CMU/HP code into one set of classes. -
  • Add full V2c support. -
  • Size/Speed improvements - - -

    References

    - - diff --git a/ASNMP/asnmp/ChangeLog b/ASNMP/asnmp/ChangeLog deleted file mode 100644 index 629a17d12f5..00000000000 --- a/ASNMP/asnmp/ChangeLog +++ /dev/null @@ -1,114 +0,0 @@ -Wed Aug 20 15:11:23 1997 Mike MacFaden - - * rebuilt Makefile using g++dep - - * pdu.h pdu.cpp initialization errors fixed - - * address.h address.cpp IpAddress::to_octet() added - -Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20) - - * NOTES: This first version only tested on Solaris 2.5 - - * review classes for thread safety. Current thread design only - allows for one thread to safely access any ASNMP object created. - - * run purify test of get routine no -memory leaks. - - * verify both shared archive/static archive types work with - example programs - - * << Globals Changes >> - - * tested only archiver library version - - * reformat code to use one brace style. - - * changed all manifest constants defined as _XX to XX_ to stay out - of compiler namespace - - * change all OS calls to use ACE_OS:: portability layer, #include - - - * reformat code to use one consistent brace layout and redo - header using ACE - - * remove semicolons on member functions foo{}; - not necessary - - * make get() methods const member functions - - * removed unnecessary casts that looked like this: and revamped - all memory allocations via ACE_NEW macro - - new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len - - To - - ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len]) - - * Collapsed default constructors with constructors to constructors - with default arguments. - - * removed unused #include - - * Added ACE_TRACE() to classes - - * change get_printable() to to_string() - there will be more java - programmers in the future so this should be the first step... - - * removed ASYNC interface till it can be rebuilt using ACE patterns - - * Attempt to make interface more type strict but leaving generic - interfaces as escape hatch. Example: CTarget becomes UdpTarget - for UDP/IP based agents. - - * << Class Specific Changes >> - - * Oid class: - - remove char * routines, simplify class - - added suboid method and removed get_printable() overloads - - * CTarget class: - - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ - Article by Allen Hollub. - - * Varbind class: - - remove generic set_value for char,int, etc. Too easy to get - this wrong. Allow just types defined. - - added overload for equality operator (==) - - added new constructor to allow setting full vb state oid,value, exception - - add to_string() - - * Address class: - - change manifest constants to enums for address lengths, add IP V6 lens - - - add a netbios name class, still pretty worthless since I don't have spec - in front of me yet... - - - rewrite resolver calls to be thread safe and cleaner by moving to two - class (static) member functions: - - // thread safe routine to lookup ip address given hostname - // return <> 0 on error - static int resolve_to_addr(const char *hostname, in_addr& quad_addr); - - // thread safe routine to lookup name given ip address - // return <> 0 on error - static int resolve_to_hostname(const in_addr& quad_addr, char *hostname) - - * added some interrogation routines to class IpAddress: - is_loopback() const; - - * Ctr64 class: - - added constructor using long long datatype (needs to be made - portable to NT - - * Pdu class: add to_string() - - * Classes added wpdu class: - - a new adpater class between CMU and HP pdu, varbind data structures - - * transaction class: - - implement get/getnext timeout and retry logic using ACE - Reactor class, ACE_Time_Value - diff --git a/ASNMP/asnmp/Makefile b/ASNMP/asnmp/Makefile deleted file mode 100644 index cdf97cfc908..00000000000 --- a/ASNMP/asnmp/Makefile +++ /dev/null @@ -1,593 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the SNMP+ACE Release -#---------------------------------------------------------------------------- - -MAKEFILE = Makefile -LIB = libasnmp.a -SHLIB = libasnmp.$(SOEXT) - -FILES = address \ - asn1 \ - counter \ - ctr64 \ - gauge \ - integer \ - octet \ - oid \ - pdu \ - snmp \ - target \ - timetick \ - transaction \ - vb \ - wpdu \ - sagent - -TEMPLATE_FILES = - -DEFS = $(addsuffix .h,$(FILES)) -DEFS += $(addsuffix .i,$(FILES)) -LSRC = $(addsuffix .cpp,$(FILES)) -#LSRC2 = $(addsuffix .cpp,$(TEMPLATE_FILES)) - -#### Build the SNMP++ shared library _before_ the static library. -#### This works around an apparent problem with template -#### instantiation with Sun C++ 4.1 and 4.2 (the symptom is link -#### error due to ACE_TimeValue::normalize () not being found). -BUILD = $(VSHLIB) $(SHLIBA) $(VLIB) - -#---------------------------------------------------------------------------- -# 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 -#---------------------------------------------------------------------------- - -CCFLAGS += -I$(ACE_ROOT)/ASNMP/ - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -address.o: address.cpp /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h -asn1.o: asn1.cpp /home/cs/guest/mrm/ASNMP/asnmp/asn1.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/snmp.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Atomic_Op.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Time_Value.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /home/cs/guest/mrm/ASNMP/asnmp/pdu.h -counter.o: counter.cpp /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h -ctr64.o: ctr64.cpp /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i -gauge.o: gauge.cpp /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i -integer.o: integer.cpp /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i -octet.o: octet.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h -oid.o: oid.cpp /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h -pdu.o: pdu.cpp /home/cs/guest/mrm/ASNMP/asnmp/snmp.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Atomic_Op.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Time_Value.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /home/cs/guest/mrm/ASNMP/asnmp/pdu.h -snmp.o: snmp.cpp /home/cs/guest/mrm/ASNMP/asnmp/snmp.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Atomic_Op.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Time_Value.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /home/cs/guest/mrm/ASNMP/asnmp/pdu.h \ - /home/cs/guest/mrm/ASNMP/asnmp/enttraps.h \ - /home/cs/guest/mrm/ASNMP/asnmp/asn1.h \ - /home/cs/guest/mrm/ASNMP/asnmp/wpdu.h \ - /home/cs/guest/mrm/ASNMP/asnmp/transaction.h -target.o: target.cpp /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h -timetick.o: timetick.cpp /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i -transaction.o: transaction.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Atomic_Op.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Time_Value.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.i \ - /home/cs/guest/mrm/ASNMP/asnmp/transaction.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/pdu.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/wpdu.h \ - /home/cs/guest/mrm/ASNMP/asnmp/asn1.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmp.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.i -vb.o: vb.cpp /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h -wpdu.o: wpdu.cpp /home/cs/guest/mrm/ASNMP/asnmp/wpdu.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/asn1.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmp.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Handle_Set.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Simple.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SV_Semaphore_Complex.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Event_Handler.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Synch_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Thread.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Atomic_Op.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Time_Value.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Free_List.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Timer_Queue_T.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Signal.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Token.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Pipe.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/IPC_SAP.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_IO.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Stream.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Reactor.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/SOCK_Dgram.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /home/cs/guest/mrm/ASNMP/asnmp/pdu.h \ - /home/cs/guest/mrm/ASNMP/asnmp/enttraps.h - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/ASNMP/asnmp/TODO b/ASNMP/asnmp/TODO deleted file mode 100644 index 12beb91406b..00000000000 --- a/ASNMP/asnmp/TODO +++ /dev/null @@ -1,25 +0,0 @@ -This is the todo list aka wish list: feel free to add/implmement -Fri Aug 1 19:40:55 PDT 1997 - -0) collapse CMU and HP code - make this thing faster since it is really - slow and bulky... - -1) implement response time statistics collection so that timeout can vary based - on empirical response times - -2) Implement pdu fragmentation based on tooBig errors or app directed - Snmp::set_pdu_max_size() command - -3) implement async interface - -4) make templatized version to implement sync/nonsync (thread safe version) - -5) add V2c when a real agent is in the field that supports it - -6) Add DISMAN support when IETF approves the Expression Mib - -7) way too many procedural case stmts in the code... - -8) add compare_right() method to be orthogonal to oid class. - - diff --git a/ASNMP/asnmp/address.cpp b/ASNMP/asnmp/address.cpp deleted file mode 100644 index b0b890776af..00000000000 --- a/ASNMP/asnmp/address.cpp +++ /dev/null @@ -1,2685 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// address.cpp -// -// = DESCRIPTION -// The Vb class is an encapsulation of the snmp variable binding. -// This module contains the class definition for the variable binding (VB) -// class. The VB class is an encapsulation of a SNMP VB. A VB object is -// composed of one SNMP++ Oid and one SMI value. The Vb class utilizes Oid -// objects and thus requires the Oid class. To use this class, -// set oid, value then call valid() to be sure object was constructed correctly. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. - =====================================================================*/ - -#include "asnmp/address.h" - -//================================================================= -//======== Abstract Address Class Implementation ================== -//================================================================= - -// allow destruction of derived classes -Address::~Address() -{ -} - - -//----------------------------------------------------------------- -// is the address object valid? -int Address::valid() const -{ - return valid_flag; -} - -//------------[ Address::trim_white_space( char * ptr) ]------------ -// destructive trim white space -void Address::trim_white_space( char * ptr) -{ - char *tmp; - - tmp = ptr; - // skip leading white space - while (*tmp==' ')tmp++; - ACE_OS::strcpy(ptr,tmp); - - // find end of string - while ((*tmp!=' ') && (*tmp !=0)) tmp++; - if (*tmp!=0) *tmp=0; -} - -//TM: this is not used nor needed, remove? -//-----[ element access ]---------------------------------------------- -unsigned char& Address::operator[]( const int position) -{ - if ( position < MAX_ADDR_SZ) - return address_buffer[ position]; - else - return address_buffer[0]; -} - - -//----------------------------------------------------------------------- -// overloaded equivlence operator, are two addresses equal? -int operator==( const Address &lhs, const Address &rhs) -{ - if ( strcmp( (const char*) lhs, (const char*)rhs)==0) - return TRUE; - else - return FALSE; -} - -//----------------------------------------------------------------------- -// overloaded equivlence operator, are two addresses equal? -int operator!=( const Address &lhs, const Address &rhs) -{ - return (!( lhs == rhs)); -} - - -//------------------------------------------------------------------ -// overloaded > operator, is a1 > a2 -int operator>( const Address &lhs, const Address &rhs) -{ - if ( strcmp( (const char*) lhs, (const char*)rhs)>0) - return TRUE; - else - return FALSE; -} - -// overloaded >= operator, is a1 > a2 -int operator>=( const Address &lhs,const Address &rhs) -{ - if (( lhs > rhs) || ( lhs == rhs)) - return TRUE; - else - return FALSE; -} - -// overloaded < operator, is a1 <= a2 -int operator<=( const Address &lhs,const Address &rhs) -{ - if (( lhs < rhs) || ( lhs == rhs)) - return TRUE; - else - return FALSE; - -} - - -//----------------------------------------------------------------- -// overloaded < operator, is a1 < a2 -int operator<( const Address &lhs, const Address &rhs) -{ - if ( strcmp( (const char*) lhs, (const char*)rhs)<0) - return TRUE; - else - return FALSE; -} - -//------------------------------------------------------------------ -// equivlence operator overloaded, are an address and a string equal? -int operator==( const Address &lhs,const char *rhs) -{ - if (!rhs && !lhs.valid()) - return TRUE; - if (strcmp( (const char *) lhs, rhs)== 0) - return TRUE; - else - return FALSE; -} - -//------------------------------------------------------------------ -// not equal operator overloaded, are an address and a string not equal? -int operator!=( const Address &lhs,const char *rhs) -{ - return (!( lhs == rhs)); -} - -//------------------------------------------------------------------ -// overloaded > , is a > inaddr -int operator>( const Address &lhs,const char *rhs) -{ - if (!rhs) - return lhs.valid(); // if lhs valid then > NULL, else invalid !> NULL - if (strcmp( (const char *) lhs, rhs)> 0) - return TRUE; - else - return FALSE; -} - -//------------------------------------------------------------------ -// overloaded >= , is a >= inaddr -int operator>=( const Address &lhs,const char *rhs) -{ - if (!rhs) - return TRUE; // always >= NULL - if (strcmp( (const char *) lhs, rhs)>= 0) - return TRUE; - else - return FALSE; -} - -//----------------------------------------------------------------- -// overloaded < , are an address and a string equal? -int operator<( const Address &lhs,const char *rhs) -{ - if (!rhs) - return FALSE; // always >= NULL - if (strcmp( (const char *) lhs, rhs)< 0) - return TRUE; - else - return FALSE; -} - -//----------------------------------------------------------------- -// overloaded <= , is a <= inaddr -int operator<=( const Address &lhs,const char *rhs) -{ - if (!rhs) - return !lhs.valid(); // invalid == NULL, else valid > NULL - if (strcmp( (const char *) lhs, rhs)<= 0) - return TRUE; - else - return FALSE; -} - - -//===================================================================== -//============ IPAddress Implementation =============================== -//===================================================================== - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 IpAddress::get_syntax() -{ - return sNMP_SYNTAX_IPADDR; -} - -//-----[ IP Address copy constructor ]--------------------------------- -IpAddress::IpAddress(const IpAddress &ipaddr) -{ - // always initialize what type this object is - smival.syntax = sNMP_SYNTAX_IPADDR; - smival.value.string.len =IPV4LEN; - smival.value.string.ptr = address_buffer; - - iv_friendly_name_[0] = 0; - iv_friendly_name_status_ = 0; - valid_flag = ipaddr.valid_flag; - if (valid_flag) { - ACE_OS::memcpy(address_buffer, ipaddr.address_buffer,IPV4LEN); - ACE_OS::strcpy( iv_friendly_name_, ipaddr.iv_friendly_name_); - } - - IpAddress::format_output(); -} - - -//-------[ default construct, an IP address with a string ]--------------------- -IpAddress::IpAddress( const char *inaddr): Address() -{ - // always initialize what type this object is - smival.syntax = sNMP_SYNTAX_IPADDR; - smival.value.string.len = IPV4LEN; - smival.value.string.ptr = address_buffer; - - if (ACE_OS::strlen(inaddr) == 0) { - - valid_flag = FALSE; - iv_friendly_name_[0] = 0; - iv_friendly_name_status_ = 0; - IpAddress::format_output(); - return; - } - - // parse_address initializes valid, address_buffer & iv_friendly_name_ - valid_flag = parse_address(inaddr); - IpAddress::format_output(); -} - - -//-----[ construct an IP address with a GenAddress ]--------------------- -IpAddress::IpAddress( const GenAddress &genaddr) -{ - // always initialize what type this object is - smival.syntax = sNMP_SYNTAX_IPADDR; - smival.value.string.len = IPV4LEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - iv_friendly_name_[0] = 0; - iv_friendly_name_status_ = 0; - // allow use of an ip or udp genaddress - if (genaddr.get_type() == type_ip) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the IP address data - IpAddress temp_ip( (const char *) genaddr); - *this = temp_ip; - } - } - else - if (genaddr.get_type() == type_udp) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the IP address data - UdpAddress temp_udp( (const char *) genaddr); - *this = temp_udp; - } - } - IpAddress::format_output(); -} - -//-----[ destructor ]-------------------------------------------------- -IpAddress::~IpAddress() -{ -} - -// assumes member data is word aligned to avoid sigbus -int IpAddress::is_loopback() const -{ - if (valid()) { - return (*(u_long *)&address_buffer == INADDR_LOOPBACK); - } - return FALSE; -} - -int IpAddress::is_multicast() const -{ - if (valid()) { - return (IN_MULTICAST(*(u_long *)&address_buffer)); - } - return FALSE; -} - -// Private addressess not are not assignable in the Internet, they are -// defined in RFC 1597 as: 10, 172.16, and 192.168.0 -// Some companies use them internally and apply NAT to allow translation -// instead of paying for ip networks. -// Cisco IOS devices can provide NAT aka Network Address Translation -// but don't expect SNMP based networks to handle cross-NAT address spaces. -// assumes storage in network byte order mrm@cisco.com 7/28/97 - -int IpAddress::is_private() const -{ - if (valid()) { - if (address_buffer[0] == 10) - return TRUE; - if (address_buffer[0] == 172 && address_buffer[1] == 16) - return TRUE; - if (address_buffer[0] == 192 && address_buffer[1] == 168 && - address_buffer[2] == 0) - return TRUE; - } - return FALSE; -} - - -// convert address into octet string format in network byte order -void IpAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - - -int IpAddress::is_broadcast() const -{ - if (valid()) { - return ( (*(u_long *)&address_buffer) & INADDR_BROADCAST); - } - return FALSE; -} - -//-----[ IP Address general = operator ]------------------------------- -SnmpSyntax& IpAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = 0; // will get set TRUE if really valid - iv_friendly_name_[0]=0; - - if (val.valid()) { - switch (val.get_syntax()) { - case sNMP_SYNTAX_IPADDR: - case sNMP_SYNTAX_OCTETS: - if (((IpAddress &)val).smival.value.string.len ==IPV4LEN) { - ACE_OS::memcpy(address_buffer, - ((IpAddress &)val).smival.value.string.ptr,IPV4LEN); - valid_flag = 1; - } - break; - - // NOTE: as a value add, other types could have "logical" - // mappings, i.e. integer32 and unsigned32 - } - } - IpAddress::format_output(); - return *this; -} - -//------[ assignment to another ipaddress object overloaded ]----------------- -IpAddress& IpAddress::operator=( const IpAddress &ipaddress) -{ - // protect against assignment from itself - if ( this == &ipaddress ) - return *this; - - valid_flag = ipaddress.valid_flag; - iv_friendly_name_[0]=0; - - if (valid_flag) { - ACE_OS::memcpy(address_buffer, ipaddress.address_buffer, IPV4LEN); - ACE_OS::strcpy(iv_friendly_name_, ipaddress.iv_friendly_name_); - } - IpAddress::format_output(); - return *this; -} - - -//--------[ create a new instance of this Value ]----------------------- -SnmpSyntax *IpAddress::clone() const -{ - return (SnmpSyntax *) new IpAddress(*this); -} - -//-------[ return the Fully Qualified Domain Name ]---------------------- -char *IpAddress::resolve_hostname(int &status) -{ - if ((iv_friendly_name_[0] == 0) && valid_flag) - addr_to_friendly(); - status = iv_friendly_name_status_; - return iv_friendly_name_; -} - -// parse a dotted string -int IpAddress::parse_dotted_ipstring( const char *inaddr) -{ - char *ip_token; - int token_count=0; - unsigned int value; - int error_status = FALSE; - char temp[MAXHOSTNAMELEN +1]; // temp buffer for destruction - int z,w; - - // check len, an ip can never be bigger than 15 - // 123456789012345 - // XXX.XXX.XXX.XXX - if ( !inaddr || (ACE_OS::strlen( inaddr) > 30)) - return FALSE; - ACE_OS::strcpy( temp, inaddr); - trim_white_space( temp); - if ( ACE_OS::strlen( temp) > 15) - return FALSE; - - // must only have three dots - // strtok will not catch this ! - char *ptr = temp; - int dot_count = 0; - while ( *ptr != 0) { - if ( *ptr == '.') dot_count++; - ptr++; - } - if ( dot_count != 3) - return FALSE; - - // look for dot token separator - ip_token = strtok( (char *) temp,"."); - - // while more tokens.. - while ( ip_token != NULL) { - // verify that the token is all numerics - w = ACE_OS::strlen( ip_token); - if (w>3) - return FALSE; - for (z=0;z '9')) - return FALSE; - - value = ( unsigned int) strtod(ip_token,NULL); - if (( value > 0)&& ( value <=255)) - address_buffer[token_count] = (unsigned char) value; - else - if ( strcmp(ip_token,"0")==0) - address_buffer[token_count]= (unsigned char) 0; - else - error_status = TRUE; - token_count++; - ip_token = strtok( NULL, "."); - } - - // gota be four in len - if ( token_count != 4) - return FALSE; - - // any parsing errors? - if ( error_status) - return FALSE; - - return TRUE; -} - -//-----[ IP Address parse Address ]--------------------------------- -int IpAddress::parse_address( const char *inaddr) -{ - // parse the input char array - // fill up internal buffer with four ip bytes - // set and return validity flag - - in_addr ipAddr; - char ds[MAXHOSTNAMELEN +1]; - - // intialize the friendly_name member variable - iv_friendly_name_[0] = 0; - iv_friendly_name_status_ = 0; - - // is this a dotted IP notation string or - // a friendly name - if ( parse_dotted_ipstring( inaddr)) { - - // since this is a valid dotted string - // don't do any DNS (Performance!) - return TRUE; - } - else { - int rc; - if ((rc = resolve_to_address(inaddr, ipAddr)) == 0) { - - // now lets check out the dotted string - ACE_OS::strncpy( ds, ACE_OS::inet_ntoa(ipAddr), MAXHOSTNAMELEN); - - if ( !parse_dotted_ipstring( ds)) - return FALSE; - - // save the friendly name - ACE_OS::strcpy( iv_friendly_name_, inaddr); - return TRUE; - - } // end if lookup result - else { - iv_friendly_name_status_ = rc; - return FALSE; - } - } // end else not a dotted string - return TRUE; -} - -// using the currently defined address, do a DNS -// and try to fill up the name -int IpAddress::addr_to_friendly() -{ - in_addr ipAddr; - long result = ACE_OS::inet_addr(to_string()); - if (result == -1) - return -1; // expected a dotted quad! - - ipAddr.s_addr = result; - - // set iv_friendly_name_ from ipAddr - if (resolve_to_hostname(ipAddr, iv_friendly_name_) == 0) { - return 0; - } - else { - iv_friendly_name_status_ = h_errno; - return iv_friendly_name_status_; - } -} - -// static aka class member function (1.2.3.4 -> foo.com) -int IpAddress::resolve_to_hostname(const in_addr& quad_addr, char *hostname) -{ - struct hostent lookupResult; - int loc_errno = 0; - ACE_HOSTENT_DATA buffer; - ACE_OS::memset(&lookupResult, 0, sizeof(struct hostent)); - ACE_OS::memset(&buffer, 0, sizeof(ACE_HOSTENT_DATA)); - - // reverse lookup (requires in-addr.arpa to be setup in DNS - if (ACE_OS::gethostbyaddr_r((const char *)&quad_addr.s_addr, IPV4LEN, - AF_INET, &lookupResult, buffer, &loc_errno)) { - - // verify right type of record - if (lookupResult.h_addrtype == AF_INET && - lookupResult.h_length == IPV4LEN) { - ACE_OS::strcpy( hostname, lookupResult.h_name); - // setup multiple entries - return 0; - } - else { - ACE_ASSERT(0); // todo add trace and debug and dump - return -1; // wrong resource record type - } - } - - return loc_errno; -} - -// static aka class member function (foo.com -> 1.2.3.4) -int IpAddress::resolve_to_address(const char *hostname, in_addr& quad_addr) -{ - struct hostent lookupResult; - ACE_HOSTENT_DATA buffer; - ACE_OS::memset(&buffer, 0, sizeof(ACE_HOSTENT_DATA)); - ACE_OS::memset(&lookupResult, 0, sizeof(struct hostent)); - int loc_errno = 0; - if (ACE_OS::gethostbyname_r( hostname, &lookupResult, buffer, &loc_errno)) { - if (lookupResult.h_length == sizeof(in_addr) && - lookupResult.h_addrtype == AF_INET) { - ACE_OS::memcpy((void *) &quad_addr, - (void *) lookupResult.h_addr_list[0], sizeof(in_addr)); - return 0; - } - else - return -1; // wrong address size - } - return loc_errno; -} - -//----[ IP address char * cast ]-------------------------------------- -IpAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -//----[ IP address get char representation ]-------------------------- -char * IpAddress::to_string() -{ - return (char *)output_buffer; -} - -//----[ IP address format output ]------------------------------------ -void IpAddress::format_output() -{ - // if valid format else null it - if ( valid_flag) - ACE_OS::sprintf( (char *) output_buffer,"%d.%d.%d.%d",address_buffer[0], - address_buffer[1], address_buffer[2], address_buffer[3]); - else - output_buffer[0] = 0; -} - -//------[ return the type ]---------------------------------- -addr_type IpAddress::get_type() const -{ - return type_ip; -} - -//----------------------------------------------------------------- -// logically and two IPaddresses and -// return the new one -void IpAddress::mask( const IpAddress& ipaddr) -{ - if ( this->valid() && ipaddr.valid()) { - this->address_buffer[0] = this->address_buffer[0] & ipaddr.address_buffer[0]; - this->address_buffer[1] = this->address_buffer[1] & ipaddr.address_buffer[1]; - this->address_buffer[2] = this->address_buffer[2] & ipaddr.address_buffer[2]; - this->address_buffer[3] = this->address_buffer[3] & ipaddr.address_buffer[3]; - format_output(); - } - -} - -//======================================================================= -//========== DNS Iterator Implementation ================================ -//======================================================================= - - -Address_Iter::Address_Iter(const char *hostname): valid_(FALSE), count_(0), - entry_(0) -{ - ACE_OS::memset(&buffer_, 0, sizeof(ACE_HOSTENT_DATA)); - ACE_OS::memset(&lookupResult_, 0, sizeof(struct hostent)); - if (ACE_OS::inet_addr(hostname) == -1) - valid_ = query_dns(hostname); - else { - ACE_ASSERT(0); // don't support dot-quad lookup yet - } - - // count number of hostnames - int n; - char **pc; - for (n = 0, pc = lookupResult_.h_addr_list; *pc != NULL; ++n, ++pc); - count_ = n; // plus first one - entry_ = lookupResult_.h_addr_list; -} - -int Address_Iter::valid() const -{ - return (valid_ == TRUE); -} - -int Address_Iter::how_many_addresses() -{ - return count_; -} - -// return next entry, rc = 0, if entry is null return 0 -int Address_Iter::next(IpAddress& addr) -{ - if (!entry_ || *entry_ == 0) - return 1; - - IpAddress tmp(*entry_++); // return data - addr = tmp; - if (*entry_ == NULL) - return 1; - return 0; -} - -// query DNS here -int Address_Iter::query_dns(const char *hostname) -{ - int loc_errno = 0; - if (ACE_OS::gethostbyname_r( hostname, &lookupResult_, buffer_, - &loc_errno)) { - if (lookupResult_.h_length == sizeof(IPV4LEN) && - lookupResult_.h_addrtype == AF_INET) { - return 0; - } - else - return -1; // wrong address size - } - return loc_errno; -} - -//======================================================================= -//========== Udp Address Implementation ================================= -//======================================================================= - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 UdpAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -//-----------------[ construct an Udp address with another Udp address ]--- -UdpAddress::UdpAddress( const UdpAddress &udpaddr):IpAddress(udpaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = UDPIPV4LEN; - smival.value.string.ptr = address_buffer; - - // Copy the port value - set_port(udpaddr.get_port()); - format_output(); -} - -// default constructor with a dotted string -UdpAddress::UdpAddress( const char *inaddr):IpAddress() -{ - if (ACE_OS::strlen(inaddr) == 0) { - // Inherits IP Address attributes - // Always initialize (override) what type this object is - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = UDPIPV4LEN; - smival.value.string.ptr = address_buffer; - set_port(0); - format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = UDPIPV4LEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *)inaddr); - format_output(); -} - -//-----------------[ construct a UdpAddress from a GenAddress ]-------------- -UdpAddress::UdpAddress( const GenAddress &genaddr):IpAddress() -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = UDPIPV4LEN; - smival.value.string.ptr = address_buffer; - - unsigned int port = 0; - valid_flag = FALSE; - - // allow use of an ip or udp genaddress - if (genaddr.get_type() == type_udp) - { - valid_flag = genaddr.valid(); - if ( valid_flag) - { - // copy in the IP address data - UdpAddress temp_udp( (const char *) genaddr); - *this = temp_udp; - - // port info since are making an UpAddress - port = temp_udp.get_port(); - } - } - else - if (genaddr.get_type() == type_ip) - { - valid_flag = genaddr.valid(); - if ( valid_flag) - { - // copy in the IP address data - IpAddress temp_ip( (const char *) genaddr); - *this = temp_ip; - } - } - set_port(port); - format_output(); -} - - -//--------[ construct a udp from an IpAddress ]-------------------------- -UdpAddress::UdpAddress( const IpAddress &ipaddr):IpAddress(ipaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = UDPIPV4LEN; - smival.value.string.ptr = address_buffer; - - set_port(0); - format_output(); -} - - -//-----[ destructor ]-------------------------------------------------- -UdpAddress::~UdpAddress() -{ -} - - - // copy an instance of this Value -SnmpSyntax& UdpAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag=0; // will get set TRUE if really valid - if (val.valid()){ - switch (val.get_syntax()){ - case sNMP_SYNTAX_IPADDR: - { - UdpAddress temp_udp(val.to_string()); - *this = temp_udp; // valid_flag is set by the udp assignment - } - break; - - case sNMP_SYNTAX_OCTETS: - if (((UdpAddress &)val).smival.value.string.len == UDPIPV4LEN){ - ACE_OS::memcpy(address_buffer, - ((UdpAddress &)val).smival.value.string.ptr, UDPIPV4LEN); - iv_friendly_name_[0] = 0; - valid_flag = 1; - } - break; - - // NOTE: as a value add, other types could have "logical" - // mappings, i.e. integer32 and unsigned32 - } - } - format_output(); - return *this; -} - - // assignment to another UdpAddress object overloaded -UdpAddress& UdpAddress::operator=( const UdpAddress &udpaddr) -{ - // protect against assignment from itself - if ( this == &udpaddr ) - return *this; - - (IpAddress &)*this = udpaddr; // use ancestor assignment for ipaddr value - set_port(udpaddr.get_port()); // copy to port value - format_output(); - return *this; -} - - -//-----[ IP Address parse Address ]--------------------------------- -int UdpAddress::parse_address( const char *inaddr) -{ - char buffer[MAXHOSTNAMELEN +1]; - - unsigned short port = 0; - if (inaddr && (ACE_OS::strlen( inaddr)< MAXHOSTNAMELEN +1)) - ACE_OS::strcpy( buffer, inaddr); - else { - valid_flag = FALSE; - return FALSE; - } - // look for port info @ the end of the string - // port can be delineated by a ':' or a '/' - // if neither are present then just treat it - // like a normal IpAddress - char *tmp; - tmp = ACE_OS::strstr( buffer,":"); - if (tmp==NULL) - tmp = ACE_OS::strstr(buffer,"/"); - - if ( tmp != NULL) { - *tmp=0; // null terminator - tmp++; - port = ACE_OS::atoi( tmp); - } - - set_port(port); - return IpAddress::parse_address( buffer); -} - - -//----------[ create a new instance of this Value ]------------------------ -SnmpSyntax *UdpAddress::clone() const -{ - return (SnmpSyntax *) new UdpAddress(*this); -} - -//--------[ set the port number ]--------------------------------------- -void UdpAddress::set_port( const unsigned short p) -{ - unsigned short port_nbo = htons(p); - ACE_OS::memcpy(&address_buffer[IPV4LEN], &port_nbo, 2); - format_output(); -} - -//---------[ get the port number ]-------------------------------------- -unsigned short UdpAddress::get_port() const -{ - if (valid_flag) { - unsigned short port_nbo; - ACE_OS::memcpy(&port_nbo, &address_buffer[IPV4LEN], 2); - return ntohs(port_nbo); - } - else - return 0; // don't use uninitialized memory -} - -//------[ return the type ]-------------------------------------------- -addr_type UdpAddress::get_type() const -{ - return type_udp; -} - -//----[ UDP address char * cast ]-------------------------------------- -UdpAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -//----[ UDP address get char representation ]-------------------------- -char * UdpAddress::to_string() -{ - return (char *)output_buffer; -} - -// make format same as ACE_INET_Addr class (addr:port) -void UdpAddress::format_output() -{ - IpAddress::format_output(); // allow ancestors to format their buffers - - // if valid format else null it - if ( valid_flag) - ACE_OS::sprintf( (char *) output_buffer,"%s:%d", - IpAddress::to_string(), - get_port() ); - else - output_buffer[0] = 0; -} - - -//======================================================================= -//=========== Netbios Address Implementation ============================ -//======================================================================= - -void NetbiosAddress::format_output() -{ - if ( valid_flag) - ACE_OS::memcpy(output_buffer, address_buffer, NETBIOSLEN); - else - output_buffer[0] = 0; -} - -void NetbiosAddress::InitNBAddr(const char *inaddr) -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = NETBIOSLEN; - smival.value.string.ptr = address_buffer; - - valid_flag=FALSE; - NetbiosAddress::format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *) inaddr); - NetbiosAddress::format_output(); -} - -// TODO: how to handle addresses < 15 chars (zero out or pad with ' ') -NetbiosAddress::NetbiosAddress( const char *inaddr) -{ - InitNBAddr(inaddr); - -} - -NetbiosAddress::NetbiosAddress( const char *inaddr, nb_service svc) -{ - InitNBAddr(inaddr); - address_buffer[15] = svc; -} - -// TODO: go back over ms/ibm specs and verify this -// 16 chars, 15 can be any character, 16th is service number between 0 and 20 -// names beginning with IBM are reserved, and hence invalid -// and doubt IBM would use this class anyway -int NetbiosAddress::parse_address(const char *address) -{ - if (ACE_OS::strlen(address) > NETBIOSLEN) - return FALSE; // invalid - - if (ACE_OS::strncmp(address, "IBM", 3) == 0) - return FALSE; // invalid - - // addresses are free form but this check may need to be expose to user - // - //if (address[15] < nb_workstation || address[15] > nb_server) - // return FALSE; //invalid service type - - ACE_OS::memset(address_buffer, 0, NETBIOSLEN); - ACE_OS::memcpy(address_buffer, address, NETBIOSLEN); - - return TRUE; // valid -} - -NetbiosAddress::NetbiosAddress( const NetbiosAddress& nbaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = NETBIOSLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = nbaddr.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, nbaddr.address_buffer, NETBIOSLEN); - NetbiosAddress::format_output(); -} - -NetbiosAddress::NetbiosAddress( const GenAddress& genaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = NETBIOSLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - // allow use of an ipx or ipxsock address - if ( (genaddr.get_type() == type_nb) ) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the Ipx address data - NetbiosAddress temp_nb( (const char *) genaddr); - *this = temp_nb; - } - } - NetbiosAddress::format_output(); -} - -NetbiosAddress::~NetbiosAddress() -{ -} - -char *NetbiosAddress::to_string() -{ - return (char *)output_buffer; -} - -void NetbiosAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - -NetbiosAddress& NetbiosAddress::operator=( const NetbiosAddress &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = 0; // will set to TRUE if really valid - if (val.valid()) { - switch (((NetbiosAddress *) &val)->get_syntax()) { - case sNMP_SYNTAX_OCTETS: - ACE_OS::memcpy(address_buffer, - ((NetbiosAddress &)val).smival.value.string.ptr, NETBIOSLEN); - valid_flag = 1; - break; - } - } - NetbiosAddress::format_output(); - return *this; -} - -nb_service NetbiosAddress::get_service_type() const -{ - return (nb_service) address_buffer[15]; -} - -void NetbiosAddress::set_service_type(nb_service nbservice) -{ - address_buffer[15] = nbservice; - NetbiosAddress::format_output(); -} - -NetbiosAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -SnmpSyntax& NetbiosAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = 0; // will set to TRUE if really valid - if (val.valid()) { - switch (val.get_syntax()) { - case sNMP_SYNTAX_OCTETS: - if (((NetbiosAddress &)val).smival.value.string.len == NETBIOSLEN) { - ACE_OS::memcpy(address_buffer, - ((NetbiosAddress &)val).smival.value.string.ptr, NETBIOSLEN); - valid_flag=1; - } - break; - } - } - NetbiosAddress::format_output(); - return *this; -} - -SnmpSyntax *NetbiosAddress::clone() const -{ - return (SnmpSyntax *) new NetbiosAddress(*this); -} - -SmiUINT32 NetbiosAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -addr_type NetbiosAddress::get_type() const -{ - return type_nb; -} - -//======================================================================= -//=========== IPX Address Implementation ================================ -//======================================================================= - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 IpxAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - - -//----------[ default constructor with a string arg ]--------------------------- -IpxAddress::IpxAddress( const char *inaddr):Address( ) -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXLEN; - smival.value.string.ptr = address_buffer; - - separator = '\0'; - valid_flag=FALSE; - IpxAddress::format_output(); - return; - } - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXLEN; - smival.value.string.ptr = address_buffer; - - separator = '\0'; - valid_flag = parse_address( (char *) inaddr); - IpxAddress::format_output(); -} - - -//-----[ IPX Address copy constructor ]---------------------------------- -IpxAddress::IpxAddress(const IpxAddress &ipxaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXLEN; - smival.value.string.ptr = address_buffer; - - separator = '\0'; - valid_flag = ipxaddr.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, ipxaddr.address_buffer, IPXLEN); - IpxAddress::format_output(); -} - - -//----[ construct an IpxAddress from a GenAddress ]--------------------------- -IpxAddress::IpxAddress( const GenAddress &genaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - // allow use of an ipx or ipxsock address - if ( (genaddr.get_type() == type_ipx) ) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the Ipx address data - IpxAddress temp_ipx( (const char *) genaddr); - *this = temp_ipx; - } - } - else - if ( (genaddr.get_type() == type_ipxsock) ) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the Ipx address data - IpxSockAddress temp_ipxsock( (const char *) genaddr); - *this = temp_ipxsock; - } - } - IpxAddress::format_output(); -} - - -//-----[ destructor ]-------------------------------------------------- -IpxAddress::~IpxAddress() -{ -} - - -//-----[ IPX Address general = operator ]------------------------------- -SnmpSyntax& IpxAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag=0; // will set to TRUE if really valid - if (val.valid()){ - switch (val.get_syntax()){ - case sNMP_SYNTAX_OCTETS: - if (((IpxAddress &)val).smival.value.string.len == IPXLEN){ - ACE_OS::memcpy(address_buffer, ((IpxAddress &)val).smival.value.string.ptr, IPXLEN); - valid_flag=1; - } - break; - } - } - IpxAddress::format_output(); - return *this; -} - -//--------[ assignment to another IpAddress object overloaded ]---------- -IpxAddress& IpxAddress::operator=( const IpxAddress &ipxaddress) -{ - // protect against assignment from itself - if ( this == &ipxaddress ) - return *this; - - valid_flag = ipxaddress.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, ipxaddress.address_buffer, IPXLEN); - IpxAddress::format_output(); - return *this; -} - - -// create a new instance of this Value -SnmpSyntax *IpxAddress::clone() const -{ - return (SnmpSyntax *) new IpxAddress(*this); -} - -//-----[ IPX Address parse Address ]----------------------------------- -// Convert a string to a ten byte ipx address -// On success sets validity TRUE or FALSE -// -// IPX address format -// -// NETWORK ID| MAC ADDRESS -// 01 02 03 04|05 06 07 08 09 10 -// XX XX XX XX|XX XX XX XX XX XX -// -// Valid input format -// -// XXXXXXXX.XXXXXXXXXXXX -// Total length must be 21 -// Must have a separator in it -// First string length must be 8 -// Second string length must be 12 -// Each char must take on value 0-F -// -// -// Input formats recognized -// -// XXXXXXXX.XXXXXXXXXXXX -// XXXXXXXX:XXXXXXXXXXXX -// XXXXXXXX-XXXXXXXXXXXX -// XXXXXXXX.XXXXXX-XXXXXX -// XXXXXXXX:XXXXXX-XXXXXX -// XXXXXXXX-XXXXXX-XXXXXX -int IpxAddress::parse_address( const char *inaddr) -{ - char unsigned *str1,*str2; - char temp[30]; // don't destroy original - char unsigned *tmp; - size_t z, tmplen; - - - // save the orginal source - if (!inaddr || (ACE_OS::strlen( inaddr) >(sizeof(temp)-1))) return FALSE; - ACE_OS::strcpy( temp, inaddr); - trim_white_space( temp); - tmplen = ACE_OS::strlen(temp); - - // bad total length check - // 123456789012345678901 - // XXXXXXXX-XXXXXXXXXXXX 21 len - // - // XXXXXXXX-XXXXXX-XXXXXX 22 len - // need at least 21 chars and no more than 22 - if ( (tmplen <21) || (tmplen >22)) - return FALSE; - - // convert the string to all lower case - // this allows hex values to be in upper or lower - for (z=0;z< tmplen;z++) - temp[z] = tolower(temp[z]); - - // check for separated nodeid - // if found remove it - if (temp[15] == '-') - { - for(z=16;z= '0') && (*tmp <= '9'))|| // good 0-9 - ((*tmp >= 'a') && (*tmp <= 'f'))) // or a-f - tmp++; - else - return FALSE; - - // check out the MAC address - tmp = str2; - while( *tmp != 0) - if (((*tmp >= '0') && (*tmp <= '9'))|| // good 0-9 - ((*tmp >= 'a') && (*tmp <= 'f'))) // or a-f - tmp++; - else - return FALSE; - - // convert to target string - tmp = str1; - while ( *tmp != 0) - { - if (( *tmp >= '0') && ( *tmp <= '9')) - *tmp = *tmp - (char unsigned )'0'; - else - *tmp = *tmp - (char unsigned) 'a' + (char unsigned) 10; - tmp++; - } - - // network id portion - address_buffer[0] = (str1[0]*16) + str1[1]; - address_buffer[1] = (str1[2]*16) + str1[3]; - address_buffer[2] = (str1[4]*16) + str1[5]; - address_buffer[3] = (str1[6]*16) + str1[7]; - - tmp = str2; - while ( *tmp != 0) - { - if (( *tmp >= '0') && ( *tmp <= '9')) - *tmp = *tmp - (char unsigned) '0'; - else - *tmp = *tmp - (char unsigned) 'a'+ (char unsigned) 10; - tmp++; - } - - address_buffer[4] = (str2[0]*16) + str2[1]; - address_buffer[5] = (str2[2]*16) + str2[3]; - address_buffer[6] = (str2[4]*16) + str2[5]; - address_buffer[7] = (str2[6]*16) + str2[7]; - address_buffer[8] = (str2[8]*16) + str2[9]; - address_buffer[9] = (str2[10]*16) + str2[11]; - - return TRUE; -} - -//----[ IPX address char * cast ]-------------------------------------- -IpxAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -//----[ IPX address get char representation ]-------------------------- -char * IpxAddress::to_string() -{ - return (char *)output_buffer; -} - - -//----[ IPX address format output ]------------------------------------- -void IpxAddress::format_output() -{ - if ( valid_flag) - ACE_OS::sprintf((char *) output_buffer, - "%02x%02x%02x%02x%c%02x%02x%02x%02x%02x%02x", - address_buffer[0],address_buffer[1], - address_buffer[2],address_buffer[3],'-', - address_buffer[4],address_buffer[5], - address_buffer[6],address_buffer[7], - address_buffer[8],address_buffer[9]); - else - output_buffer[0] = 0; -} - - -// get the host id portion of an ipx address -int IpxAddress::get_hostid( MacAddress& mac) -{ - if ( valid_flag) - { - char buffer[18]; - ACE_OS::sprintf( buffer,"%02x:%02x:%02x:%02x:%02x:%02x", - address_buffer[4], - address_buffer[5], address_buffer[6], address_buffer[7], - address_buffer[8], address_buffer[9]); - MacAddress temp( buffer); - // mac = (SnmpSyntax&) temp; - mac = temp; - if ( mac.valid()) - return TRUE; - else - return FALSE; - } - else - return FALSE; -} - - -//------[ return the type ]---------------------------------- -addr_type IpxAddress::get_type() const -{ - return type_ipx; -} - -void IpxAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - - -//======================================================================== -//======== IpxSockAddress Implementation ================================= -//======================================================================== - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 IpxSockAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -//-----------[ construct an IpxSockAddress with another IpxSockAddress]---- -IpxSockAddress::IpxSockAddress( const IpxSockAddress &ipxaddr):IpxAddress(ipxaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXSOCKLEN; - smival.value.string.ptr = address_buffer; - - // copy the socket value - set_socket(ipxaddr.get_socket()); - format_output(); -} - - -//---------------[ default construct a IpxSockAddress ]-------------- -IpxSockAddress::IpxSockAddress( const char *inaddr):IpxAddress() -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXSOCKLEN; - smival.value.string.ptr = address_buffer; - - set_socket(0); - format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXSOCKLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *) inaddr); - format_output(); -} - - -//---------------[ construct a IpxSockAddress from a GenAddress ]---------- -IpxSockAddress::IpxSockAddress( const GenAddress &genaddr):IpxAddress() -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXSOCKLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - unsigned short socketid = 0; - // allow use of an ipx or ipxsock address - if ( (genaddr.get_type() == type_ipx) ) - { - valid_flag = genaddr.valid(); - if ( valid_flag) - { - // copy in the Ipx address data - IpxAddress temp_ipx( (const char *) genaddr); - *this = temp_ipx; - } - } - else - if ( (genaddr.get_type() == type_ipxsock) ) - { - valid_flag = genaddr.valid(); - if ( valid_flag) - { - // copy in the Ipx address data - IpxSockAddress temp_ipxsock( (const char *) genaddr); - *this = temp_ipxsock; - // socketid info since are making an IpxSockAddress - socketid = temp_ipxsock.get_socket(); - } - } - set_socket(socketid); - format_output(); -} - - -//------------[ construct an IpxSockAddress from a IpxAddress ]-------------- -IpxSockAddress::IpxSockAddress( const IpxAddress &ipxaddr):IpxAddress(ipxaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = IPXSOCKLEN; - smival.value.string.ptr = address_buffer; - - set_socket(0); - format_output(); -} - -//-----[ destructor ]-------------------------------------------------- -IpxSockAddress::~IpxSockAddress() -{ -} - -// copy an instance of this Value -SnmpSyntax& IpxSockAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag=0; // will set to TRUE if really valid - if (val.valid()){ - switch (val.get_syntax()){ - case sNMP_SYNTAX_OCTETS: - { - // See if it is of the Ipx address family - // This handles IpxSockAddress == IpxAddress - IpxSockAddress temp_ipx(val.to_string()); - if (temp_ipx.valid()){ - *this = temp_ipx; // ipxsock = ipxsock - } - // See if it is an OctetStr of appropriate length - else if (((IpxSockAddress &)val).smival.value.string.len == IPXSOCKLEN){ - ACE_OS::memcpy(address_buffer, - ((IpxSockAddress &)val).smival.value.string.ptr, - IPXSOCKLEN); - valid_flag=1; - } - } - break; - } - } - format_output(); - return *this; -} - -// assignment to another IpAddress object overloaded -IpxSockAddress& IpxSockAddress::operator=( const IpxSockAddress &ipxaddr) -{ - // protect against assignment from itself - if ( this == &ipxaddr ) - return *this; - - (IpxAddress&)*this = ipxaddr; // use ancestor assignment for ipx addr - set_socket(ipxaddr.get_socket()); // copy socket value - format_output(); - return *this; -} - - -//----------[ create a new instance of this Value ]------------------------ -SnmpSyntax *IpxSockAddress::clone() const -{ - return (SnmpSyntax *) new IpxSockAddress(*this); -} - -//----[ IPXSock address char * cast ]-------------------------------------- -IpxSockAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -//----[ IPXSock address get char representation ]-------------------------- -char * IpxSockAddress::to_string() -{ - return (char *)output_buffer; -} - -//----[ IPX address format output ]------------------------------------- -void IpxSockAddress::format_output() -{ - IpxAddress::format_output(); // allow ancestors to format their buffers - - if ( valid_flag) - ACE_OS::sprintf((char *) output_buffer,"%s/%d", - IpxAddress::to_string(), get_socket()); - else - output_buffer[0] = 0; -} - -//-----[ IP Address parse Address ]--------------------------------- -int IpxSockAddress::parse_address( const char *inaddr) -{ - char buffer[MAXHOSTNAMELEN +1]; - unsigned short socketid=0; - - if (inaddr && (ACE_OS::strlen( inaddr)< MAXHOSTNAMELEN)) - ACE_OS::strcpy( buffer, inaddr); - else - { - valid_flag = FALSE; - return FALSE; - } - // look for port info @ the end of the string - // port can be delineated by a ':' or a '/' - // if neither are present then just treat it - // like a normal IpAddress - char *tmp; - tmp = ACE_OS::strstr( buffer,"/"); - - if (tmp != NULL) - { - *tmp=0; // null terminator - tmp++; - socketid = ACE_OS::atoi( tmp); - } - set_socket(socketid); - return IpxAddress::parse_address( buffer); -} - - - -//-------------[ set the socket number ]---------------------------------- -void IpxSockAddress::set_socket( const unsigned short s) -{ - unsigned short sock_nbo = htons(s); - ACE_OS::memcpy(&address_buffer[IPXLEN], &sock_nbo, 2); -} - -//--------------[ get the socket number ]--------------------------------- -unsigned short IpxSockAddress::get_socket() const -{ - if (valid_flag) - { - unsigned short sock_nbo; - ACE_OS::memcpy(&sock_nbo, &address_buffer[IPXLEN], 2); - return ntohs(sock_nbo); - } - else - return 0; // don't use uninitialized memory -} - -//------[ return the type ]---------------------------------------------- -addr_type IpxSockAddress::get_type() const -{ - return type_ipxsock; -} - - -//======================================================================== -//======== MACAddress Implementation ===================================== -//======================================================================== - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 MacAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -//-----[ MAC Address copy constructor ]--------------------------------- -MacAddress::MacAddress(const MacAddress &macaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = MACLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = macaddr.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, macaddr.address_buffer, MACLEN); - format_output(); -} - -//---------[ constructor with a string argument ]------------------------- -MacAddress::MacAddress( const char *inaddr):Address( ) -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = MACLEN; - smival.value.string.ptr = address_buffer; - - valid_flag=FALSE; - format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = MACLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *) inaddr); - format_output(); -} - -//-----[ construct a MacAddress from a GenAddress ]------------------------ -MacAddress::MacAddress( const GenAddress &genaddr) -{ - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = MACLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - // allow use of mac address - if (genaddr.get_type() == type_mac) - { - valid_flag = genaddr.valid(); - if ( valid_flag) - { - // copy in the Mac address data - MacAddress temp_mac( (const char *) genaddr); - *this = temp_mac; - } - } - format_output(); -} - -//-----[ destructor ]-------------------------------------------------- -MacAddress::~MacAddress() -{ -} - -//---------[ MacAddress clone ]------------------------------------------- -SnmpSyntax *MacAddress::clone() const -{ - return (SnmpSyntax *) new MacAddress(*this); -} - -//------[ assignment to another ipaddress object overloaded ]-------------- -MacAddress& MacAddress::operator=( const MacAddress &macaddress) -{ - // protect against assignment from itself - if ( this == &macaddress ) - return *this; - - valid_flag = macaddress.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, macaddress.address_buffer, MACLEN); - format_output(); - return *this; -} - - - -//-----[ MAC Address general = operator ]--------------------------------- -SnmpSyntax& MacAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag=0; // will set to TRUE if really valid - if (val.valid()){ - switch (val.get_syntax()){ - case sNMP_SYNTAX_OCTETS: - if (((MacAddress &)val).smival.value.string.len == MACLEN){ - ACE_OS::memcpy(address_buffer, - ((MacAddress &)val).smival.value.string.ptr, MACLEN); - valid_flag=1; - } - break; - } - } - format_output(); - return *this; -} - -//-----[ MAC Address parse Address ]-------------------------------------- -// Convert a string to a six byte MAC address -// On success sets validity TRUE or FALSE -// -// MAC address format -// -// MAC ADDRESS -// 01 02 03 04 05 06 -// XX:XX:XX:XX:XX:XX -// Valid input format -// -// XXXXXXXXXXXX -// Total length must be 17 -// Each char must take on value 0-F -// -// -int MacAddress::parse_address( const char *inaddr) -{ - char temp[MAXHOSTNAMELEN +1]; // don't destroy original - char unsigned *tmp; - size_t z; - - - // save the orginal source - if ( !inaddr || (ACE_OS::strlen( inaddr) > 30)) return FALSE; - ACE_OS::strcpy( temp, inaddr); - trim_white_space( temp); - - // bad total length check - if ( ACE_OS::strlen(temp) != 17) - return FALSE; - - // check for colons - if ((temp[2] != ':')||(temp[5] != ':')||(temp[8]!=':')||(temp[11]!=':') - ||(temp[14] !=':')) - return FALSE; - - // strip off the colons - tmp = ( unsigned char *) temp; - int i = 0; - while ( *tmp != 0) - { - if (*tmp != ':') - { - temp[i] = *tmp; - i++; - } - tmp++; - } - temp[i] = 0; - - // convert to lower - for(z=0;z= '0') && (*tmp <= '9'))|| // good 0-9 - ((*tmp >= 'a') && (*tmp <= 'f'))) // or a-f - tmp++; - else - return FALSE; - - // convert to target string - tmp = (unsigned char *) temp; - while ( *tmp != 0) - { - if (( *tmp >= '0') && ( *tmp <= '9')) - *tmp = *tmp - (char unsigned )'0'; - else - *tmp = *tmp - (char unsigned) 'a' + (char unsigned) 10; - tmp++; - } - - address_buffer[0] = (temp[0]*16) + temp[1]; - address_buffer[1] = (temp[2]*16) + temp[3]; - address_buffer[2] = (temp[4]*16) + temp[5]; - address_buffer[3] = (temp[6]*16) + temp[7]; - address_buffer[4] = (temp[8]*16) + temp[9]; - address_buffer[5] = (temp[10]*16) + temp[11]; - - return TRUE; -} - -//----[ MAC address char * cast ]-------------------------------------- -MacAddress::operator const char *() const -{ - return (char *)output_buffer; -} -//----[ MAC address get char representation ]-------------------------- -char * MacAddress::to_string() -{ - return (char *)output_buffer; -} - -//----[ MAC address format output ]--------------------------------- -void MacAddress::format_output() -{ - if ( valid_flag) - sprintf(output_buffer,"%02x:%02x:%02x:%02x:%02x:%02x",address_buffer[0], - address_buffer[1],address_buffer[2],address_buffer[3], - address_buffer[4],address_buffer[5]); - else - output_buffer[0] = 0; -} - -//------[ return the type ]---------------------------------- -addr_type MacAddress::get_type() const -{ - return type_mac; -} - - -unsigned int MacAddress::hashFunction() const -{ - return ((((address_buffer[0] << 8) + address_buffer[1]) * HASH0) - + (((address_buffer[2] << 8) + address_buffer[3]) * HASH1) - + (((address_buffer[4] << 8) + address_buffer[5]) * HASH2)); -} - -void MacAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - -//======================================================================== -//========== Generic Address Implementation ============================== -//======================================================================== - -//-----------[ get the syntax]---------------------------------------------- -SmiUINT32 GenAddress::get_syntax() -{ - if (address != 0) - return address->get_syntax(); - - return sNMP_SYNTAX_NULL; -} - -void GenAddress::init_smi() -{ - smival.syntax = sNMP_SYNTAX_NULL; // to be overridden - smival.value.string.len = 0; // to be overridden - smival.value.string.ptr = address_buffer; // constant -} - -//-----------[ constructor with a string argument ]---------------------- -GenAddress::GenAddress( const char *addr): address(0) -{ - valid_flag = FALSE; - // initialize SMI info - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - init_smi(); - - if (addr && ACE_OS::strlen(addr) == 0) { - format_output(); - return; - } - - parse_address(addr); - - // Copy real address smival info into GenAddr smival - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - if ( valid_flag ) { - smival.syntax = ((GenAddress *)address)->smival.syntax; - smival.value.string.len = - ((GenAddress *)address)->smival.value.string.len; - ACE_OS::memcpy(smival.value.string.ptr, - ((GenAddress *)address)->smival.value.string.ptr, - (size_t)smival.value.string.len); - } -} - -//-----------[ constructor with an Address argument ]-------------------- -GenAddress::GenAddress( const Address &addr): address(0) -{ - valid_flag = FALSE; - - // initialize SMI info - // BOK: this is generally not used for GenAddress, - // but we need this to be a replica of the real address' - // smival info so that operator=SnmpSyntax will work. - init_smi(); - // make sure that the object is valid - if (!addr.valid()) { - format_output(); - return; - } - - address = (Address*)addr.clone(); - if (address) - valid_flag = address->valid(); - - // Copy real address smival info into GenAddr smival - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - if ( valid_flag ) { - smival.syntax = address->get_syntax(); - smival.value.string.len = - ((GenAddress *)address)->smival.value.string.len; - ACE_OS::memcpy(smival.value.string.ptr, - ((GenAddress *)address)->smival.value.string.ptr, - (size_t)smival.value.string.len); - } - - format_output(); -} - -//-----------------[ constructor with another GenAddress object ]------------- -GenAddress::GenAddress( const GenAddress &addr): address(0) -{ - valid_flag = FALSE; - - // initialize SMI info - // BOK: this is generally not used for GenAddress, - // but we need this to be a replica of the real address' - // smival info so that operator=SnmpSyntax will work. - init_smi(); - - // make sure that the object is valid - if (!addr.valid_flag) { - format_output(); - return; - } - - address = (Address *)addr.address->clone(); - if (address) - valid_flag = address->valid(); - - // Copy real address smival info into GenAddr smival - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - if ( valid_flag ) { - smival.syntax = ((GenAddress *)address)->smival.syntax; - smival.value.string.len = - ((GenAddress *)address)->smival.value.string.len; - ACE_OS::memcpy(smival.value.string.ptr, - ((GenAddress *)address)->smival.value.string.ptr, - (size_t)smival.value.string.len); - } - - format_output(); -} - -//----------[ destructor ] ------------------------------------------------ -GenAddress::~GenAddress() -{ - if ( address != 0) - delete address; -} - -//----------[ create a new instance of this Value ]------------------------ -SnmpSyntax *GenAddress::clone() const -{ - return (SnmpSyntax *) new GenAddress(*this); -} - -//------[ assignment GenAddress = GenAddress ]----------------------------- -GenAddress& GenAddress::operator=( const GenAddress &addr) -{ - // protect against assignment from itself - if ( this == &addr ) - return *this; - - valid_flag = FALSE; - if (address) { - delete address; - address = 0; - } - - if (addr.address) - address = (Address *)(addr.address)->clone(); - - if (address) - valid_flag = address->valid(); - - // Copy real address smival info into GenAddr smival - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - if ( valid_flag ) { - smival.syntax = ((GenAddress *)address)->smival.syntax; - smival.value.string.len = - ((GenAddress *)address)->smival.value.string.len; - ACE_OS::memcpy(smival.value.string.ptr, - ((GenAddress *)address)->smival.value.string.ptr, - (size_t)smival.value.string.len); - } - - format_output(); - return *this; -} - - -//------[ assignment GenAddress = any SnmpSyntax ]----------------------- -SnmpSyntax& GenAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = FALSE; // will get set to TRUE if really valid - if ( address != 0) { - delete address; - address = 0; - } - - if (val.valid()) { - switch ( val.get_syntax() ) { - //-----[ ip address case ]------------- - // BOK: this case shouldn't be needed since there is an explicit - // GenAddr=Address assignment that will override this assignment. - // Left here for posterity. - case sNMP_SYNTAX_IPADDR: - { - address = (Address *)val.clone(); - if (address) - valid_flag = address->valid(); - } - break; - - //-----[ udp address case ]------------ - //-----[ ipx address case ]------------ - //-----[ mac address case ]------------ - // BOK: This is here only to support GenAddr = primitive OctetStr. - // The explicit GenAddr=Address assignment will handle the cases - // GenAddr = [UdpAdd|IpxAddr|IpxSock|MacAddr|DecNetAddr|NetbiosAddr|AppleTlk]. - // Note, using the heuristic of octet str len to determine type of - // address to create is not accurate when address lengths are equal - // (e.g., UDPIPV4LEN == MACLEN). It gets worse if we add AppleTalk or - // OSI which use variable length addresses! assume AppleTalk as used in IOS Mibs - // is defined in CISCO-TC.my as fixed length of 3 octets - - case sNMP_SYNTAX_OCTETS: - { - unsigned long val_len; - val_len = ((GenAddress &)val).smival.value.string.len; - - if (val_len == UDPIPV4LEN) { - ACE_NEW_RETURN(address, UdpAddress, *this); - } - else if (val_len ==IPV4LEN) { - ACE_NEW_RETURN(address, IpAddress, *this); - } - else if (val_len == IPXLEN) { - ACE_NEW_RETURN(address, IpxAddress, *this); - } - else if (val_len == IPXSOCKLEN) { - ACE_NEW_RETURN(address, IpxSockAddress, *this); - } - else if (val_len == MACLEN) { - ACE_NEW_RETURN(address, MacAddress, *this); - } - else if (val_len == APPLETKLEN) { - ACE_NEW_RETURN(address, AppleTalkAddress, *this); - } - else if (val_len == DECNETLEN) { - ACE_NEW_RETURN(address, DecNetAddress, *this); - } - else if (val_len == NETBIOSLEN) { - ACE_NEW_RETURN(address, DecNetAddress, *this); - } - - if (address) { - *address = val; - valid_flag = address->valid(); - } - } - break; - } // end switch - } - - // Copy real address smival info into GenAddr smival - // BOK: smival is generally not used for GenAddress, but - // we need this to be a replica of the real address' - // smival info so that ::operator=SnmpSyntax - // will work. - if ( valid_flag ) { - smival.syntax = ((GenAddress *)address)->smival.syntax; - smival.value.string.len = - ((GenAddress *)address)->smival.value.string.len; - ACE_OS::memcpy(smival.value.string.ptr, - ((GenAddress *)address)->smival.value.string.ptr, - (size_t)smival.value.string.len); - } - - format_output(); - return *this; -} - - -// redefined parse address for macs -// TODO: Add netbios, appletalk, and decnet addresses here -int GenAddress::parse_address( const char *addr) -{ - if ( address != 0) - delete address; - - // try to create each of the addresses until the correct one - // is found - -//BOK: Need to try IPX Sock and IPX before UDP since on Win32, -// gethostbyname() seems to think the ipx network number -// portion is a valid ipaddress string... stupid WinSOCK! - - // ipxsock address - ACE_NEW_RETURN(address, IpxSockAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag && ((IpxSockAddress*)address)->get_socket()) { - format_output(); - return TRUE; // ok its an ipxsock address - } - // otherwise delete it and try another - delete address; - - // ipx address - ACE_NEW_RETURN(address, IpxAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) { - format_output(); - return TRUE; // ok its an ipx address - } - // otherwise delete it and try another - delete address; - -//TM: Must try the derived classes first...one pitfall of the -//following solution is if someone creates with a port/socket of 0 the -//class will get demoted to ip/ipx. The only proper way to do this is -//to parse the strings ourselves. - - // udp address - ACE_NEW_RETURN(address, UdpAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag && ((UdpAddress*)address)->get_port()) { - format_output(); - return TRUE; // ok its a udp address - } - - // otherwise delete it and try another - delete address; - - // ip address - ACE_NEW_RETURN(address, IpAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) - { - format_output(); - return TRUE; // ok its an ip address - } - // otherwise delete it and try another - delete address; - - // mac address - ACE_NEW_RETURN(address, MacAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) { - format_output(); - return TRUE; // ok, its a mac - } - - // guess by length of argument the type of address - switch (ACE_OS::strlen(addr)) { - case NETBIOSLEN: - ACE_NEW_RETURN(address, NetbiosAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) { - format_output(); - return TRUE; // ok, its a mac - } - break; - - case APPLETKLEN: - ACE_NEW_RETURN(address, AppleTalkAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) { - format_output(); - return TRUE; // ok, its a mac - } - break; - - case DECNETLEN: - ACE_NEW_RETURN(address, DecNetAddress( addr), -1); - valid_flag = address->valid(); - if ( valid_flag) { - format_output(); - return TRUE; // ok, its a mac - } - break; - - } - // otherwise its invalid - delete address; - address = 0; - format_output(); - return FALSE; -} - -GenAddress::operator const char *() const -{ - if ( address != 0) - return (const char *)*address; // pass thru - else - return (char *)output_buffer; -} - -// to_string form of the contained address -char * GenAddress::to_string() -{ - if ( address != 0) - return address->to_string(); // pass thru - else - return (char *)output_buffer; -} - -// format output -void GenAddress::format_output() -{ - output_buffer[0] = '\0'; -} - -//------[ return the type ]---------------------------------- -addr_type GenAddress::get_type() const -{ - if (!valid()) - return type_invalid; - else - return address->get_type(); -} - -// call the particular type class here -void GenAddress::to_octet(OctetStr& octet) const -{ - if (!valid()) - return; - - address->to_octet(octet); -} - -//------------------------------------------------------------------------ -//---------[ DecNet Address Class ]--------------------------------------- -//------------------------------------------------------------------------ - -DecNetAddress::DecNetAddress( const char *inaddr): Address() -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = DECNETLEN; - smival.value.string.ptr = address_buffer; - - valid_flag=FALSE; - DecNetAddress::format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = DECNETLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *) inaddr); - DecNetAddress::format_output(); -} - -DecNetAddress::DecNetAddress( const DecNetAddress&) -{ -} - -DecNetAddress::DecNetAddress( const GenAddress& genaddr) -{ - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = DECNETLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - // allow use of an ipx or ipxsock address - if ( (genaddr.get_type() == type_decnet) ) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the Ipx address data - DecNetAddress temp_ipx( (const char *) genaddr); - *this = temp_ipx; - } - } - DecNetAddress::format_output(); -} - -DecNetAddress::~DecNetAddress() -{ -} - -char *DecNetAddress::to_string() -{ - return (char *)output_buffer; -} - -DecNetAddress& DecNetAddress::operator=( const DecNetAddress &decaddr) -{ - // protect against assignment from itself - if ( this == &decaddr ) - return *this; - valid_flag = decaddr.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, decaddr.address_buffer, DECNETLEN); - format_output(); - return *this; -} - -void DecNetAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - -DecNetAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -SmiUINT32 DecNetAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -SnmpSyntax& DecNetAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = 0; // will get set TRUE if really valid - - if (val.valid()) { - if (((DecNetAddress &)val).smival.value.string.len ==DECNETLEN) { - ACE_OS::memcpy(address_buffer, - ((DecNetAddress &)val).smival.value.string.ptr, DECNETLEN); - valid_flag = 1; - } - } - DecNetAddress::format_output(); - return *this; -} - -SnmpSyntax *DecNetAddress::clone() const -{ - return (SnmpSyntax *) new DecNetAddress(*this); -} - -addr_type DecNetAddress::get_type() const -{ - return type_decnet; -} - -void DecNetAddress::format_output() -{ - // if valid format else null it - if ( valid_flag) - ACE_OS::sprintf( (char *) output_buffer,"%d.%d",address_buffer[0], - address_buffer[1]); - else - output_buffer[0] = 0; -} - -int DecNetAddress::parse_address( const char *address) -{ - if (ACE_OS::strlen(address) > DECNETLEN) - return FALSE; // invalid - - ACE_OS::memset(address_buffer, 0, DECNETLEN); - ACE_OS::memcpy(address_buffer, address, DECNETLEN); - - return TRUE; // valid -} - - -//------------------------------------------------------------------------ -//---------[ AppleTalk Address Class ]------------------------------------ -//------------------------------------------------------------------------ - -AppleTalkAddress::AppleTalkAddress( const char *inaddr): Address() -{ - if (ACE_OS::strlen(inaddr) == 0) { - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = APPLETKLEN; - smival.value.string.ptr = address_buffer; - - valid_flag=FALSE; - AppleTalkAddress::format_output(); - return; - } - - // always initialize SMI info - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = APPLETKLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = parse_address( (char *) inaddr); - AppleTalkAddress::format_output(); -} -AppleTalkAddress::AppleTalkAddress( const AppleTalkAddress&) -{ -} - -AppleTalkAddress::AppleTalkAddress( const GenAddress& genaddr) -{ - smival.syntax = sNMP_SYNTAX_OCTETS; - smival.value.string.len = APPLETKLEN; - smival.value.string.ptr = address_buffer; - - valid_flag = FALSE; - // allow use of an ipx or ipxsock address - if ( (genaddr.get_type() == type_atk) ) { - valid_flag = genaddr.valid(); - if ( valid_flag) { - // copy in the Ipx address data - AppleTalkAddress temp_ipx( (const char *) genaddr); - *this = temp_ipx; - } - } - AppleTalkAddress::format_output(); -} - -AppleTalkAddress::~AppleTalkAddress() -{ -} - -char *AppleTalkAddress::to_string() -{ - return (char *)output_buffer; -} - -AppleTalkAddress& AppleTalkAddress::operator=( const AppleTalkAddress &ataddr) -{ - // protect against assignment from itself - if ( this == &ataddr ) - return *this; - valid_flag = ataddr.valid_flag; - if (valid_flag) - ACE_OS::memcpy(address_buffer, ataddr.address_buffer, APPLETKLEN); - format_output(); - return *this; -} - -void AppleTalkAddress::to_octet(OctetStr& octet) const -{ - octet.set_data( smival.value.string.ptr, smival.value.string.len); -} - -AppleTalkAddress::operator const char *() const -{ - return (char *)output_buffer; -} - -SmiUINT32 AppleTalkAddress::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -SnmpSyntax& AppleTalkAddress::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - valid_flag = 0; // will get set TRUE if really valid - - if (val.valid()) { - if (((AppleTalkAddress &)val).smival.value.string.len ==APPLETKLEN) { - ACE_OS::memcpy(address_buffer, - ((AppleTalkAddress &)val).smival.value.string.ptr,APPLETKLEN); - valid_flag = 1; - } - } - AppleTalkAddress::format_output(); - return *this; -} - -SnmpSyntax *AppleTalkAddress::clone() const -{ - return (SnmpSyntax *) new AppleTalkAddress(*this); -} - -addr_type AppleTalkAddress::get_type() const -{ - return type_atk; -} - -void AppleTalkAddress::format_output() -{ - // if valid format else null it - if ( valid_flag) - ACE_OS::sprintf( (char *) output_buffer,"%d.%d.%d", address_buffer[0], - address_buffer[1], address_buffer[3]); - else - output_buffer[0] = 0; -} - -int AppleTalkAddress::parse_address( const char *address) -{ - if (ACE_OS::strlen(address) > APPLETKLEN) - return FALSE; // invalid - - ACE_OS::memset(address_buffer, 0, APPLETKLEN); - ACE_OS::memcpy(address_buffer, address, APPLETKLEN); - - return TRUE; // valid -} - -char AppleTalkAddress::get_host_address() const -{ - return address_buffer[2]; -} - -void AppleTalkAddress::set_host_address(const char host) -{ - address_buffer[2] = host; -} - -short AppleTalkAddress::get_net_address() const -{ - short net; - ACE_OS::memcpy(&net, address_buffer, APPLETKLEN - 1); - return net; -} - -void AppleTalkAddress::set_net_address(const short atknet) -{ - ACE_OS::memcpy(address_buffer, &atknet, APPLETKLEN -1); -} - - diff --git a/ASNMP/asnmp/address.h b/ASNMP/asnmp/address.h deleted file mode 100644 index 704da6d0807..00000000000 --- a/ASNMP/asnmp/address.h +++ /dev/null @@ -1,806 +0,0 @@ -/* -*-C++-*- */ -#ifndef ADDRESS_ -#define ADDRESS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// address.h -// -// = DESCRIPTION -// Address class definition. Encapsulates various network -// addresses into easy to use, safe and portable classes. -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ - -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//----[ includes ]----------------------------------------------------- -// ACE OS Adaption layer -#include "ace/OS.h" -#include "asnmp/smival.h" -#include "asnmp/octet.h" - -//----[ enumerated types ] -------------------------------- -enum address_lengths { - IPV4LEN=4, - UDPIPV4LEN=6, - IPV6LEN=16, - UDPIPV6LEN=18, - IPXLEN=10, - IPXSOCKLEN=12, - NETBIOSLEN=16, - APPLETKLEN=3, - DECNETLEN=2, - MACLEN=6, - HASH0=19, - HASH1=13, - HASH2=7, - MAX_ADDR_SZ=20, - MAX_DISPLAY_SZ=MAXHOSTNAMELEN+1 -}; - -enum addr_type { - type_ip, - type_ipx, - type_udp, - type_ipxsock, - type_mac, - type_nb, - type_atk, - type_decnet, - type_e164, - type_sip, // IPv6 - type_invalid -}; - -// TODO: get rest of nb service types added here -enum nb_service { - nb_workstation = 0x0, nb_server = 0x20 -}; - -//---[ forward declarations ]----------------------------------------- -class GenAddress; -class UdpAddress; -class IpxSockAddress; -class NetbiosAddress; -class SIPAddress; // aka ipv6 - -// TODO: -// class AtmE164Address; - - -//-------------------------------------------------------------------- -//----[ Address class ]----------------------------------------------- -//-------------------------------------------------------------------- -class ACE_Export Address: public SnmpSyntax - // = TITLE - // Defines the member functions for the abstract base class - // Address. An Address is a unique network endpoint. -{ - -public: - virtual ~Address(); - // allow destruction of derived classes - - friend int operator==( const Address &lhs,const Address &rhs); - // overloaded equivlence operator, are two addresses equal? - - friend int operator!=( const Address &lhs,const Address &rhs); - // overloaded not equivlence operator, are two addresses not equal? - - friend int operator>( const Address &lhs,const Address &rhs); - // overloaded > operator, is a1 > a2 - - friend int operator>=( const Address &lhs,const Address &rhs); - // overloaded >= operator, is a1 >= a2 - - friend int operator<( const Address &lhs,const Address &rhs); - // overloaded < operator, is a1 < a2 - - friend int operator<=( const Address &lhs,const Address &rhs); - // overloaded <= operator, is a1 <= a2 - - friend int operator==( const Address &lhs,const char *rhs); - // equivlence operator overloaded, are an address and a string equal? - - friend int operator!=( const Address &lhs,const char *rhs); - // overloaded not equivlence operator, are an address and string not equal? - - friend int operator>( const Address &lhs,const char *rhs); - // overloaded < , is an address greater than a string? - - friend int operator>=( const Address &lhs,const char *rhs); - // overloaded >=, is an address greater than or equal to a string? - - friend int operator<( const Address &lhs,const char *rhs); - // overloaded < , is an address less than a string? - - friend int operator<=( const Address &lhs,const char *rhs); - // overloaded <=, is an address less than or equal to a string? - - virtual operator const char *() const = 0; - // overloaded const char * cast - - virtual int valid() const; - // verify the is the address object constructed ok - - virtual void to_octet(OctetStr& octet) const = 0; - // return a suitable buffer to contain the address - - virtual SmiUINT32 get_syntax() = 0; - // (pure virtual) syntax type - - unsigned char& operator[]( const int position); - // for non const [], allows reading and writing - - virtual char *to_string() = 0; - // get a printable ASCII value - - virtual SnmpSyntax *clone() const = 0; - // create a new instance of this Value - - virtual addr_type get_type() const = 0; - // return the type of address - - virtual SnmpSyntax& operator=( SnmpSyntax &val) = 0; - // overloaded assignment operator - - virtual unsigned int hashFunction() const { return 0;}; - // return a hash key - - -protected: - int valid_flag; - // state of constructed object (TRUE/FALSE) - unsigned char address_buffer[MAX_ADDR_SZ]; - // addr internal representation - - virtual int parse_address( const char * inaddr) =0; - // parse the address string - // redefined for each specific address subclass - - virtual void format_output() =0; - // format the output - // redefined for each specific address subclass - - void trim_white_space( char * ptr); - // a reused trimm white space method -}; - - -//----------------------------------------------------------------------- -//---------[ IPv4 Address Class ]---------------------------------------- -//----------------------------------------------------------------------- -class ACE_Export IpAddress : public Address - // = TITLE - // Defines the member functions for the concrete class IpAddress - // An IP Version 4 Address is 4 bytes long and consists of a - // Network, Sub Network, and host component. -{ -public: - IpAddress( const char *inaddr = ""); - // default construct an IP address with a string - - IpAddress( const IpAddress &ipaddr); - // construct an IP address with another IP address - - IpAddress( const GenAddress &genaddr); - // construct an IP address with a GenAddress - - ~IpAddress(); - // destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden) - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - IpAddress& operator=( const IpAddress &ipaddress); - // assignment to another IpAddress object overloaded - - // TODO: add ability to set addr given long - - SnmpSyntax *clone() const; - // create a new instance of this Value - - char *resolve_hostname(int& was_found); - // return the DNS Fully Qualified Domain Name (host.domain) - // on failure returns dotted_quad string - - virtual char *to_string() ; - // return string representation of object (dotted quad returned) - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - void mask( const IpAddress& ipaddr); - // logically AND two IPaddresses and - // return the new one - - virtual addr_type get_type() const; - // return the type - - virtual SmiUINT32 get_syntax(); - // syntax type - - int is_loopback() const; - // is this the loopback address? 127.0.0.1/loopback/1.0.0.127.in-addr.arpa - - int is_multicast() const; - // determine if this is a multicast address - - int is_broadcast() const; - // determine if this a broadcast address - - int is_private() const; - // per RFC 1597, private addresses are:: 10, 172.16, and 192.168.0 - - virtual void to_octet(OctetStr& octet) const; - // convert address into octet string format in network byte order - -protected: - char output_buffer[MAX_DISPLAY_SZ]; // output buffer - - char iv_friendly_name_[MAX_DISPLAY_SZ]; - // friendly name storage - - int iv_friendly_name_status_; - // did resolver call work? some addrs won't resolve - - virtual int parse_address( const char *inaddr); - // redefined parse address - // specific to IP addresses - - virtual void format_output(); - // redefined format output - // specific to IP addresses - - int parse_dotted_ipstring( const char *inaddr); - // parse a dotted string - - int addr_to_friendly(); - // using the currently defined address, do a gethostbyname() - // and try to fill up the name - - static int resolve_to_address(const char *hostname, in_addr& quad_addr); - // thread safe routine to lookup ip address given hostname - // return <> 0 on error - - static int resolve_to_hostname(const in_addr& quad_addr, char *hostname); - // thread safe routine to lookup name given ip address - // return <> 0 on error - -}; - -//------------------------------------------------------------------------ -//--------------[ DNS Iterator Class ]------------------------------------ -//------------------------------------------------------------------------ - -class ACE_Export Address_Iter - // = TITLE - // Defines routines to obtain information on a hostname/FQDN - // such as multiple addresses -{ -public: - Address_Iter(const char *hostname); // fully qualified domain name, hostname - - int valid() const; - // did hostname resolve via DNS? - - int how_many_addresses(); - // how many addresses associated with this hostname - - int next(IpAddress& addr); - // return next address - -private: - Address_Iter(const Address_Iter&); - int valid_; // ctor status - int count_; // number of addresses - char **entry_; // ptr to current address - struct hostent lookupResult_; - ACE_HOSTENT_DATA buffer_; - int query_dns(const char *hostname); -}; - -//------------------------------------------------------------------------ -//---------[ UDP/IPv4 Address Class ]------------------------------------- -//------------------------------------------------------------------------ -class ACE_Export UdpAddress : public IpAddress - // = TITLE - // Defines the member functions for the concrete class UdpAddress - // A Udp Address consists of an IP Version 4 Address (IpAddress) - // and a 2 byte unsigned port number. (see /etc/services file) - // User Datagram Protocol (UDP) is a best effort transport -{ -public: - UdpAddress( const char *inaddr = ""); - // default constructor with a dotted string in the form of addr:port - - UdpAddress( const UdpAddress &udpaddr); - // construct an Udp address with another Udp address - - UdpAddress( const GenAddress &genaddr); - // construct a Udp address with a GenAddress - - UdpAddress( const IpAddress &ipaddr); - // construct a Udp address with an IpAddress - // default port # to zero - - ~UdpAddress(); - // destructor - - SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - UdpAddress& operator=( const UdpAddress &udpaddr); - // assignment to another IpAddress object overloaded - - SnmpSyntax *clone() const; - // create a new instance of this Value - - virtual char *to_string() ; - // output in the form of address:port - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - void set_port( const unsigned short p); - // set the port number - - unsigned short get_port() const; - // get the port number - - virtual addr_type get_type() const; - // return the type - -protected: - char output_buffer[MAX_DISPLAY_SZ]; - // output buffer - - virtual int parse_address( const char *inaddr); - // redefined parse address - // specific to IP addresses - - virtual void format_output(); - // redefined format output - // specific to IP addresses -}; - - -//------------------------------------------------------------------------- -//---------[ 802.3 MAC Address Class ]------------------------------------- -//------------------------------------------------------------------------- -class ACE_Export MacAddress : public Address - // = TITLE - // Defines the member functions for the concrete class MacAddress. - // A Media Access Control Address consists of 48 bits as defined - // in IEEE 802.3 specifications. -{ -public: - MacAddress( const char *inaddr = ""); - // constructor with a string argument - - MacAddress( const MacAddress &macaddr); - // constructor with another MAC object - - MacAddress( const GenAddress &genaddr); - // construct a MacAddress with a GenAddress - - ~MacAddress(); - // destructor - - SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - MacAddress& operator=( const MacAddress &macaddress); - // assignment to another IpAddress object overloaded - - SnmpSyntax *clone() const; - // create a new instance of this Value - - virtual char *to_string(); - // create a string to internal class storage representing object - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual addr_type get_type() const; - // return the type - - unsigned int hashFunction() const; - // return a hash key - - virtual void to_octet(OctetStr& octet) const; - // return byte array of the mac address - -protected: - char output_buffer[MAX_DISPLAY_SZ]; - // output buffer containing string representation of object - - virtual int parse_address( const char *inaddr); - // redefined parse address for macs - - virtual void format_output(); - // redefined format output for MACs -}; - -//------------------------------------------------------------------------ -//---------[ Netbios Address Class ]-------------------------------------- -//------------------------------------------------------------------------ -class ACE_Export NetbiosAddress : public Address - // = TITLE - // Defines the member functions for the concrete class NetbiosAddress. - // The IBM/Microsoft address for NETBIOS, NETBEUI protocol transport. -{ -public: - - NetbiosAddress( const char *inaddr = ""); - // default constructor with string arg - - NetbiosAddress( const char *inaddr, nb_service svc); - // set name and service type - - NetbiosAddress( const NetbiosAddress& nbaddr); - // copy constructor - - NetbiosAddress( const GenAddress& genaddr); - // construct with a GenAddress - - ~NetbiosAddress(); - - virtual char *to_string(); - - NetbiosAddress& operator=( const NetbiosAddress &nbaddr); - - nb_service get_service_type() const; - // retrieve the network service type - - void set_service_type(nb_service nbservice); - // set the service type (workstation, server, etc) - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - SnmpSyntax *clone() const; - // create a new instance of this Value - - virtual void to_octet(OctetStr& octet) const; - // output byte buffer containing netbios name - -protected: - void InitNBAddr(const char *inaddr); - char output_buffer[MAX_DISPLAY_SZ]; - - virtual void format_output(); - // output buffer to hold string representation - virtual int parse_address( const char *inaddr); - virtual addr_type get_type() const; -}; - -//------------------------------------------------------------------------ -//---------[ DecNet Address Class ]--------------------------------------- -//------------------------------------------------------------------------ -class ACE_Export DecNetAddress : public Address - // = TITLE - // Defines the member functions for the concrete class DecNetAddress. - // DecNet Phase ? address consists of two octets (CISCO-TC.my) -{ - public: - DecNetAddress( const char *inaddr = ""); - // default constructor with string arg - - DecNetAddress( const DecNetAddress& decaddr); - // copy constructor - - DecNetAddress( const GenAddress& genaddr); - // construct with a GenAddress - - ~DecNetAddress(); - - virtual char *to_string(); - - DecNetAddress& operator=( const DecNetAddress &decaddr); - - virtual void to_octet(OctetStr& octet) const; - // convert address into octet string format 2 bytes of decnet address - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - SnmpSyntax *clone() const; - // create a new instance of this Value - - protected: - virtual int parse_address( const char *inaddr); - virtual addr_type get_type() const; - virtual void format_output(); - char output_buffer[MAX_DISPLAY_SZ]; -}; - -//------------------------------------------------------------------------ -//---------[ AppleTalk Address Class ]------------------------------------ -//------------------------------------------------------------------------ -class ACE_Export AppleTalkAddress : public Address - // = TITLE - // Defines the member functions for the concrete class DecNetAddress. - // DecNet Phase ? address consists of two octets (CISCO-TC.my) -{ - public: - AppleTalkAddress( const char *inaddr = ""); - // default constructor with string arg - - AppleTalkAddress( const AppleTalkAddress& atkaddr); - // copy constructor - - AppleTalkAddress( const GenAddress& genaddr); - // construct with a GenAddress - - ~AppleTalkAddress(); - - virtual char *to_string(); - - AppleTalkAddress& operator=( const AppleTalkAddress &atkaddr); - - virtual void to_octet(OctetStr& octet) const; - // convert address into octet string format 3 bytes of atk address - - char get_host_address() const; - // get the host part of the address - - void set_host_address(const char); - // set the host part of the address - - short get_net_address() const; - // get the 2 byte atk network address - - void set_net_address(const short atknet); - // set the host 2 byte atk network address - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - SnmpSyntax *clone() const; - // create a new instance of this Value - - private: - virtual int parse_address( const char *inaddr); - virtual addr_type get_type() const; - virtual void format_output(); - char output_buffer[MAX_DISPLAY_SZ]; -}; - -//------------------------------------------------------------------------ -//---------[ IPX Address Class ]------------------------------------------ -//------------------------------------------------------------------------ -class ACE_Export IpxAddress : public Address - // = TITLE - // Defines the member functions for the concrete class IpxAddress. - // Novell's IPX (version ?) network protocol endpoint -{ -public: - IpxAddress( const char *inaddr = ""); - // default constructor with a string arg - - IpxAddress( const IpxAddress &ipxaddr); - // constructor with another ipx object - - IpxAddress( const GenAddress &genaddr); - // construct with a GenAddress - - ~IpxAddress(); - // destructor - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - IpxAddress& operator=( const IpxAddress &ipxaddress); - // assignment to another IpxAddress object overloaded - - int get_hostid( MacAddress& mac); - // get the host id portion of an ipx address - - SnmpSyntax *clone() const; - // create a new instance of this Value - - virtual char *to_string(); - // create string represtation of object value - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual addr_type get_type() const; - // return the type - - virtual void to_octet(OctetStr& octet) const; - // return byte sequence containing ipx address - -protected: - char separator; - // ipx format separator {:,/} - - char output_buffer[MAX_DISPLAY_SZ]; - // output buffer to hold string representation - - virtual int parse_address( const char *inaddr); - // redefined parse address for ipx strings - - virtual void format_output(); - // redefined format output for ipx strings - // uses same separator as when constructed -}; - - - -//------------------------------------------------------------------------ -//---------[ IpxSock Address Class ]-------------------------------------- -//------------------------------------------------------------------------ -class ACE_Export IpxSockAddress : public IpxAddress - // = TITLE - // Defines the member functions for the concrete class IpxAddress. - // Novell's IPX (version ?) network protocol endpoint -{ -public: - IpxSockAddress( const char *inaddr = ""); - // constructor with a dotted string - - IpxSockAddress( const IpxSockAddress &ipxaddr); - // construct an Udp address with another Udp address - - IpxSockAddress( const GenAddress &genaddr); - //constructor with a GenAddress - - IpxSockAddress( const IpxAddress &ipxaddr); - //constructor with a IpxAddress - // default socket # is 0 - - ~IpxSockAddress(); - // destructor - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - IpxSockAddress& operator=( const IpxSockAddress &ipxaddr); - // assignment to another IpxAddress object overloaded - - SnmpSyntax *clone() const; - // create a new instance of this Value - - void set_socket( const unsigned short s); - // set the socket number - - unsigned short get_socket() const; - // get the socket number - - virtual char *to_string(); - // create string representation of object value - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual addr_type get_type() const; - // return the type - -protected: - char output_buffer[MAX_DISPLAY_SZ]; - // output buffer to hold string representation of object - - virtual int parse_address( const char *inaddr); - // redefined parse address for ipx strings - - virtual void format_output(); - // redefined format output - // specific to IP addresses -}; - -//------------------------------------------------------------------------- -//--------[ Generic Address ]---------------------------------------------- -//------------------------------------------------------------------------- -class ACE_Export GenAddress : public Address - // = TITLE - // Defines the member functions for the concrete class GenAddress. - // This class attempts to determine an address type given a char string. -{ -public: - GenAddress( const char *addr = ""); - // constructor with a string argument - - GenAddress( const Address &addr); - // constructor with an Address - - GenAddress( const GenAddress &addr); - // constructor with another GenAddress - - ~GenAddress(); - // destructor - - SmiUINT32 get_syntax(); - // get the snmp syntax of the contained address - - SnmpSyntax *clone() const; - // create a new instance of this Value - - GenAddress& operator=( const GenAddress &addr); - // assignment of a GenAddress - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - virtual char *to_string(); - // string representation of object value - - virtual operator const char *() const; - // const char * operator overloaded for streaming output - - virtual addr_type get_type() const; - // return the type - - virtual void to_octet(OctetStr& octet) const; - // return the address as a octet sequence - -protected: - Address *address; - // pointer to a a concrete address - - char output_buffer[MAX_DISPLAY_SZ]; - // output buffer of objects value - - virtual int parse_address( const char *addr); - // redefined parse address for macs - - virtual void format_output(); - // format output for a generic address - - void init_smi(); - // initialize smi data structure -}; - -#endif //_ADDRESS diff --git a/ASNMP/asnmp/asn1.cpp b/ASNMP/asnmp/asn1.cpp deleted file mode 100644 index 3131a864264..00000000000 --- a/ASNMP/asnmp/asn1.cpp +++ /dev/null @@ -1,1724 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// asn1.cpp -// -// = DESCRIPTION -// The Vb class is an encapsulation of the snmp variable binding. -// This module contains the class definition for the variable binding (VB) -// class. The VB class is an encapsulation of a SNMP VB. A VB object is -// composed of one SNMP++ Oid and one SMI value. The Vb class utilizes Oid -// objects and thus requires the Oid class. To use this class, -// set oid, value then call valid() to be sure object was constructed correctly. -// -// = AUTHOR -// S. Waldbusser (assumed) -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/********************************************************************** -// * - * Abstract Syntax Notation One, ASN.1 - * As defined in ISO/IS 8824 and ISO/IS 8825 - * This implements a subset of the above International Standards that - * is sufficient to implement SNMP. - * - * Encodes abstract data types into a machine independent stream of bytes. - * - Copyright 1988, 1989, 1991, 1992 by Carnegie Mellon University - - All Rights Reserved - - 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 and that - both that copyright notice and this permission notice appear in - supporting documentation, and that the name of CMU not be - used in advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING - ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL - CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR - ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - SOFTWARE. - ******************************************************************/ - -#include "asnmp/asn1.h" -#include "asnmp/snmp.h" - -/* - * parse_int - pulls a long out of an ASN int type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::parse_int( u_char *data, - int *datalength, - u_char *type, - long int *intp, - int intsize) -{ - ACE_TRACE("asn1::parse_int"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - u_char *bufp = data; - u_long asn_length; - long value = 0; - - if (intsize != sizeof (long)){ - ASNERROR("not long"); - return NULL; - } - *type = *bufp++; - bufp =asn1::parse_length(bufp, &asn_length); - if (bufp == NULL){ - ASNERROR("bad length"); - return NULL; - } - if ((int)(asn_length + (bufp - data)) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - if ((int)asn_length > intsize){ - ASNERROR("I don't support such large integers"); - return NULL; - } - *datalength -= (int)asn_length + (bufp - data); - if (*bufp & 0x80) - value = -1; /* integer is negative */ - while(asn_length--) - value = (value << 8) | *bufp++; - *intp = value; - return bufp; -}; - - -/* - * parse_unsigned_int - pulls an u_long out of an ASN int type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::parse_unsigned_int( u_char *data, - int *datalength, - u_char *type, - u_long *intp, - int intsize) -{ - ACE_TRACE("asn1::parse_unsigned_int"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - u_char *bufp = data; - u_long asn_length; - u_long value = 0; - - if (intsize != sizeof (long)){ - ASNERROR("not long"); - return NULL; - } - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL){ - ASNERROR("bad length"); - return NULL; - } - if ((int)(asn_length + (bufp - data)) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - if (((int)asn_length > (intsize + 1)) || - (((int)asn_length == intsize + 1) && *bufp != 0x00)){ - ASNERROR("I don't support such large integers"); - return NULL; - } - *datalength -= (int)asn_length + (bufp - data); - if (*bufp & 0x80) - value = (u_long) -1; - while(asn_length--) - value = (value << 8) | *bufp++; - *intp = value; - return bufp; -}; - - -/* - * build_int - builds an ASN object containing an integer. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::build_int( u_char *data, - int *datalength, - u_char type, - long *intp, - int intsize) -{ - ACE_TRACE("asn1::build_int"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - - long integer; - u_long mask; - - if (intsize != sizeof (long)) - return NULL; - integer = *intp; - /* - * Truncate "unnecessary" bytes off of the most significant end of this - * 2's complement integer. There should be no sequence of 9 - * consecutive 1's or 0's at the most significant end of the - * integer. - */ - mask = 0x1FF << ((8 * (sizeof(long) - 1)) - 1); - /* mask is 0xFF800000 on a big-endian machine */ - while((((integer & mask) == 0) || ((integer & mask) == mask)) - && intsize > 1){ - intsize--; - integer <<= 8; - } - data = asn1::build_header(data, datalength, type, intsize); - if (data == NULL) - return NULL; - if (*datalength < intsize) - return NULL; - *datalength -= intsize; - mask = 0xFF << (8 * (sizeof(long) - 1)); - /* mask is 0xFF000000 on a big-endian machine */ - while(intsize--){ - *data++ = (u_char)((integer & mask) >> (8 * (sizeof(long) - 1))); - integer <<= 8; - } - return data; -}; - - -/* - * build_unsigned_int - builds an ASN object containing an integer. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::build_unsigned_int( u_char *data, - int *datalength, - u_char type, - u_long *intp, - int intsize) -{ - ACE_TRACE("asn1::build_unsigned_int"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - - u_long integer; - u_long mask; - int add_null_byte = 0; - - if (intsize != sizeof (long)) - return NULL; - integer = *intp; - mask = 0xFF << (8 * (sizeof(long) - 1)); - /* mask is 0xFF000000 on a big-endian machine */ - if ((u_char)((integer & mask) >> (8 * (sizeof(long) - 1))) & 0x80){ - /* if MSB is set */ - add_null_byte = 1; - intsize++; - } - /* - * Truncate "unnecessary" bytes off of the most significant end of this 2's complement integer. - * There should be no sequence of 9 consecutive 1's or 0's at the most significant end of the - * integer. - */ - mask = 0x1FF << ((8 * (sizeof(long) - 1)) - 1); - /* mask is 0xFF800000 on a big-endian machine */ - while((((integer & mask) == 0) || ((integer & mask) == mask)) && intsize > 1){ - intsize--; - integer <<= 8; - } - data = asn1::build_header(data, datalength, type, intsize); - if (data == NULL) - return NULL; - if (*datalength < intsize) - return NULL; - *datalength -= intsize; - if (add_null_byte == 1){ - *data++ = '\0'; - intsize--; - } - mask = 0xFF << (8 * (sizeof(long) - 1)); - /* mask is 0xFF000000 on a big-endian machine */ - while(intsize--){ - *data++ = (u_char)((integer & mask) >> (8 * (sizeof(long) - 1))); - integer <<= 8; - } - return data; -}; - - -/* - * parse_string - pulls an octet string out of an ASN octet string type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * "string" is filled with the octet string. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::parse_string( u_char *data, - int *datalength, - u_char *type, - u_char *string, - int *strlength) -{ - ACE_TRACE("asn1::parse_string"); - /* - * ASN.1 octet string ::= primstring | cmpdstring - * primstring ::= 0x04 asnlength byte {byte}* - * cmpdstring ::= 0x24 asnlength string {string}* - */ - u_char *bufp = data; - u_long asn_length; - - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL) - return NULL; - if ((int)(asn_length + (bufp - data)) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - if ((int)asn_length > *strlength){ - ASNERROR("I don't support such long strings"); - return NULL; - } - // fixed - ACE_OS::memcpy((char *)string, (char *)bufp, (int)asn_length); - *strlength = (int)asn_length; - *datalength -= (int)asn_length + (bufp - data); - return bufp + asn_length; -}; - - -/* - * build_string - Builds an ASN octet string object containing the input string. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::build_string( u_char *data, - int *datalength, - u_char type, - u_char *string, - int strlength) -{ - ACE_TRACE("asn1::build_string"); - /* - * ASN.1 octet string ::= primstring | cmpdstring - * primstring ::= 0x04 asnlength byte {byte}* - * cmpdstring ::= 0x24 asnlength string {string}* - * This code will never send a compound string. - */ - data = asn1::build_header(data, datalength, type, strlength); - if (data == NULL) - return NULL; - if (*datalength < strlength) - return NULL; - // fixed - ACE_OS::memcpy((u_char *)data,(u_char *)string, strlength); - *datalength -= strlength; - return data + strlength; -}; - - -/* - * parse_header - interprets the ID and length of the current object. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * in this object following the id and length. - * - * Returns a pointer to the first byte of the contents of this object. - * Returns NULL on any error. - */ -u_char *asn1::parse_header( u_char *data, - int *datalength, - u_char *type) -{ - ACE_TRACE("asn1::parse_header"); - u_char *bufp = data; - register int header_len; - u_long asn_length; - - /* this only works on data types < 30, i.e. no extension octets */ - if (IS_EXTENSION_ID(*bufp)){ - ASNERROR("can't process ID >= 30"); - return NULL; - } - *type = *bufp; - bufp = asn1::parse_length(bufp + 1, &asn_length); - if (bufp == NULL) - return NULL; - header_len = bufp - data; - if ((int)(header_len + asn_length) > *datalength){ - ASNERROR("asn length too long"); - return NULL; - } - *datalength = (int)asn_length; - return bufp; -} - -/* - * asn1::build_header - builds an ASN header for an object with the ID and - * length specified. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * in this object following the id and length. - * - * This only works on data types < 30, i.e. no extension octets. - * The maximum length is 0xFFFF; - * - * Returns a pointer to the first byte of the contents of this object. - * Returns NULL on any error. - */ -u_char * asn1::build_header( u_char *data, - int *datalength, - u_char type, - int length) -{ - ACE_TRACE("asn1::build_header"); - if (*datalength < 1) - return NULL; - *data++ = type; - (*datalength)--; - return asn1::build_length(data, datalength, length); - -} - -/* - * asn_build_sequence - builds an ASN header for a sequence with the ID and - * length specified. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * in this object following the id and length. - * - * This only works on data types < 30, i.e. no extension octets. - * The maximum length is 0xFFFF; - * - * Returns a pointer to the first byte of the contents of this object. - * Returns NULL on any error. - */ -u_char * asn1::build_sequence( u_char *data, - int *datalength, - u_char type, - int length) -{ - ACE_TRACE("asn1::build_sequence"); - *datalength -= 4; - if (*datalength < 0){ - *datalength += 4; /* fix up before punting */ - return NULL; - } - *data++ = type; - *data++ = (u_char)(0x02 | ASN_LONG_LEN); - *data++ = (u_char)((length >> 8) & 0xFF); - *data++ = (u_char)(length & 0xFF); - return data; -}; - -/* - * parse_length - interprets the length of the current object. - * On exit, length contains the value of this length field. - * - * Returns a pointer to the first byte after this length - * field (aka: the start of the data field). - * Returns NULL on any error. - */ -u_char * asn1::parse_length( u_char *data, - u_long *length) -{ - ACE_TRACE("asn1::parse_length"); - u_char lengthbyte = *data; - - if (lengthbyte & ASN_LONG_LEN){ - lengthbyte &= ~ASN_LONG_LEN; /* turn MSb off */ - if (lengthbyte == 0){ - ASNERROR("We don't support indefinite lengths"); - return NULL; - } - if (lengthbyte > sizeof(long)){ - ASNERROR("we can't support data lengths that long"); - return NULL; - } - // fixed - ACE_OS::memcpy((char *)length, (char *)data + 1, (int)lengthbyte); - *length = ntohl(*length); - *length >>= (8 * ((sizeof *length) - lengthbyte)); - return data + lengthbyte + 1; - } else { /* short asnlength */ - *length = (long)lengthbyte; - return data + 1; - } -}; - -u_char *asn1::build_length( u_char *data, - int *datalength, - int length) -{ - ACE_TRACE("asn1::build_length"); - u_char *start_data = data; - - /* no indefinite lengths sent */ - if (length < 0x80){ - if (*datalength < 1){ - ASNERROR("build_length"); - return NULL; - } - *data++ = (u_char)length; - } else if (length <= 0xFF){ - if (*datalength < 2){ - ASNERROR("build_length"); - return NULL; - } - *data++ = (u_char)(0x01 | ASN_LONG_LEN); - *data++ = (u_char)length; - } else { /* 0xFF < length <= 0xFFFF */ - if (*datalength < 3){ - ASNERROR("build_length"); - return NULL; - } - *data++ = (u_char)(0x02 | ASN_LONG_LEN); - *data++ = (u_char)((length >> 8) & 0xFF); - *data++ = (u_char)(length & 0xFF); - } - *datalength -= (data - start_data); - return data; - -} - -/* - * parse_objid - pulls an object indentifier out of an ASN object identifier type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * "objid" is filled with the object identifier. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::parse_objid( u_char *data, - int *datalength, - u_char *type, - oid *objid, - int *objidlength) -{ - ACE_TRACE("asn1::parse_objid"); - /* - * ASN.1 objid ::= 0x06 asnlength subidentifier {subidentifier}* - * subidentifier ::= {leadingbyte}* lastbyte - * leadingbyte ::= 1 7bitvalue - * lastbyte ::= 0 7bitvalue - */ - u_char *bufp = data; - oid *oidp = objid + 1; - u_long subidentifier; - long length; - u_long asn_length; - - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL) - return NULL; - if ((int)asn_length + (bufp - data) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - *datalength -= (int)asn_length + (bufp - data); - - /* Handle invalid object identifier encodings of the form 06 00 robustly */ - if (asn_length == 0) - objid[0] = objid[1] = 0; - - length = asn_length; - (*objidlength)--; /* account for expansion of first byte */ - while (length > 0 && (*objidlength)-- > 0){ - subidentifier = 0; - do { /* shift and add in low order 7 bits */ - subidentifier = (subidentifier << 7) + (*(u_char *)bufp & ~ASN_BIT8); - length--; - } while (*(u_char *)bufp++ & ASN_BIT8); /* last byte has high bit clear */ - if (subidentifier > (u_long)MAX_SUBID){ - ASNERROR("subidentifier too long"); - return NULL; - } - *oidp++ = (oid)subidentifier; - } - - /* - * The first two subidentifiers are encoded into the first component - * with the value (X * 40) + Y, where: - * X is the value of the first subidentifier. - * Y is the value of the second subidentifier. - */ - subidentifier = (u_long)objid[1]; - if (subidentifier == 0x2B){ - objid[0] = 1; - objid[1] = 3; - } else { - objid[1] = (u_char)(subidentifier % 40); - objid[0] = (u_char)((subidentifier - objid[1]) / 40); - } - - *objidlength = (int)(oidp - objid); - return bufp; -} - -/* - * build_objid - Builds an ASN object identifier object containing the - * input string. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::build_objid( u_char *data, - int *datalength, - u_char type, - oid *objid, - int objidlength) -{ - ACE_TRACE("asn1::build_objid"); - /* - * ASN.1 objid ::= 0x06 asnlength subidentifier {subidentifier}* - * subidentifier ::= {leadingbyte}* lastbyte - * leadingbyte ::= 1 7bitvalue - * lastbyte ::= 0 7bitvalue - */ - u_char buf[MAX_OID_LEN]; - u_char *bp = buf; - oid *op = objid; - int asnlength; - u_long subid, mask, testmask; - int bits, testbits; - - if (objidlength < 2){ - *bp++ = 0; - objidlength = 0; - } else { - *bp++ = (u_char) (op[1] + (op[0] * 40)); - objidlength -= 2; - op += 2; - } - - while(objidlength-- > 0){ - subid = *op++; - if (subid < 127){ /* off by one? */ - *bp++ = (u_char )subid; - } else { - mask = 0x7F; /* handle subid == 0 case */ - bits = 0; - /* testmask *MUST* !!!! be of an u_type */ - for(testmask = 0x7F, testbits = 0; testmask != 0; - testmask <<= 7, testbits += 7){ - if (subid & testmask){ /* if any bits set */ - mask = testmask; - bits = testbits; - } - } - /* mask can't be zero here */ - for(;mask != 0x7F; mask >>= 7, bits -= 7){ - /* fix a mask that got truncated above */ - if (mask == 0x1E00000) - mask = 0xFE00000; - *bp++ = (u_char)(((subid & mask) >> bits) | ASN_BIT8); - } - *bp++ = (u_char)(subid & mask); - } - } - asnlength = bp - buf; - data = asn1::build_header(data, datalength, type, asnlength); - if (data == NULL) - return NULL; - if (*datalength < asnlength) - return NULL; - // fixed - ACE_OS::memcpy((char *)data, (char *)buf, asnlength); - *datalength -= asnlength; - return data + asnlength; -} - -/* - * parse_null - Interprets an ASN null type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::parse_null(u_char *data, - int *datalength, - u_char *type) -{ - ACE_TRACE("asn1::parse_null"); - /* - * ASN.1 null ::= 0x05 0x00 - */ - u_char *bufp = data; - u_long asn_length; - - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL) - return NULL; - if (asn_length != 0){ - ASNERROR("Malformed NULL"); - return NULL; - } - *datalength -= (bufp - data); - return bufp + asn_length; -} - - -/* - * build_null - Builds an ASN null object. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::build_null( u_char *data, - int *datalength, - u_char type) -{ - ACE_TRACE("asn1::build_null"); - /* - * ASN.1 null ::= 0x05 0x00 - */ - return asn1::build_header(data, datalength, type, 0); -}; - -/* - * parse_bitstring - pulls a bitstring out of an ASN bitstring type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * "string" is filled with the bit string. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::parse_bitstring( u_char *data, - int *datalength, - u_char *type, - u_char *string, - int *strlength) -{ - ACE_TRACE("asn1::parse_bitstring"); - /* - * bitstring ::= 0x03 asnlength unused {byte}* - */ - u_char *bufp = data; - u_long asn_length; - - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL) - return NULL; - if ((int)(asn_length + (bufp - data)) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - if ((int) asn_length > *strlength){ - ASNERROR("I don't support such long bitstrings"); - return NULL; - } - if (asn_length < 1){ - ASNERROR("Invalid bitstring"); - return NULL; - } - if (*bufp > 7){ - ASNERROR("Invalid bitstring"); - return NULL; - } - // fixed - ACE_OS::memcpy((char *)string,(char *)bufp, (int)asn_length); - *strlength = (int)asn_length; - *datalength -= (int)asn_length + (bufp - data); - return bufp + asn_length; -} - - -/* - * build_bitstring - Builds an ASN bit string object containing the - * input string. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the beginning of the next object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char *asn1::build_bitstring( u_char *data, - int *datalength, - u_char type, - u_char *string, - int strlength) -{ - ACE_TRACE("asn1::build_bitstring"); - /* - * ASN.1 bit string ::= 0x03 asnlength unused {byte}* - */ - if (strlength < 1 || *string || *string > 7){ - ASNERROR("Building invalid bitstring"); - return NULL; - } - data = asn1::build_header(data, datalength, type, strlength); - if (data == NULL) - return NULL; - if (*datalength < strlength) - return NULL; - // fixed - ACE_OS::memcpy((char *)data,(char *)string, strlength); - *datalength -= strlength; - return data + strlength; -} - - -/* - * parse_unsigned_int64 - pulls a 64 bit u_long out of an ASN int - * type. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::parse_unsigned_int64(u_char *data, - int *datalength, - u_char *type, - struct counter64 *cp, - int countersize) -{ - ACE_TRACE("asn1::parse_unsigned_int64"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - u_char *bufp = data; - u_long asn_length; - u_long low = 0, high = 0; - int intsize = 4; - - if (countersize != sizeof(struct counter64)){ - ASNERROR("not right size"); - return NULL; - } - *type = *bufp++; - bufp = asn1::parse_length(bufp, &asn_length); - if (bufp == NULL){ - ASNERROR("bad length"); - return NULL; - } - if ((int)(asn_length + (bufp - data)) > *datalength){ - ASNERROR("overflow of message"); - return NULL; - } - if (((int)asn_length > (intsize * 2 + 1)) || - (((int)asn_length == (intsize * 2) + 1) && *bufp != 0x00)){ - ASNERROR("I don't support such large integers"); - return NULL; - } - *datalength -= (int)asn_length + (bufp - data); - if (*bufp & 0x80){ - low = (u_long) -1; // integer is negative - high = (u_long) -1; - } - while(asn_length--){ - high = (high << 8) | ((low & 0xFF000000) >> 24); - low = (low << 8) | *bufp++; - } - cp->low = low; - cp->high = high; - return bufp; -} - - -/* - * build_unsigned_int64 - builds an ASN object containing a 64 bit integer. - * On entry, datalength is input as the number of valid bytes following - * "data". On exit, it is returned as the number of valid bytes - * following the end of this object. - * - * Returns a pointer to the first byte past the end - * of this object (i.e. the start of the next object). - * Returns NULL on any error. - */ -u_char * asn1::build_unsigned_int64( u_char *data, - int *datalength, - u_char type, - struct counter64 *cp, - int countersize) -{ - ACE_TRACE("asn1::build_unsigned_int64"); - /* - * ASN.1 integer ::= 0x02 asnlength byte {byte}* - */ - - u_long low, high; - u_long mask, mask2; - int add_null_byte = 0; - int intsize; - - if (countersize != sizeof (struct counter64)) - return NULL; - intsize = 8; - low = cp->low; - high = cp->high; - mask = 0xFF << (8 * (sizeof(long) - 1)); - /* mask is 0xFF000000 on a big-endian machine */ - if ((u_char)((high & mask) >> (8 * (sizeof(long) - 1))) & 0x80){ - /* if MSB is set */ - add_null_byte = 1; - intsize++; - } - /* - * Truncate "unnecessary" bytes off of the most significant end of this 2's - * complement integer. - * There should be no sequence of 9 consecutive 1's or 0's at the most - * significant end of the integer. - */ - mask2 = 0x1FF << ((8 * (sizeof(long) - 1)) - 1); - /* mask2 is 0xFF800000 on a big-endian machine */ - while((((high & mask2) == 0) || ((high & mask2) == mask2)) - && intsize > 1){ - intsize--; - high = (high << 8) - | ((low & mask) >> (8 * (sizeof(long) - 1))); - low <<= 8; - } - data = asn1::build_header(data, datalength, type, intsize); - if (data == NULL) - return NULL; - if (*datalength < intsize) - return NULL; - *datalength -= intsize; - if (add_null_byte == 1){ - *data++ = '\0'; - intsize--; - } - while(intsize--){ - *data++ = (u_char)((high & mask) >> (8 * (sizeof(long) - 1))); - high = (high << 8) - | ((low & mask) >> (8 * (sizeof(long) - 1))); - low <<= 8; - - } - return data; -} - - -// create a pdu -struct snmp_pdu * cmu_snmp::pdu_create( int command) -{ - ACE_TRACE("cmu_snmp::snmp_pdu_create"); - struct snmp_pdu *pdu; - - ACE_NEW_RETURN(pdu, snmp_pdu, 0); - ACE_OS::memset((char *)pdu, 0,sizeof(struct snmp_pdu)); - pdu->command = command; - pdu->errstat = 0; - pdu->errindex = 0; - pdu->enterprise = NULL; - pdu->enterprise_length = 0; - pdu->variables = NULL; - return pdu; -} - -// release a pdu from memory -void cmu_snmp::free_pdu( struct snmp_pdu *pdu) -{ - ACE_TRACE("cmu_snmp::free_pdu"); - struct variable_list *vp, *ovp; - - vp = pdu->variables; - while(vp){ - // release the oid part - if (vp->name) - delete [] vp->name; - // if deep data, then release as well - if (vp->val.string) - delete [] vp->val.string; - ovp = vp; - // go to the next one - vp = vp->next_variable; - // release up vb itself - delete ovp; - } - // if enterprise release it up - if (pdu->enterprise) - delete [] pdu->enterprise; - // release up pdu itself - delete pdu; -} - - -// add a null var to a pdu -void cmu_snmp::add_var(struct snmp_pdu *pdu, - oid *name, - int name_length, - SmiVALUE *smival) -{ - ACE_TRACE("cmu_snmp::add_var"); - - struct variable_list *vars; - - // if we don't have a vb list ,create one - if (pdu->variables == NULL) { - ACE_NEW(pdu->variables, variable_list); - vars = pdu->variables; - } - else - { // we have one, find the end - for(vars = pdu->variables; vars->next_variable; vars = vars->next_variable); - // create one - ACE_NEW(vars->next_variable, variable_list); - // bump ptr - vars = vars->next_variable; - } - - // add the oid with no data - vars->next_variable = NULL; - - // hook in the Oid portion - ACE_NEW(vars->name, oid[(name_length * sizeof(oid))]); - - // fixed - ACE_OS::memcpy((char *)vars->name,(char *)name, name_length * sizeof(oid)); - vars->name_length = name_length; - - // hook in the SMI value - switch( smival->syntax) - { - // null , do nothing - case sNMP_SYNTAX_NULL: - case sNMP_SYNTAX_NOSUCHOBJECT: - case sNMP_SYNTAX_NOSUCHINSTANCE: - case sNMP_SYNTAX_ENDOFMIBVIEW: - { - vars->type = (u_char) smival->syntax; - vars->val.string = NULL; - vars->val_len = 0; - } - break; - - // octects - case sNMP_SYNTAX_OCTETS: - case sNMP_SYNTAX_OPAQUE: - case sNMP_SYNTAX_IPADDR: - { - vars->type = (u_char) smival->syntax; - ACE_NEW(vars->val.string, - u_char[(unsigned)smival->value.string.len]); - vars->val_len = (int) smival->value.string.len; - ACE_OS::memcpy( (u_char *) vars->val.string, - (u_char *) smival->value.string.ptr, - (unsigned) smival->value.string.len); - } - break; - - // oid - case sNMP_SYNTAX_OID: - { - vars->type = (u_char) smival->syntax; - vars->val_len = (int) smival->value.oid.len * sizeof(oid); - ACE_NEW(vars->val.objid, oid[(unsigned)vars->val_len]); - ACE_OS::memcpy((u_long *)vars->val.objid, - (u_long *)smival->value.oid.ptr, - (unsigned) vars->val_len); - } - break; - - - - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_GAUGE32: - case sNMP_SYNTAX_UINT32: - { - long templong; - vars->type = (u_char) smival->syntax; - ACE_NEW(vars->val.integer, long); - vars->val_len = sizeof(long); - templong = (long) smival->value.uNumber; - ACE_OS::memcpy( (long*) vars->val.integer, - (long*) &templong, - sizeof(long)); - } - break; - - case sNMP_SYNTAX_INT32: - { - long templong; - vars->type = (u_char) smival->syntax; - ACE_NEW(vars->val.integer, long); - vars->val_len = sizeof(long); - templong = (long) smival->value.sNumber; - ACE_OS::memcpy( (long*) vars->val.integer, - (long*) &templong, - sizeof(long)); - } - break; - - // 64 bit counter - case sNMP_SYNTAX_CNTR64: - { - vars->type = ( u_char) smival->syntax; - ACE_NEW(vars->val.counter64, counter64); - vars->val_len = sizeof(struct counter64); - ACE_OS::memcpy( (struct counter64*) vars->val.counter64, - (SmiLPCNTR64) &(smival->value.hNumber), - sizeof( SmiCNTR64)); - } - break; - - } // end switch - -} - -// build the authentication -// works for v1 or v2c -u_char *cmu_snmp::auth_build( u_char *data, - int *length, - long int version, - u_char *community, - int community_len, - int messagelen) -{ - ACE_TRACE("cmu_snmp::auth_build"); - u_char *params; - int plen; - - params = community; - plen = community_len; - - data = asn1::build_sequence(data, - length, - (u_char)(ASN_SEQUENCE | ASN_CONSTRUCTOR), - messagelen + plen + 5); - if (data == NULL){ - ASNERROR("buildheader"); - return NULL; - } - data = asn1::build_int(data, - length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&version, - sizeof(version)); - if (data == NULL){ - ASNERROR("buildint"); - return NULL; - } - - data = asn1::build_string(data, - length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OCTET_STR), - params, - plen ); - if (data == NULL){ - ASNERROR("buildstring"); - return NULL; - } - - return (u_char *)data; -}; - - -// build a variable binding -u_char * cmu_snmp::build_var_op(u_char *data, oid * var_name, - int *var_name_len, - u_char var_val_type, - int var_val_len, u_char *var_val, - int *listlength) - -{ - ACE_TRACE("cmu_snmp::build_var_op"); - int dummyLen, headerLen; - u_char *dataPtr; - - dummyLen = *listlength; - dataPtr = data; - - data += 4; - dummyLen -=4; - if (dummyLen < 0) - return NULL; - - headerLen = data - dataPtr; - *listlength -= headerLen; - data = asn1::build_objid( data, listlength, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OBJECT_ID), - var_name, *var_name_len); - if (data == NULL) { - ASNERROR(""); - return NULL; - } - - // based on the type... - switch(var_val_type) { - case ASN_INTEGER: - data = asn1::build_int( data, listlength, var_val_type, (long *)var_val, - var_val_len); - break; - - case SMI_GAUGE: - case SMI_COUNTER: - case SMI_TIMETICKS: - case SMI_UINTEGER: - data = asn1::build_unsigned_int( data, - listlength, - var_val_type, - (u_long *)var_val, - var_val_len); - break; - - case SMI_COUNTER64: - data = asn1::build_unsigned_int64(data, - listlength, - var_val_type, - (struct counter64 *)var_val, - var_val_len); - break; - - case ASN_OCTET_STR: - case SMI_IPADDRESS: - case SMI_OPAQUE: - case SMI_NSAP: - data = asn1::build_string(data, listlength, var_val_type, - var_val, var_val_len); - break; - - case ASN_OBJECT_ID: - data = asn1::build_objid(data, listlength, var_val_type, - (oid *)var_val, var_val_len / sizeof(oid)); - break; - - case ASN_NULL: - data = asn1::build_null(data, listlength, var_val_type); - break; - - case ASN_BIT_STR: - data = asn1::build_bitstring(data, listlength, var_val_type, - var_val, var_val_len); - break; - - case SNMP_NOSUCHOBJECT: - case SNMP_NOSUCHINSTANCE: - case SNMP_ENDOFMIBVIEW: - data = asn1::build_null(data, listlength, var_val_type); - break; - - default: - ASNERROR("wrong type"); - return NULL; - } - if (data == NULL) { - ASNERROR(""); - return NULL; - } - dummyLen = (data - dataPtr) - headerLen; - - asn1::build_sequence(dataPtr, &dummyLen, - (u_char)(ASN_SEQUENCE | ASN_CONSTRUCTOR), - dummyLen); - return data; -} - - -// serialize the pdu -int cmu_snmp::build( struct snmp_pdu *pdu, u_char *packet, - int *out_length, long version, - u_char* community, int community_len) -{ - ACE_TRACE("cmu_snmp::build"); - u_char buf[SNMP_MSG_LENGTH]; - u_char *cp; - struct variable_list *vp; - int length; - int totallength; - - length = *out_length; - cp = packet; - for(vp = pdu->variables; vp; vp = vp->next_variable) { - cp = cmu_snmp::build_var_op( cp, vp->name, - &vp->name_length, vp->type, - vp->val_len, (u_char *)vp->val.string, - &length); - if (cp == NULL) - return -1; - } - totallength = cp - packet; - - length = SNMP_MSG_LENGTH; - - // encode the total len - cp = asn1::build_header( buf, &length, - (u_char)(ASN_SEQUENCE | ASN_CONSTRUCTOR), - totallength); - if (cp == NULL) - return -1; - ACE_OS::memcpy( (char *)cp, (char *)packet,totallength); - totallength += cp - buf; - - length = *out_length; - if (pdu->command != TRP_REQ_MSG) { - - // request id - cp = asn1::build_int( packet, - &length, - (u_char )(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->reqid, - sizeof(pdu->reqid)); - if (cp == NULL) - return -1; - - // error status - cp = asn1::build_int(cp, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->errstat, sizeof(pdu->errstat)); - if (cp == NULL) - return -1; - - // error index - cp = asn1::build_int(cp, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->errindex, sizeof(pdu->errindex)); - if (cp == NULL) - return -1; - } - else { // this is a trap message - - // enterprise - cp = asn1::build_objid( packet, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OBJECT_ID), - (oid *)pdu->enterprise, - pdu->enterprise_length); - if (cp == NULL) - return -1; - - // agent-addr - cp = asn1::build_string(cp, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OCTET_STR), - (u_char *)&pdu->agent_addr.sin_addr.s_addr, - sizeof(pdu->agent_addr.sin_addr.s_addr)); - if (cp == NULL) - return -1; - - // generic trap - cp = asn1::build_int(cp, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->trap_type, - sizeof(pdu->trap_type)); - if (cp == NULL) - return -1; - - // specific trap - cp = asn1::build_int( cp, - &length, - (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->specific_type, - sizeof(pdu->specific_type)); - if (cp == NULL) - return -1; - - // timestamp - cp = asn1::build_int(cp, - &length, - (u_char )(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), - (long *)&pdu->time, - sizeof(pdu->time)); - if (cp == NULL) - return -1; - } - - if (length < totallength) - return -1; - // fixed - ACE_OS::memcpy((char *)cp, (char *)buf, totallength); - totallength += cp - packet; - - length = SNMP_MSG_LENGTH; - cp = asn1::build_header(buf, - &length, - (u_char)pdu->command, - totallength); - if (cp == NULL) - return -1; - if (length < totallength) - return -1; - // fixed - ACE_OS::memcpy((char *)cp, (char *)packet, totallength); - totallength += cp - buf; - - length = *out_length; - - cp = cmu_snmp::auth_build( packet, - &length, - version, - community, - community_len, - totallength ); - if (cp == NULL) - return -1; - if ((*out_length - (cp - packet)) < totallength) - return -1; - // fixed - ACE_OS::memcpy((char *)cp, (char *)buf, totallength); - totallength += cp - packet; - *out_length = totallength; - - return 0; -} - -// parse the authentication header -u_char *cmu_snmp::auth_parse(u_char *data, - int *length, u_char *sid, - int *slen, long *version) -{ - ACE_TRACE("cmu_snmp::auth_parse"); - u_char type; - - // get the type - data = asn1::parse_header( data, length, &type); - if (data == NULL){ - ASNERROR("bad header"); - return NULL; - } - - if (type != (ASN_SEQUENCE | ASN_CONSTRUCTOR)) { - ASNERROR("wrong auth header type"); - return NULL; - } - - // get the version - data = asn1::parse_int(data, length, &type, version, sizeof(*version)); - if (data == NULL) { - ASNERROR("bad parse of version"); - return NULL; - } - - // get the community name - data = asn1::parse_string(data, length, &type, sid, slen); - if (data == NULL) { - ASNERROR("bad parse of community"); - return NULL; - } - - return (u_char *)data; -} - -/* u_char *data, // IN - pointer to the start of object - oid *var_name, // OUT - object id of variable - int *var_name_len, // IN/OUT - length of variable name - u_char *var_val_type, // OUT - type of variable - (int or octet string) (one byte) - int *var_val_len, // OUT - length of variable - u_char **var_val, // OUT - pointer to ASN1 encoded value of variable -*/ - -u_char * -cmu_snmp::parse_var_op( u_char *data, oid *var_name, - int *var_name_len, u_char *var_val_type, - int *var_val_len, u_char **var_val, - int *listlength) -{ - ACE_TRACE("cmu_snmp::parse_var_op"); - u_char var_op_type; - int var_op_len = *listlength; - u_char *var_op_start = data; - - data = asn1::parse_header(data, &var_op_len, &var_op_type); - if (data == NULL){ - ASNERROR(""); - return NULL; - } - if (var_op_type != (u_char)(ASN_SEQUENCE | ASN_CONSTRUCTOR)) - return NULL; - data = asn1::parse_objid(data, &var_op_len, &var_op_type, var_name, var_name_len); - if (data == NULL) { - ASNERROR(""); - return NULL; - } - if (var_op_type != (u_char) - (ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OBJECT_ID)) - return NULL; - *var_val = data; /* save pointer to this object */ - /* find out what type of object this is */ - data = asn1::parse_header(data, &var_op_len, var_val_type); - if (data == NULL) { - ASNERROR(""); - return NULL; - } - *var_val_len = var_op_len; - data += var_op_len; - *listlength -= (int)(data - var_op_start); - return data; -} - - - -// build a pdu from a data and length -int cmu_snmp::parse( struct snmp_pdu *pdu, - u_char *data, - u_char *community_name, - u_long &community_len, - snmp_version &spp_version, - int length) -{ - ACE_TRACE("cmu_snmp::parse"); - u_char msg_type; - u_char type; - u_char *var_val; - long version; - int len, four; - u_char community[256]; - int community_length = 256; - struct variable_list *vp = 0; - oid objid[MAX_NAME_LEN], *op; - - // authenticates message and returns length if valid - data = cmu_snmp::auth_parse(data, - &length, - community, - &community_length, - &version); - if (data == NULL) - return -1; - - // copy the returned community name - ACE_OS::memcpy( (u_char *) community_name, - (u_char *) community, - community_length); - community_len = (long) community_length; - - if( version != SNMP_VERSION_1 && version != SNMP_VERSION_2C ) { - ASNERROR("Wrong version"); - return -1; - } - - spp_version = (snmp_version) version; - - data = asn1::parse_header(data, - &length, - &msg_type); - if (data == NULL) - return -1; - pdu->command = msg_type; - - if (pdu->command != TRP_REQ_MSG){ - // get the rid - data = asn1::parse_int(data, - &length, &type, - (long *)&pdu->reqid, - sizeof(pdu->reqid)); - if (data == NULL) - return -1; - // get the error status - data = asn1::parse_int(data, - &length, - &type, - (long *)&pdu->errstat, - sizeof(pdu->errstat)); - if (data == NULL) - return -1; - // get the error index - data = asn1::parse_int(data, - &length, - &type, - (long *)&pdu->errindex, - sizeof(pdu->errindex)); - if (data == NULL) - return -1; - } - else { // is a trap - - // get the enterprise - pdu->enterprise_length = MAX_NAME_LEN; - data = asn1::parse_objid(data, - &length, - &type, - objid, - &pdu->enterprise_length); - if (data == NULL) - return -1; - - ACE_NEW_RETURN(pdu->enterprise, - oid[pdu->enterprise_length*sizeof(oid)],-1); - - // fixed - ACE_OS::memcpy((char *)pdu->enterprise,(char *)objid, - pdu->enterprise_length * sizeof(oid)); - - // get source address - four = 4; - data = asn1::parse_string(data, &length, &type, - (u_char *)&pdu->agent_addr.sin_addr.s_addr, - &four); - if (data == NULL) - return -1; - - // get trap type - data = asn1::parse_int(data, &length, &type, (long *)&pdu->trap_type, - sizeof(pdu->trap_type)); - if (data == NULL) - return -1; - - // trap type - data = asn1::parse_int(data, &length, &type, (long *)&pdu->specific_type, - sizeof(pdu->specific_type)); - if (data == NULL) - return -1; - - // timestamp - data = asn1::parse_int(data, &length, &type, (long *)&pdu->time, - sizeof(pdu->time)); - if (data == NULL) - return -1; - } - - // get the vb list - data = asn1::parse_header(data, &length, &type); - if (data == NULL) - return -1; - - if (type != (u_char)(ASN_SEQUENCE | ASN_CONSTRUCTOR)) - return -1; - - while((int)length > 0) { - if (pdu->variables == NULL) { - ACE_NEW_RETURN(pdu->variables, variable_list, -1); - vp = pdu->variables; - } else { - ACE_NEW_RETURN(vp->next_variable, variable_list, -1); - vp = vp->next_variable; - } - vp->next_variable = NULL; - vp->val.string = NULL; - vp->name = NULL; - vp->name_length = MAX_NAME_LEN; - data = cmu_snmp::parse_var_op( data, objid, - &vp->name_length, &vp->type, - &vp->val_len, &var_val, - (int *)&length); - if (data == NULL) - return -1; - - ACE_NEW_RETURN(op, oid[(unsigned)vp->name_length * sizeof(oid)], -1); - - // fixed - ACE_OS::memcpy((char *)op, (char *)objid, vp->name_length * sizeof(oid)); - vp->name = op; - - len = SNMP_MSG_LENGTH; - switch((short)vp->type) { - case ASN_INTEGER: - case SMI_COUNTER: - case SMI_GAUGE: - case SMI_TIMETICKS: - case SMI_UINTEGER: - ACE_NEW_RETURN(vp->val.integer,long, -1); - vp->val_len = sizeof(long); - asn1::parse_int(var_val, &len, &vp->type, (long *)vp->val.integer, sizeof(vp->val.integer)); - break; - case SMI_COUNTER64: - ACE_NEW_RETURN(vp->val.counter64, counter64, -1); - vp->val_len = sizeof(struct counter64); - asn1::parse_unsigned_int64(var_val, &len, &vp->type, - (struct counter64 *)vp->val.counter64, - sizeof(*vp->val.counter64)); - break; - - case ASN_OCTET_STR: - case SMI_IPADDRESS: - case SMI_OPAQUE: - case SMI_NSAP: - ACE_NEW_RETURN(vp->val.string, u_char[(unsigned)vp->val_len + 1], -1); - asn1::parse_string(var_val, &len, &vp->type, vp->val.string, - &vp->val_len); - break; - - case ASN_OBJECT_ID: - vp->val_len = MAX_NAME_LEN; - asn1::parse_objid(var_val, &len, &vp->type, objid, &vp->val_len); - //vp->val_len *= sizeof(oid); - - ACE_NEW_RETURN(vp->val.objid, oid[(unsigned)vp->val_len*sizeof(oid)], -1); - - // fixed - ACE_OS::memcpy((char *)vp->val.objid, - (char *)objid, - vp->val_len * sizeof(oid)); - break; - - case SNMP_NOSUCHOBJECT: - case SNMP_NOSUCHINSTANCE: - case SNMP_ENDOFMIBVIEW: - case ASN_NULL: - break; - default: - ASNERROR("bad type returned "); - break; - } - } - return 0; -} - - - diff --git a/ASNMP/asnmp/asn1.h b/ASNMP/asnmp/asn1.h deleted file mode 100644 index d1a644e8890..00000000000 --- a/ASNMP/asnmp/asn1.h +++ /dev/null @@ -1,336 +0,0 @@ -/* -*-C++-*- */ -#ifndef ASN1 -#define ASN1 -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// asn1.h -// -// = DESCRIPTION -// Abstract Syntax Notation One, ASN.1 -// As defined in ISO/IS 8824 and ISO/IS 8825 -// This implements a subset of the above International Standards that -// is sufficient to implement SNMP. -// -// = AUTHOR -// Steve Waldbusser/CMU ? -// -// ============================================================================ - -/********************************************************************** - Copyright 1988, 1989, 1991, 1992 by Carnegie Mellon University - - All Rights Reserved - -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 and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of CMU not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. -******************************************************************/ - -#include "ace/OS.h" -#include "asnmp/snmp.h" - -// CMU code to define "oid" typedef (old C style) -#ifndef EIGHTBIT_SUBIDS -typedef unsigned long oid; -#define MAX_SUBID 0xFFFFFFFF -#else -typedef unsigned char oid; -#define MAX_SUBID 0xFF -#endif - -#define MAX_OID_LEN 64 /* max subid's in an oid */ - - -// asn.1 values -#define ASN_BOOLEAN (0x01) -#define ASN_INTEGER (0x02) -#define ASN_BIT_STR (0x03) -#define ASN_OCTET_STR (0x04) -#define ASN_NULL (0x05) -#define ASN_OBJECT_ID (0x06) -#define ASN_SEQUENCE (0x10) -#define ASN_SET (0x11) -#define ASN_UNIVERSAL (0x00) -#define ASN_APPLICATION (0x40) -#define ASN_CONTEXT (0x80) -#define ASN_PRIVATE (0xC0) -#define ASN_PRIMITIVE (0x00) -#define ASN_CONSTRUCTOR (0x20) -#define ASN_LONG_LEN (0x80) -#define ASN_EXTENSION_ID (0x1F) -#define ASN_BIT8 (0x80) - -#define IS_CONSTRUCTOR(byte) ((byte) & ASN_CONSTRUCTOR) -#define IS_EXTENSION_ID(byte) (((byte) & ASN_EXTENSION_ID) == ASN_EXTENSION_ID) - -#define ASNERROR( string) -#define MAX_NAME_LEN 64 -#define SNMP_VERSION_1 0 -#define SNMP_VERSION_2C 1 - - -// defined types (from the SMI, RFC 1065) -#define SMI_IPADDRESS (ASN_APPLICATION | 0) -#define SMI_COUNTER (ASN_APPLICATION | 1) -#define SMI_GAUGE (ASN_APPLICATION | 2) -#define SMI_TIMETICKS (ASN_APPLICATION | 3) -#define SMI_OPAQUE (ASN_APPLICATION | 4) -#define SMI_NSAP (ASN_APPLICATION | 5) -#define SMI_COUNTER64 (ASN_APPLICATION | 6) -#define SMI_UINTEGER (ASN_APPLICATION | 7) - -#define GET_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0) -#define GETNEXT_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1) -#define GET_RSP_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2) -#define SET_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3) -#define TRP_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4) - -#define GETBULK_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5) -#define INFORM_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6) -#define TRP2_REQ_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7) -#define REPORT_MSG (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x8) - -#define SNMP_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x0) -#define SNMP_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x1) -#define SNMP_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x2) - -#define SNMP_MSG_LENGTH 1500 - -typedef struct sockaddr_in ipaddr; - -// pdu -struct snmp_pdu { - int command; // pdu type - unsigned long reqid; // Request id - unsigned long errstat; // Error status - unsigned long errindex; // Error index - - // Trap information - oid *enterprise; // System OID - int enterprise_length; - ipaddr agent_addr; // address of object generating trap - int trap_type; // trap type - int specific_type; // specific type - unsigned long time; // Uptime - - // vb list - struct variable_list *variables; -}; - -// vb list -struct variable_list { - struct variable_list *next_variable; // NULL for last variable - oid *name; // Object identifier of variable - int name_length; // number of subid's in name - unsigned char type; // ASN type of variable - union { // value of variable - long *integer; - unsigned char *string; - oid *objid; - unsigned char *bitstring; - struct counter64 *counter64; - } val; - int val_len; -}; - -struct counter64 { - unsigned long high; - unsigned long low; -}; - -// CMU Interface class for ASN.1 routines -class ACE_Export asn1 - // = TITLE - // Defines the member functions for the asn1 concrete interface class - // CMU routines for performing ASN.1 data marshalling / representation - -{ -public: -static unsigned char *parse_int( unsigned char *data, - int *datalength, - unsigned char *type, - long int *intp, - int intsize); -static unsigned char *parse_unsigned_int( unsigned char *data, - int *datalength, - unsigned char *type, - unsigned long *intp, - int intsize); -static unsigned char *build_int( unsigned char *data, - int *datalength, - unsigned char type, - long *intp, - int intsize); - -static unsigned char *build_unsigned_int( unsigned char *data, - int *datalength, - unsigned char type, - unsigned long *intp, - int intsize); - -static unsigned char *parse_string( unsigned char *data, - int *datalength, - unsigned char *type, - unsigned char *string, - int *strlength); - -static unsigned char *build_string( unsigned char *data, - int *datalength, - unsigned char type, - unsigned char *string, - int strlength); - -static unsigned char *parse_header( unsigned char *data, - int *datalength, - unsigned char *type); - -static unsigned char * build_header( unsigned char *data, - int *datalength, - unsigned char type, - int length); - -static unsigned char * build_sequence( unsigned char *data, - int *datalength, - unsigned char type, - int length); - -static unsigned char * parse_length( unsigned char *data, - unsigned long *length); - -static unsigned char *build_length( unsigned char *data, - int *datalength, - int length); - -static unsigned char *build_objid( unsigned char *data, - int *datalength, - unsigned char type, - oid *objid, - int objidlength); - -static unsigned char *parse_objid( unsigned char *data, - int *datalength, - unsigned char *type, - oid *objid, - int *objidlength); - -static unsigned char *parse_null(unsigned char *data, - int *datalength, unsigned - char *type); - -static unsigned char *build_null( unsigned char *data, - int *datalength, - unsigned char type); - -static unsigned char *parse_bitstring( unsigned char *data, - int *datalength, - unsigned char *type, - unsigned char *string, - int *strlength); - -static unsigned char *build_bitstring( unsigned char *data, - int *datalength, - unsigned char type, - unsigned char *string, - int strlength); - -static unsigned char * parse_unsigned_int64(unsigned char *data, - int *datalength, - unsigned char *type, - struct counter64 *cp, - int countersize); - -static unsigned char * build_unsigned_int64( unsigned char *data, - int *datalength, - unsigned char type, - struct counter64 *cp, - int countersize); - -}; - - -// CMU Interface class for SNMPv1, SNMPv2c routines -class ACE_Export cmu_snmp - // = TITLE - // Defines the static functions for the cmu_snmp concrete class. - // These routine create cmu pdu's that can be sent/received on/from agents -{ - public: - static struct snmp_pdu *pdu_create( int command); - static void free_pdu( struct snmp_pdu *pdu); - static int build( struct snmp_pdu *pdu, - unsigned char *packet, - int *out_length, - long version, - unsigned char* community, - int community_len); - - static void add_var(struct snmp_pdu *pdu, - oid *name, - int name_length, - SmiVALUE *smival); - - static int parse( struct snmp_pdu *pdu, - unsigned char *data, - unsigned char *community_name, - unsigned long &community_len, - snmp_version &version, - int length); - static unsigned char *auth_build( unsigned char *data, - int *length, - long int version, - unsigned char *community, - int community_len, - int messagelen); - - static unsigned char *build_var_op(unsigned char *data, - oid * var_name, - int *var_name_len, - unsigned char var_val_type, - int var_val_len, - unsigned char *var_val, - int *listlength); - - -static unsigned char *auth_parse(unsigned char *data, - int *length, - unsigned char *sid, - int *slen, - long *version); - -/* - @params data, IN - pointer to the start of object - var_name OUT - object id of variable - var_name_len IN/OUT - length of variable name - var_val_type OUT - type of variable (int or octet string) (one byte) - var_val_len OUT - length of variable - var_val, OUT - pointer to ASN1 encoded value of variable - listlength IN/OUT - number of valid bytes left in var_op_list -*/ -static unsigned char *parse_var_op( unsigned char *data, - oid *var_name, - int *var_name_len, - unsigned char *var_val_type, - int *var_val_len, - unsigned char **var_val, - int *listlength); - -}; - -#endif // ASN1 - diff --git a/ASNMP/asnmp/counter.cpp b/ASNMP/asnmp/counter.cpp deleted file mode 100644 index 1dc36008fce..00000000000 --- a/ASNMP/asnmp/counter.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// counter.cpp -// -// = DESCRIPTION -// Class implementation for SMI Counter32 class. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/counter.h" - -// constructor with a value -Counter32::Counter32( const unsigned long i):SnmpUInt32(i) -{ - smival.syntax = sNMP_SYNTAX_CNTR32; -} - -// copy constructor -Counter32::Counter32( const Counter32 &c) -{ - this->smival.value.uNumber = c.smival.value.uNumber; - smival.syntax = sNMP_SYNTAX_CNTR32; - valid_flag = 1; -} - -// syntax type -SmiUINT32 Counter32::get_syntax() -{ - return sNMP_SYNTAX_CNTR32; -} - -// general assignment from any Value -SnmpSyntax& Counter32::operator=( SnmpSyntax &in_val){ - if ( this == &in_val ) // handle assignement from itself - return *this; - - valid_flag = 0; // will get set true if really valid - if (in_val.valid()) - { - switch (in_val.get_syntax()) - { - case sNMP_SYNTAX_UINT32: - // case sNMP_SYNTAX_GAUGE32: .. indistinquishable from UINT32 - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_INT32: // implied cast int -> uint - this->smival.value.uNumber = - ((Counter32 &)in_val).smival.value.uNumber; - valid_flag = 1; - break; - } - } - return *this; -} - -// overloaded assignment -Counter32& Counter32::operator=( const unsigned long int i) -{ - this->smival.value.uNumber=i; - return *this; -} - -// overloaded assignment -Counter32& Counter32::operator=( const Counter32 &uli) -{ - this->smival.value.uNumber = uli.smival.value.uNumber; - return *this; -} - -// otherwise, behave like an unsigned long int -Counter32::operator unsigned long() -{ - return this->smival.value.uNumber; -} - -// clone -SnmpSyntax * Counter32::clone() const -{ - return ( SnmpSyntax *) new Counter32(*this); -} - diff --git a/ASNMP/asnmp/counter.h b/ASNMP/asnmp/counter.h deleted file mode 100644 index 368cf983c90..00000000000 --- a/ASNMP/asnmp/counter.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-C++-*- */ -#ifndef _COUNTER -#define _COUNTER -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// counter.h -// -// = DESCRIPTION -// Class definition for SMI Counter32 class. -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/smival.h" -#include "asnmp/integer.h" - -//------------[ Counter32 Class ]------------------------------------------ -// The counter class allows all the functionality of unsigned -// 32 bit integers but is recognized as a distinct SMI type. Counter32 -// class objects may be set or get into Vb objects. -// -// This class does not behave as defined by the abstract model -// in RFC 1155 section 3.2.3.3 - -class ACE_Export Counter32: public SnmpUInt32 - // = TITLE - // Defines the member functions for the Counter32 concrete class - // This class implements RFC 1155 Counter Object and is named - // Counter32 after the RFC1902 redefinition of V1 SMI datatypes -{ - public: - Counter32( const unsigned long i = 0); - // constructor with a value - - Counter32( const Counter32 &c); - // copy constructor - - SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - Counter32& operator=( const Counter32 &uli); - // overloaded assignment - - Counter32& operator=( const unsigned long i); - // overloaded assignment - - operator unsigned long(); - // otherwise, behave like an unsigned long int -}; - -#endif // _COUNTER diff --git a/ASNMP/asnmp/ctr64.cpp b/ASNMP/asnmp/ctr64.cpp deleted file mode 100644 index 799ba76b83f..00000000000 --- a/ASNMP/asnmp/ctr64.cpp +++ /dev/null @@ -1,209 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// ctr64.cpp -// -// = DESCRIPTION -// Implementation for Counter64 ( 64 bit counter class). -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/ctr64.h" - -#define MAX32 4294967295 - -//-----------[ syntax type ]---------------------------------------------- -SmiUINT32 Counter64::get_syntax() -{ - return sNMP_SYNTAX_CNTR64; -} - -//------------------[ constructor with values ]-------------------------- -Counter64::Counter64( unsigned long hiparm, unsigned long loparm) -{ - smival.syntax = sNMP_SYNTAX_CNTR64; - smival.value.hNumber.hipart = hiparm; - smival.value.hNumber.lopart = loparm; -} - -//------------------[ constructor with low value only ]------------------ -Counter64::Counter64( unsigned long long llw ) -{ - smival.syntax = sNMP_SYNTAX_CNTR64; - smival.value.hNumber.hipart = (unsigned long) (llw >> 32); - smival.value.hNumber.lopart = (unsigned long) llw & 0xffffffff; -} - -//------------------[ copy constructor ]--------------------------------- -Counter64::Counter64( const Counter64 &ctr64 ) -{ - smival.syntax = sNMP_SYNTAX_CNTR64; - smival.value.hNumber.hipart = ctr64.high(); - smival.value.hNumber.lopart = ctr64.low(); -} - -//------------------[ destructor ]--------------------------------- -Counter64::~Counter64() -{ -} - - -//------------------[ Counter64::high() ]------------------------------ -// return the high part -unsigned long Counter64::high() const -{ - return smival.value.hNumber.hipart; -} - - -//------------------[ Counter64::low() ]------------------------------- -// return the low part -unsigned long Counter64::low() const -{ - return smival.value.hNumber.lopart; -} - -//------------------[ set_high( const unsigned long h) ]----------- -// set the high part -void Counter64::set_high( const unsigned long h) -{ - smival.value.hNumber.hipart = h; -} - -//------------------[ set_low( const unsigned long l) ]------------ -// set the low part -void Counter64::set_low( const unsigned long l) -{ - smival.value.hNumber.lopart = l; -} - - -//-----------[ to_long_double( Counter64 c64) ]----------------------------- -// convert a Counter 64 to a long double -long double Counter64::to_long_double() const -{ - long double ld = this->high(); - ld *= MAX32; - ld += this->low(); - return ld; -} - - -//-----------[ ld_to_c64( long double ld) ]---------------------------- -// convert a long double to a Counter64 -// semantics changed from prior version -Counter64& Counter64::assign( long double ld) -{ - smival.syntax = sNMP_SYNTAX_CNTR64; - unsigned long h = smival.value.hNumber.hipart = (unsigned long)(ld / MAX32); - smival.value.hNumber.lopart = (unsigned long)(ld - h); - return *this; -} - -//----------------[ general Value = operator ]--------------------- -SnmpSyntax& Counter64::operator=( SnmpSyntax &val) -{ - // protect against assignment from itself - if ( this == &val ) - return *this; - - smival.value.hNumber.lopart = 0; // pessimsitic - assume no mapping - smival.value.hNumber.hipart = 0; - - // try to make assignment valid - if (val.valid()){ - switch (val.get_syntax()){ - case sNMP_SYNTAX_CNTR64: - smival.value.hNumber.hipart = - ((Counter64 &)val).smival.value.hNumber.hipart; - smival.value.hNumber.lopart = - ((Counter64 &)val).smival.value.hNumber.lopart; - break; - - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_GAUGE32: - // case sNMP_SYNTAX_UINT32: .. indistinguishable from GAUGE32 - case sNMP_SYNTAX_INT32: - // take advantage of union... - smival.value.hNumber.lopart = ((Counter64 &)val).smival.value.uNumber; - smival.value.hNumber.hipart = 0; - break; - } - } - return *this; -} - -// overloaded assignment -Counter64& Counter64::operator=( const unsigned long long rhs) -{ - smival.value.hNumber.hipart = (unsigned long) (rhs >> 32); - smival.value.hNumber.lopart = (unsigned long) rhs; - return *this; -} - -// overloaded assignment -Counter64& Counter64::operator=( const Counter64 &rhs) -{ - smival.value.hNumber.hipart = rhs.high(); - smival.value.hNumber.lopart = rhs.low(); - return *this; -} - -// otherwise, behave like an unsigned long int -Counter64::operator unsigned long long() -{ - unsigned long long val = smival.value.hNumber.hipart; - val = val << 32; // shift right 4 bytes - val |= smival.value.hNumber.lopart; - return val; -} - -//----------------[ Counter64::clone() ]----------------------------------- -// create a new instance of this Value -SnmpSyntax* Counter64::clone() const -{ - return ( SnmpSyntax *) new Counter64(*this); -} - -//----------------[ Counter64::valid() ]------------------------------------- -int Counter64::valid() const -{ - return 1; -} - -//----------[ return ASCII format ]------------------------- -// TODO: Fix up to do real 64bit decimal value printing... -// For now, print > 32-bit values in hex -char * Counter64::to_string() -{ - if ( high() != 0 ) - sprintf(output_buffer, "0x%X%08X", - (unsigned int)high(), (unsigned int)low()); - else - sprintf(output_buffer, "%d", (int) low()); - return output_buffer; -} - diff --git a/ASNMP/asnmp/ctr64.h b/ASNMP/asnmp/ctr64.h deleted file mode 100644 index f64bffce690..00000000000 --- a/ASNMP/asnmp/ctr64.h +++ /dev/null @@ -1,109 +0,0 @@ -/* -*-C++-*- */ -#ifndef CTR64_ -#define CTR64_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// ctr64.h -// -// = DESCRIPTION -// SNMP Counter64 class definition. -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/smival.h" - -#define CTR64OUTBUF 30 // maximum ascii string for a 64-bit ctr - - -//---------[ 64 bit Counter Class ]-------------------------------- -// Counter64 Class encapsulates two unsigned integers into a -// a single entity. This type has is available in SNMPv2 but -// may be used anywhere where needed. -// -class ACE_Export Counter64: public SnmpSyntax - // = TITLE - // Defines the member functions for the Counter64 concrete class - // This class implements RFC 1902 64 bit Counter Object. -{ -public: - Counter64( unsigned long long llw = 0); - // default constructor - - Counter64( unsigned long hiparm, unsigned long loparm); - // constructor with values - - Counter64( const Counter64 &ctr64); - // copy constructor - - ~Counter64(); - // destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden) - - SmiUINT32 get_syntax(); - // syntax type - - long double to_long_double() const; - // return a long double representation - - Counter64& assign( long double ld); - // assign a long double to a counter64 - - unsigned long high() const; - // return the high part - - unsigned long low() const; - // return the low part - - void set_high( const unsigned long h); - // set the high part - - void set_low( const unsigned long l); - // set the low part - - Counter64& operator=( const unsigned long long rhs); - // overloaded assignment - - Counter64& operator=( const Counter64 &rhs); - // overloaded assignment - - char *to_string(); - // get a printable ASCII representation - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - int valid() const; - // general validity test, always true - - operator unsigned long long(); - // otherwise, behave like an unsigned long long - -protected: - char output_buffer[CTR64OUTBUF]; -}; - -#endif // CTR64_ diff --git a/ASNMP/asnmp/enttraps.h b/ASNMP/asnmp/enttraps.h deleted file mode 100644 index 66d095c8cbe..00000000000 --- a/ASNMP/asnmp/enttraps.h +++ /dev/null @@ -1,117 +0,0 @@ -/* -*-C++-*- */ -#ifndef ENTTRAPS_ -#define ENTTRAPS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// enttraps.cpp -// -// = DESCRIPTION -// constants for Enterprise Traps -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/asn1.h" // ASN.1 header file - -//--------------[ well known trap ids ]----------------------------------- -class ACE_Export snmpTrapsOid: public Oid - // = TITLE - // Defines the member functions for the snmpTrapsOid base class - // to implement the traps defined in RFC 1215 -{ - public: - snmpTrapsOid (void):Oid("1.3.6.1.6.3.1.1.5"){} -}; - -class ACE_Export snmpTrapEnterpriseOid: public Oid - // = TITLE - // Defines the default Enterprise Oid for this software package -{ - public: - snmpTrapEnterpriseOid(void): Oid("1.3.6.1.6.3.1.1.4.3.0") { } -}; - -class ACE_Export coldStartOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 agent cold start generic trap (system reboot) -{ - public: - coldStartOid( void){*this+=".1";} -}; - -class ACE_Export warmStartOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 agent warm start generic trap (agent reboot) -{ - public: - warmStartOid( void){*this+=".2";} -}; - -class ACE_Export linkDownOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 interface (link) down trap -{ - public: - linkDownOid( void){*this+=".3";} -}; - - -// SMI LinkUp Oid -class ACE_Export linkUpOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 interface (link) up trap -{ - public: - linkUpOid( void){*this+=".4";} -}; - -class ACE_Export authenticationFailureOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 device/agent invalid access trap -{ - public: - authenticationFailureOid( void){*this+=".5";} -}; - -class ACE_Export egpNeighborLossOid: public snmpTrapsOid - // = TITLE - // Defines the RFC 1215 Exterior Gateway Protocol neighbor loss trap -{ - public: - egpNeighborLossOid( void){*this+=".6";} -}; - -#ifdef DEFINE_TRAP_CONSTANTS_ - -const coldStartOid coldStart; -const warmStartOid warmStart; -const linkDownOid linkDown; -const linkUpOid linkUp; -const authenticationFailureOid authenticationFailure; -const egpNeighborLossOid egpNeighborLoss; -const snmpTrapEnterpriseOid snmpTrapEnterprise; - -#endif - -#endif // ENTTRAPS_ diff --git a/ASNMP/asnmp/gauge.cpp b/ASNMP/asnmp/gauge.cpp deleted file mode 100644 index 560d0bf929f..00000000000 --- a/ASNMP/asnmp/gauge.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// gauge.cpp -// -// = DESCRIPTION -// Class implemtation for SMI Gauge32 class. -// NOTES: This does not behave exactly as a Gauge described in RFC 1155 -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/gauge.h" // header file for gauge class - -// constructor with a value -Gauge32::Gauge32( const unsigned long i):SnmpUInt32(i) -{ - smival.syntax = sNMP_SYNTAX_GAUGE32; -} - -// copy constructor -Gauge32::Gauge32 ( const Gauge32 &g) -{ this->smival.value.uNumber = g.smival.value.uNumber; - smival.syntax = sNMP_SYNTAX_GAUGE32; - valid_flag = 1; -} - -// destructor -Gauge32::~Gauge32() -{ -} - -// syntax type -SmiUINT32 Gauge32::get_syntax() -{ - return sNMP_SYNTAX_GAUGE32; -} - -// overloaded assignment -Gauge32& Gauge32::operator=( const Gauge32 &uli) -{ - this->smival.value.uNumber = uli.smival.value.uNumber; - return *this; -} - -// overloaded assignment -Gauge32& Gauge32::operator=( const unsigned long int i) -{ - smival.value.uNumber=i; return *this; -} - -// general assignment from any Value -// TODO: this is broken if not inherited from UInt32 (see UInt32 code). -SnmpSyntax& Gauge32::operator=( SnmpSyntax &in_val) -{ - - if ( this == &in_val ) // handle assignement from itself - return *this; - - valid_flag = 0; // will get set true if really valid - if (in_val.valid()) - { - switch (in_val.get_syntax()) - { - case sNMP_SYNTAX_UINT32: - case sNMP_SYNTAX_GAUGE32: - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_INT32: // implied cast int -> uint - this->smival.value.uNumber = - ((Gauge32 &)in_val).smival.value.uNumber; - valid_flag = 1; - break; - } - } - return *this; -} - -// otherwise, act as unsigned long -Gauge32::operator unsigned long() -{ - return smival.value.uNumber; -} - -// clone - create a new instance of this Value -SnmpSyntax* Gauge32::clone() const -{ - return ( SnmpSyntax *) new Gauge32(*this); -} - diff --git a/ASNMP/asnmp/gauge.h b/ASNMP/asnmp/gauge.h deleted file mode 100644 index fd5f1232b79..00000000000 --- a/ASNMP/asnmp/gauge.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*-C++-*- */ -#ifndef GAUGE_ -#define GAUGE_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// gauge32.cpp -// -// = DESCRIPTION -// Class definition for SMI Gauge32 class. -// This class currently does not behave as defined by the abstract model -// in RFC 1155 section 3.2.3.4 (ie the value doesn't latch on the max value) -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/integer.h" - -//------------[ Gauge32 Class ]------------------------------------------ -// The gauge class allows all the functionality of unsigned -// integers but is recognized as a distinct SMI type. Gauge32 -// objects may be set or get into Vb objects. -// - -class ACE_Export Gauge32: public SnmpUInt32 - // = TITLE - // Define RFC1902 Gauge datatype from RFC 1155 section 3.2.3.4 - // Note that this datatype does not behave exactly (acts like a long) -{ - public: - Gauge32( const unsigned long i = 0); - // constructor with a value - - Gauge32 ( const Gauge32 &g); - // copy constructor - - ~Gauge32(); - // destructor for a Gauge32 (ensure that Value::~Value() is overridden) - - SmiUINT32 get_syntax(); - // syntax type - - SnmpSyntax *clone() const; - // create a new instance of this Value - - Gauge32& operator=( const Gauge32 &uli); - // overloaded assignment - - Gauge32& operator=( const unsigned long i); - // overloaded assignment - - operator unsigned long(); - // otherwise, behave like an unsigned int - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value -}; -#endif //GAUGE_ - diff --git a/ASNMP/asnmp/integer.cpp b/ASNMP/asnmp/integer.cpp deleted file mode 100644 index dacee4ffab6..00000000000 --- a/ASNMP/asnmp/integer.cpp +++ /dev/null @@ -1,225 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// integer.cpp -// -// = DESCRIPTION -// Class implemtation for SMI Integer classes. -// -// = AUTHOR -// Jeff Meyer -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/integer.h" // header file for gauge class - -// constructor with value -SnmpUInt32::SnmpUInt32 (const u_long i) -{ - smival.value.uNumber=i; - smival.syntax = sNMP_SYNTAX_UINT32; - valid_flag = 1; -} - -// copy constructor -SnmpUInt32::SnmpUInt32( const SnmpUInt32 &c) -{ - smival.value.uNumber=c.smival.value.uNumber; - smival.syntax = sNMP_SYNTAX_UINT32; - valid_flag = 1; -} - -// destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden) -SnmpUInt32::~SnmpUInt32() -{ -} - -// syntax type -SmiUINT32 SnmpUInt32::get_syntax() -{ - return sNMP_SYNTAX_UINT32; -} - -// object validity -int SnmpUInt32::valid( void) const -{ - return valid_flag; -} - -// overloaded assignment -SnmpUInt32& SnmpUInt32::operator=( const unsigned long int i) -{ - smival.value.uNumber=i; - valid_flag = 1; - return *this; -} - -// general assignment from any Value -SnmpSyntax& SnmpUInt32::operator=( SnmpSyntax &in_val) -{ - if ( this == &in_val ) // handle assignement from itself - return *this; - - valid_flag = 0; // will get set true if really valid - if (in_val.valid()) - { - switch (in_val.get_syntax()) - { - case sNMP_SYNTAX_UINT32: - // case sNMP_SYNTAX_GAUGE32: .. indistinquishable from UINT32 - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_INT32: // implied cast int -> uint - this->smival.value.uNumber = - ((SnmpUInt32 &)in_val).smival.value.uNumber; - valid_flag = 1; - break; - } - } - return *this; -} - -// overloaded assignment -SnmpUInt32& SnmpUInt32::operator=( const SnmpUInt32 &uli) -{ - this->smival.value.uNumber = uli.smival.value.uNumber; return *this; -} - -// otherwise, behave like an unsigned long int -SnmpUInt32::operator unsigned long() -{ - return smival.value.uNumber; -} - -// create a new instance of this Value -SnmpSyntax* SnmpUInt32::clone() const -{ - return (SnmpSyntax *) new SnmpUInt32(*this); -} - -// ASCII format return -char * SnmpUInt32::to_string() -{ - sprintf(output_buffer, "%d", (int) (this->smival.value.uNumber)); - return output_buffer; -} - - -//==================================================================== -// INT 32 Implementation -//==================================================================== - -// default constructor -SnmpInt32::SnmpInt32 (const long i) -{ - smival.value.sNumber=i; - smival.syntax = sNMP_SYNTAX_INT32; - valid_flag = 1; -} - -// constructor with value -SnmpInt32::SnmpInt32 (const SnmpInt32 &c) -{ - smival.value.sNumber=c.smival.value.sNumber; - smival.syntax = sNMP_SYNTAX_INT32; - valid_flag = 1; -} - -// destructor -SnmpInt32::~SnmpInt32() -{ -} - -// syntax type -SmiUINT32 SnmpInt32::get_syntax() -{ - return sNMP_SYNTAX_INT32; -} - -// object validity -int SnmpInt32::valid( void) const -{ - return valid_flag; -} - -// overloaded assignment -SnmpInt32& SnmpInt32::operator=( const long i) -{ - this->smival.value.sNumber = (unsigned long) i; - valid_flag = 1; - return *this; -} - -// overloaded assignment -SnmpInt32& SnmpInt32::operator=( const SnmpInt32 &uli) -{ - this->smival.value.sNumber = uli.smival.value.sNumber; - valid_flag = 1; - return *this; -} - -// general assignment from any Value -SnmpSyntax& SnmpInt32::operator=( SnmpSyntax &in_val) -{ - if ( this == &in_val ) // handle assignement from itself - return *this; - - valid_flag = 0; // will get set true if really valid - if (in_val.valid()) - { - switch (in_val.get_syntax()) - { - case sNMP_SYNTAX_INT32: - case sNMP_SYNTAX_UINT32: // implied cast uint -> int - // case sNMP_SYNTAX_GAUGE32: .. indistinquishable from UINT32 - case sNMP_SYNTAX_CNTR32: // implied cast uint -> int - case sNMP_SYNTAX_TIMETICKS: // implied cast uint -> int - this->smival.value.sNumber = - ((SnmpInt32 &)in_val).smival.value.sNumber; - valid_flag = 1; - break; - } - } - return *this; -} - -// otherwise, behave like a long int -SnmpInt32::operator long() -{ - return (long) smival.value.sNumber; -} - -// clone - create a new instance of this Value -SnmpSyntax* SnmpInt32::clone() const -{ - return ( SnmpSyntax *) new SnmpInt32(*this); -} - -// ASCII format return - -char *SnmpInt32::to_string() -{ - sprintf(output_buffer, "%d", (int) (long) this->smival.value.sNumber); - return output_buffer; -} - diff --git a/ASNMP/asnmp/integer.h b/ASNMP/asnmp/integer.h deleted file mode 100644 index be17240c22c..00000000000 --- a/ASNMP/asnmp/integer.h +++ /dev/null @@ -1,139 +0,0 @@ -/* -*-C++-*- */ -#ifndef SNMPINTEGER_ -#define SNMPINTEGER_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// integer.cpp -// -// = DESCRIPTION -// Class definition for Integer classes convertable to SMI. -// -// = AUTHOR -// Jeff Meyer -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/smival.h" - -// TODO get rid of this constant -#define INTOUTBUF 15 // largest ASCII formatted integer - -//------------[ Integer Classes ]------------------------------------------ -// The integer class allows all the functionality of the various -// integers but is contained in a Value object for consistency -// among the various types. -// class objects may be set or get into Vb objects. -// - -// 32 bit unsigned integer class -class ACE_Export SnmpUInt32: public SnmpSyntax - // = TITLE - // Implement RFC 1920 Unsigned Integer SMI datatype -{ - - public: - SnmpUInt32 (const unsigned long i = 0); - // default constructor - - SnmpUInt32( const SnmpUInt32 &c); - // copy constructor - - virtual ~SnmpUInt32(); - // destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden) - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpUInt32& operator=( const unsigned long i); - // overloaded assignment - - SnmpUInt32& operator=( const SnmpUInt32 &uli); - // overloaded assignment - - operator unsigned long(); - // otherwise, behave like an unsigned long int - - virtual char *to_string(); - // get a printable ASCII value - - virtual SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - int valid() const; - // did object construct properly - - protected: - int valid_flag; - char output_buffer[INTOUTBUF]; - // contain string representation of object -}; - - -// 32 bit signed integer class -class ACE_Export SnmpInt32: public SnmpSyntax -{ - // = TITLE - // Implement RFC 1902 32 bit Integer SMI data object - public: - SnmpInt32 (const long i = 0); - // constructor with value - - SnmpInt32 (const SnmpInt32 &c); - // constructor with value - - virtual ~SnmpInt32(); - // destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden) - - virtual SmiUINT32 get_syntax(); - // syntax type - - SnmpInt32& operator=( const long i); - // overloaded assignment - - SnmpInt32& operator=( const SnmpInt32 &li); - // overloaded assignment - - operator long(); - // otherwise, behave like a long int - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - - char *to_string(); - // get a printable ASCII value - - int valid() const; - // logical state of object - - protected: - int valid_flag; - char output_buffer[INTOUTBUF]; - // contain string representation of object -}; - -#endif diff --git a/ASNMP/asnmp/octet.cpp b/ASNMP/asnmp/octet.cpp deleted file mode 100644 index 3e061a43b29..00000000000 --- a/ASNMP/asnmp/octet.cpp +++ /dev/null @@ -1,591 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// octet.cpp -// -// = DESCRIPTION -// Implements the SMI Octet datatype (RFC 1155) -// This class is fully contained and does not rely on or any other -// SNMP libraries. Ported to ACE by Michael MacFaden mrm@cisco.com -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "ace/OS.h" -#include "asnmp/octet.h" // include definition for octet class - -//============[ syntax type ]========================================= -SmiUINT32 OctetStr::get_syntax() -{ - return sNMP_SYNTAX_OCTETS; -} - -inline -void init_octet_smi(SmiVALUE& smi) -{ - smi.syntax = sNMP_SYNTAX_OCTETS; - smi.value.string.ptr = 0; - smi.value.string.len = 0; -} - -inline -void reset_octet_smi(SmiVALUE& smi) -{ - delete [] smi.value.string.ptr; - smi.value.string.ptr = NULL; - smi.value.string.len = 0; -} - -inline -int copy_octet_smi(SmiVALUE& smi, int size, const char *src, int& valid_flag) -{ - valid_flag = FALSE; - - if (smi.value.string.ptr) - delete [] smi.value.string.ptr; - - ACE_NEW_RETURN(smi.value.string.ptr, SmiBYTE[size], 1); - ACE_OS::memcpy( smi.value.string.ptr, src, size); - smi.value.string.len = size; - valid_flag = TRUE; - return 0; -} - -//============[ default constructor ]========================= -OctetStr::OctetStr( const char * string, long size): - output_buffer(NULL), validity(FALSE) -{ - - size_t z; - init_octet_smi(smival); - - // check for null string - if ( !string) - return; - - if (size == -1) // calc if no length given - assume c style string - size = z = ACE_OS::strlen( string); - - copy_octet_smi(smival, size, string, validity); -} - - -//============[ set the data on an already constructed Octet ]============ -// TODO: should return status since it can fail in so many places -void OctetStr::set_data( const SmiBYTE* string, long size) -{ - size_t z; - - // invalid args, set octetStr to not valid - if ( !string || !size) { - validity = FALSE; - return; - } - - // assume non-zero terminated string - if (size == -1) // calc if no length given - assume c style string - size = z = ACE_OS::strlen( (char *)string); - - // free up already used space - if ( smival.value.string.ptr ) { - reset_octet_smi(smival); - } - smival.value.string.len = 0; - - - copy_octet_smi(smival, size, (const char *)string, validity); -} - -//============[ constructor using another octet object ]============== -OctetStr::OctetStr ( const OctetStr &octet): - output_buffer(NULL), validity(TRUE) -{ - init_octet_smi(smival); - // check for zero len case - if ( octet.smival.value.string.len == 0) { - return; - } - - // must be a valid object - if ( octet.validity == FALSE) { - validity = FALSE; - return; - } - - // get the mem needed - copy_octet_smi(smival, octet.smival.value.string.len, - (const char *)octet.smival.value.string.ptr, validity); -} - -//=============[ destructor ]========================================= -OctetStr::~OctetStr() -{ - reset_octet_smi(smival); - delete [] output_buffer; -} - - -//=============[ assignment to a string operator overloaded ]========= -OctetStr& OctetStr::operator=( const char *string) -{ - // get the string size - size_t nz; - - // free up previous memory if needed - if ( smival.value.string.ptr ) { - reset_octet_smi(smival); - } - - // if empty then we are done - if (!string || !(nz = ACE_OS::strlen( string))) { - validity = TRUE; - return *this; - } - - // get memory needed - copy_octet_smi(smival, nz, string, validity); - return *this; -} - -//=============[ assignment to another oid object overloaded ]======== -OctetStr& OctetStr::operator=( const OctetStr &octet) -{ - // protect against assignment from self - if ( this == &octet ) - return *this; - - // don't assign from invalid objs - if (!octet.validity) { - return *this; - } - - // free up previous memory if needed - if ( smival.value.string.len ) { - reset_octet_smi(smival); - } - - if (!octet.smival.value.string.len) { - validity = TRUE; - return *this; - } - - // get some memory - copy_octet_smi(smival, octet.smival.value.string.len, - (const char*) octet.smival.value.string.ptr, validity); - return *this; // return self reference -} - -//==============[ equivlence operator overloaded ]==================== -int operator==( const OctetStr &lhs, const OctetStr &rhs) -{ - if( lhs.left_comparison( rhs.smival.value.string.len, rhs)==0) - return TRUE; - else - return FALSE; -} - -//==============[ not equivlence operator overloaded ]================ -int operator!=( const OctetStr &lhs, const OctetStr &rhs) -{ - if( lhs.left_comparison( rhs.smival.value.string.len, rhs)!=0) - return TRUE; - else - return FALSE; -} - -//==============[ less than < overloaded ]============================ -int operator<( const OctetStr &lhs, const OctetStr &rhs) -{ - if( lhs.left_comparison( rhs.smival.value.string.len, rhs)<0) - return TRUE; - else - return FALSE; -} - -//==============[ less than <= overloaded ]=========================== -int operator<=( const OctetStr &lhs, const OctetStr &rhs) -{ - if(( lhs.left_comparison( rhs.smival.value.string.len, rhs)<0) || - ( lhs.left_comparison( rhs.smival.value.string.len, rhs)==0)) - return TRUE; - else - return FALSE; -} - -//===============[ greater than > overloaded ]======================== -int operator>( const OctetStr &lhs, const OctetStr &rhs) -{ - if( lhs.left_comparison( rhs.smival.value.string.len, rhs)>0) - return TRUE; - else - return FALSE; -} - -//===============[ greater than >= overloaded ]======================= -int operator>=( const OctetStr &lhs, const OctetStr &rhs) -{ - if(( lhs.left_comparison( rhs.smival.value.string.len, rhs)>0) || - ( lhs.left_comparison( rhs.smival.value.string.len, rhs)==0)) - return TRUE; - else - return FALSE; -} - -//===============[ equivlence operator overloaded ]=================== -int operator==( const OctetStr &lhs,const char *rhs) -{ - OctetStr to( rhs); - if( lhs.left_comparison( to.smival.value.string.len,to)==0) - return TRUE; - else - return FALSE; -} - -//===============[ not equivlence operator overloaded ]=============== -int operator!=( const OctetStr &lhs,const char *rhs) -{ - OctetStr to( rhs); - if ( lhs.left_comparison( to.smival.value.string.len,to)!=0) - return TRUE; - else - return FALSE; -} - -//===============[ less than < operator overloaded ]================== -int operator<( const OctetStr &lhs,const char *rhs) -{ - OctetStr to( rhs); - if ( lhs.left_comparison( to.smival.value.string.len,to)<0) - return TRUE; - else - return FALSE; -} - -//===============[ less than <= operator overloaded ]================= -int operator<=( const OctetStr &lhs,char *rhs) -{ - OctetStr to( rhs); - if (( lhs.left_comparison( to.smival.value.string.len,to)<0) || - ( lhs.left_comparison( to.smival.value.string.len,to)==0)) - return TRUE; - else - return FALSE; -} - -//===============[ greater than > operator overloaded ]=============== -int operator>( const OctetStr &lhs,const char *rhs) -{ - OctetStr to( rhs); - if ( lhs.left_comparison( to.smival.value.string.len,to)>0) - return TRUE; - else - return FALSE; -} - -//===============[ greater than >= operator overloaded ]============== -int operator>=( const OctetStr &lhs,const char *rhs) -{ - OctetStr to( rhs); - if (( lhs.left_comparison( to.smival.value.string.len,to)>0) || - ( lhs.left_comparison( to.smival.value.string.len,to)==0)) - return TRUE; - else - return FALSE; -} - -//===============[ append operator, appends a string ]================ -OctetStr& OctetStr::operator+=( const char *a) -{ - SmiBYTE *tmp; // temp pointer - size_t slen,nlen; - - // get len of string - if ( !a || ((slen = ACE_OS::strlen( a)) == 0)) - return *this; - - // total len of octet - nlen = slen + (size_t) smival.value.string.len; - ACE_NEW_RETURN(tmp, SmiBYTE [ nlen], *this); - ACE_OS::memcpy ( tmp, smival.value.string.ptr, - (size_t) smival.value.string.len); - ACE_OS::memcpy( tmp + smival.value.string.len, a, (size_t) slen); - // delete the original - if ( smival.value.string.ptr ) - reset_octet_smi(smival); - smival.value.string.ptr = tmp; - smival.value.string.len = nlen; - return *this; -} - -//================[ append one OctetStr to another ]================== -OctetStr& OctetStr::operator+=( const OctetStr& octetstr) -{ - SmiBYTE *tmp; // temp pointer - size_t slen,nlen; - - if (!octetstr.validity || - !(slen = (size_t)octetstr.length())) - return *this; - - // total len of octet - nlen = slen + (size_t) smival.value.string.len; - // get mem needed - ACE_NEW_RETURN(tmp, SmiBYTE[ nlen], *this); - ACE_OS::memcpy ( tmp, smival.value.string.ptr, - (size_t) smival.value.string.len); - ACE_OS::memcpy( tmp + smival.value.string.len, octetstr.data(), - (size_t) slen); - if ( smival.value.string.ptr ) - reset_octet_smi(smival); - smival.value.string.ptr = tmp; - smival.value.string.len = nlen; - return *this; -} - -//================[ appends an int ]================================== -OctetStr& OctetStr::operator+=( const char c) -{ - SmiBYTE *tmp; - // get the memory needed plus one extra byte - ACE_NEW_RETURN(tmp, SmiBYTE[ smival.value.string.len + 1], *this); - ACE_OS::memcpy ( tmp, smival.value.string.ptr, - (size_t) smival.value.string.len); // len of original - tmp[ smival.value.string.len ] = c; // assign in byte - if ( smival.value.string.ptr ) // delete the original - reset_octet_smi(smival); - - smival.value.string.ptr = tmp; // point to one - smival.value.string.len++; // up the len - return *this; -} - - -//================[ compare n elements of an Octet ]================== -int OctetStr::left_comparison( const long n, const OctetStr &o) const -{ - long z, w; - - // both are empty, they are equal - if (( smival.value.string.len == 0) && - ( o.smival.value.string.len == 0)) - return 0; // equal - - // self is empty and param has something - if (( smival.value.string.len == 0) && - ( o.smival.value.string.len >0) && - (n>0)) - return -1; - - // self has something and param has nothing - if (( smival.value.string.len > 0) && - ( o.smival.value.string.len ==0) && - (n>0)) - return 1; - - // special case - if (( smival.value.string.len == 0) && - ( o.smival.value.string.len > 0) && - ( n == 0)) - return 0; - - // pick the Min of n, this and the param len - // this is the maximum # to iterate a search - w = smival.value.string.len < o.smival.value.string.len - ? smival.value.string.len : o.smival.value.string.len; - if (n o.smival.value.string.ptr[z]) - return 1; // greater than - z++; - } - - if (( z == 0) && - ( smival.value.string.len == 0) && - ( o.smival.value.string.len > 0)) - return -1; - - if (( z == 0) && - ( o.smival.value.string.len == 0) && - ( smival.value.string.len > 0)) - return 1; - - return 0; -} - -//================[ return the length of the oid ]======================= -size_t OctetStr::length() const -{ - return (size_t) smival.value.string.len; -} - -//================[ operator[]: access as if array ]================== -SmiBYTE& OctetStr::operator[]( int position) -{ - return smival.value.string.ptr[position]; -} - -//===============[ reuturns pointer to internal data ]=============== -SmiBYTE * OctetStr::data() const -{ - return smival.value.string.ptr; -} - -//================[ returns validity ]================================ -int OctetStr::valid() const -{ - return validity; -} - -//================[ clone() ]========================================= -SnmpSyntax * OctetStr::clone() const -{ - OctetStr *tmp = new OctetStr(*this); - return ( SnmpSyntax *) tmp; -} - -//================[ ASCII format return ]============================= -char * OctetStr::to_string() -{ - for ( unsigned long i=0; i < smival.value.string.len; i++) { - if (( smival.value.string.ptr[i] != '\r')&& - ( smival.value.string.ptr[i] != '\n')&& - (isprint((int) (smival.value.string.ptr[i]))==0)) - return(to_string_hex()); - } - - if ( output_buffer != NULL) - delete [] output_buffer; - - ACE_NEW_RETURN(output_buffer, char[smival.value.string.len + 1], ""); - if (smival.value.string.len) - ACE_OS::memcpy(output_buffer, smival.value.string.ptr, - (int) smival.value.string.len); - output_buffer[smival.value.string.len] = '\0'; - return output_buffer; -} - - -//================[ general Value = operator ]======================== -SnmpSyntax& OctetStr::operator=( SnmpSyntax &val) -{ - // protect against assignment from self - if ( this == &val ) - return *this; - - // blow away the old value - validity=FALSE; - if (smival.value.string.ptr) { - reset_octet_smi(smival); - } - smival.value.string.len = 0; - if (val.valid()){ - switch (val.get_syntax()) { - case sNMP_SYNTAX_OCTETS: - case sNMP_SYNTAX_IPADDR: - set_data( ((OctetStr &)val).smival.value.string.ptr, - ((OctetStr &)val).smival.value.string.len); - break; - } - } - return *this; -} - -//================[ format the output into hex ]======================== -char *OctetStr::to_string_hex() -{ - int cnt; - char char_buf[80]; // holds ASCII representation of data - char *buf_ptr; // pointer into ASCII listing - char *line_ptr; // pointer into Hex listing - int storageNeeded; // how much space do we need ? - int local_len = (int) smival.value.string.len; - SmiBYTE *bytes = smival.value.string.ptr; - - - storageNeeded = (int) ((smival.value.string.len/16)+1) * 72 + 1; - - if ( output_buffer != NULL) - delete [] output_buffer; - - ACE_NEW_RETURN(output_buffer, char[storageNeeded], ""); - - line_ptr = output_buffer; - - /*----------------------------------------*/ - /* processing loop for entire data buffer */ - /*----------------------------------------*/ - while (local_len > 0) { - cnt = 16; /* print 16 bytes per line */ - buf_ptr = char_buf; - sprintf(line_ptr, " "); - line_ptr += 2; /* indent */ - - /*-----------------------*/ - /* process a single line */ - /*-----------------------*/ - while (cnt-- > 0 && local_len-- > 0) { - sprintf(line_ptr, "%2.2X ", *bytes); - - line_ptr +=3; /* the display of a byte always 3 chars long */ - if (isprint(*bytes)) - sprintf(buf_ptr, "%c", *bytes); - else - sprintf(buf_ptr, "."); - bytes++; - buf_ptr++; - } - cnt++; - - /*----------------------------------------------------------*/ - /* this is to make sure that the ASCII displays line up for */ - /* incomplete lines of hex */ - /*----------------------------------------------------------*/ - while (cnt-- > 0) { - sprintf(line_ptr," "); - line_ptr += 3; - } - - /*------------------------------------------*/ - /* append the ASCII display to the Hex line */ - /*------------------------------------------*/ - -// TODO: verify ACE_OS:: on NT works like this or not -#if defined(__unix) - char *fmt = " %s\n"; -#endif // __unix - -#if defined(_WIN32) - char *fmt = " %s\r\n"; -#endif // _WIN32 - - ACE_OS::sprintf(line_ptr, fmt, char_buf); - line_ptr += 3 + strlen(char_buf); - } - - return output_buffer; -} diff --git a/ASNMP/asnmp/octet.h b/ASNMP/asnmp/octet.h deleted file mode 100644 index 6d63da92e48..00000000000 --- a/ASNMP/asnmp/octet.h +++ /dev/null @@ -1,149 +0,0 @@ -/* -*-C++-*- */ -#ifndef OCTET_CLS_ -#define OCTET_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// octet.h -// -// = DESCRIPTION -// This class is fully contained and does not rely on or any other -// SNMP libraries. This class is portable across any platform -// which supports C++. -// -// = AUTHOR -// Peter E Mellquist / design/original code -// Michael R. MacFaden / modified for ACE, added suboid(),collapse ctor's -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//------------------------------------------------------------------------ -#include "asnmp/smival.h" - -class ACE_Export OctetStr: public SnmpSyntax - // = TITLE - // Implement RFC1155 Octet SMI data object - -{ -public: - OctetStr( const char *string = "", long size = -1); - // construct octet from byte buffer, assume c style string if size == -1 - - OctetStr ( const OctetStr &octet); - // constructor using another octet object - - ~OctetStr(); - // destructor - - SmiUINT32 get_syntax(); - // syntax type - - void set_data( const SmiBYTE* string, long int size = -1); - // set octet from byte buffer, assume c style string if size == -1 - - OctetStr& operator=( const char *string); - // assignment to a string operator overloaded - - OctetStr& operator=( const OctetStr &octet); - // assignment to another oid object overloaded - - friend int operator==( const OctetStr &lhs, const OctetStr &rhs); - // equivlence operator overloaded - - friend int operator!=( const OctetStr &lhs, const OctetStr &rhs); - // not equivlence operator overloaded - - friend int operator<( const OctetStr &lhs, const OctetStr &rhs); - // less than < overloaded - - friend int operator<=( const OctetStr &lhs,const OctetStr &rhs); - // less than <= overloaded - - friend int operator>( const OctetStr &lhs, const OctetStr &rhs); - // greater than > overloaded - - friend int operator>=( const OctetStr &lhs, const OctetStr &rhs); - // greater than >= overloaded - - friend int operator==( const OctetStr &lhs,const char *rhs); - // equivlence operator overloaded - - friend int operator!=( const OctetStr &lhs,const char *rhs); - // not equivlence operator overloaded - - friend int operator<( const OctetStr &lhs,const char *rhs); - // less than < operator overloaded - - friend int operator<=( const OctetStr &lhs,char *rhs); - // less than <= operator overloaded - - friend int operator>( const OctetStr &lhs,const char *rhs); - // greater than > operator overloaded - - friend int operator>=( const OctetStr &lhs,const char *rhs); - // greater than >= operator overloaded - - OctetStr& operator+=( const char *a); - // append operator, appends a string - - OctetStr& operator+=( const char c); - // appends an int - - OctetStr& operator+=( const OctetStr& octetstr); - // append one octetStr to another - - SmiBYTE& operator[]( int position); - // for non const [], allows reading and writing - - int left_comparison( const long n, const OctetStr &o) const; - // compare the n leftmost bytes (left-to-right) - // returns 0, equal - // returns -1, < - // returns 1 , > - - size_t length() const ; - // return the len of the oid - - int valid() const; - // returns validity - - SmiBYTE *data() const; - // returns pointer to internal data - - char *to_string(); - // get a printable ASCII value - - char *to_string_hex(); - // get an ASCII formattted hex dump of the contents - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - -protected: - //----[ instance variables ] - char *output_buffer; // formatted Octet value - int validity; // validity boolean -}; - -#endif // OCTET_CLS_ diff --git a/ASNMP/asnmp/oid.cpp b/ASNMP/asnmp/oid.cpp deleted file mode 100644 index fbd309cd1f0..00000000000 --- a/ASNMP/asnmp/oid.cpp +++ /dev/null @@ -1,797 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// oid.cpp -// -// = DESCRIPTION -// This module contains the implementation of the oid class. This -// includes all protected and public member functions. The oid class -// may be compiled stand alone without the use of any other library. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS" without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//---------[ external C libaries used ]-------------------------------- - -#include "asnmp/oid.h" // include def for oid class -enum Defs {SNMPBUFFSIZE=300, - SNMPCHARSIZE=15}; // max oid value (4294967295UL) - -#define NO_MEM_STR "ERROR: Oid::to_string: memory allocation failure" - -//=============[Oid::get_syntax(void)]==================================== -SmiUINT32 Oid::get_syntax() -{ - return sNMP_SYNTAX_OID; -} - - -//=============[Oid::Oid( const char *dotted_string ]===================== -// constructor using a dotted string -// -// do a string to oid using the string passed in -Oid::Oid( const char * dotted_oid_string, size_t size) -{ - // can't init enum SmiValue so just memset it clean - set_null(); - - size_t z; - if ((z = ACE_OS::strlen(dotted_oid_string)) == 0) { - set_invalid(); - return; - } - - if (size == (unsigned int)-1) - size = z; - if (size > z) - size = z; - - char *ptr = (char *)dotted_oid_string;; - if (size < z) { - // create new buffer if needed - ACE_NEW(ptr, char [size]); - - // sz should be in StrToOid? - ACE_OS::memcpy( (void *)ptr, dotted_oid_string, size); - } - - size_t byte_counter; - if (StrToOid( (char *) ptr, &smival.value.oid, byte_counter) < 0) - set_invalid(); - if (ptr != dotted_oid_string) - delete [] ptr; -} - - -//=============[Oid::Oid( const Oid &oid) ]================================ -// constructor using another oid object -// -// do an oid copy using the oid object passed in -Oid::Oid ( const Oid &oid) -{ - set_null(); - - // allocate some memory for the oid - // in this case the size to allocate is the same - // size as the source oid - if (oid.smival.value.oid.len) { - ACE_NEW(smival.value.oid.ptr, SmiUINT32[ oid.smival.value.oid.len]); - size_t byte_counter; - OidCopy( (SmiLPOID) &(oid.smival.value.oid),(SmiLPOID) - &smival.value.oid, byte_counter); - } -} - - -//=============[Oid::Oid( const unsigned long *raw_oid, int oid_len) ]==== -// constructor using raw numeric form -// -// copy the integer values into the private member -Oid::Oid(const unsigned long *raw_oid, size_t oid_len) -{ - set_null(); - - smival.syntax = sNMP_SYNTAX_OID; - set_invalid(); - - if (raw_oid && oid_len > 0) { - ACE_NEW(smival.value.oid.ptr, SmiUINT32[ oid_len]); - smival.value.oid.len = oid_len; - for (size_t i=0; i < oid_len; i++) - smival.value.oid.ptr[i] = raw_oid[i]; - } -} - -//=============[Oid::~Oid]============================================== -// destructor -// -// free up the descriptor space -Oid::~Oid() -{ - // free up the octet deep memory - if ( smival.value.oid.ptr ) { - set_invalid(); - } - - // free up the output string - if ( iv_str != 0) - delete [] iv_str; -} - - -//=============[Oid::operator = const char * dotted_string ]============== -// assignment to a string operator overloaded -// -// free the existing oid -// create the new oid from the string -// return this object -void Oid::set_data( const char *dotted_oid_string) -{ - // delete the old value - if ( smival.value.oid.ptr ) { - set_invalid(); - } - - // assign the new value - size_t byte_counter; - if (StrToOid( (char *) dotted_oid_string, &smival.value.oid, byte_counter) <0) - set_invalid(); -} - - -//=============[Oid:: operator = const Oid &oid ]========================== -// assignment to another oid object overloaded -// -// free the existing oid -// create a new one from the object passed in -// TODO: measure perf vs memory of no realloc in case where len >= oid.len -Oid& Oid::operator=( const Oid &oid) -{ - // protect against assignment from self - if ( this == &oid) - return *this; - - set_invalid(); - - // check for zero len on source - if ( oid.smival.value.oid.len == 0) - return *this; - - init_value((const SmiLPOID) &(oid.smival.value.oid), - oid.smival.value.oid.len); - return *this; -} - -// assign this object the oid, set to invalid if copy fails -void Oid::init_value(const SmiLPOID srcOid, size_t len) -{ - // allocate some memory for the oid - ACE_NEW(smival.value.oid.ptr, SmiUINT32[ len]); - size_t byte_counter; - OidCopy( srcOid, (SmiLPOID) &smival.value.oid, byte_counter); -} - -void Oid::init_value(const unsigned long *raw_oid, size_t oid_len) -{ - if (smival.value.oid.ptr) - delete [] smival.value.oid.ptr; - - ACE_NEW(smival.value.oid.ptr, SmiUINT32[ oid_len]); - ACE_OS::memcpy((SmiLPBYTE) smival.value.oid.ptr, - (SmiLPBYTE) raw_oid, - (size_t) (oid_len * sizeof(SmiUINT32))); - smival.value.oid.len = oid_len; -} - -//==============[Oid:: operator += const char *a ]========================= -// append operator, appends a string -// -// allocate some space for a max oid string -// extract current string into space -// concat new string -// free up existing oid -// make a new oid from string -// delete allocated space -Oid& Oid::operator+=( const char *a) -{ - unsigned long n; - - if (!a) - return *this; - - if ( *a=='.') - a++; - size_t sz = ACE_OS::strlen(a); - - if (valid()) { - n = (smival.value.oid.len *SNMPCHARSIZE) + smival.value.oid.len + 1 + sz; - char *ptr; - ACE_NEW_RETURN(ptr, char[ n], *this); - size_t byte_counter; - if (OidToStr(&smival.value.oid, n,ptr, byte_counter) > 0) { - delete [] ptr; - set_invalid(); - return *this; - } - - if (ACE_OS::strlen(ptr)) - ACE_OS::strcat(ptr,"."); - ACE_OS::strcat(ptr,a); - if ( smival.value.oid.len !=0) { - set_invalid(); - delete [] smival.value.oid.ptr; - smival.value.oid.len = 0; - } - - if (StrToOid( (char *) ptr, &smival.value.oid, byte_counter) < 0) { - set_invalid(); - } - delete [] ptr; - } - else { - size_t byte_counter; - if (StrToOid( (char *) a, &smival.value.oid, byte_counter) < 0) { - set_invalid(); - } - } - - return *this; -} - -//=============[ int operator == oid,oid ]================================= -// equivlence operator overloaded -int operator==( const Oid &lhs, const Oid &rhs) -{ - // ensure same len, then use left_comparison - if (rhs.length() != lhs.length()) - return 0; - if( lhs.left_comparison( rhs.length(), rhs) == 0) - return 1; - else - return 0; -} - -//==============[ operator!=( Oid &x,Oid &y) ]============================= -//not equivlence operator overloaded -int operator!=( const Oid &lhs,const Oid &rhs) -{ - return (!(lhs == rhs)); -} - -//==============[ operator<( Oid &x,Oid &y) ]============================= -// less than < overloaded -int operator<( const Oid &lhs,const Oid &rhs) -{ - int result; - - // call left_comparison with the current - // Oidx, Oidy and len of Oidx - if ((result = lhs.left_comparison( rhs.length(), rhs)) < 0) - return 1; - else if (result > 0) - return 0; - - else{ - // if here, equivalent substrings, call the shorter one < - if (lhs.length() < rhs.length()) - return 1; - else - return 0; - } -} - -//==============[ operator<=( Oid &x,Oid &y) ]============================= -// less than <= overloaded -int operator<=( const Oid &x,const Oid &y) -{ - if ( (x < y) || (x == y) ) - return 1; - else - return 0; -} - -//==============[ operator>( Oid &x,Oid &y) ]============================= -// greater than > overloaded -int operator>( const Oid &x,const Oid &y) -{ - // just invert existing <= - if (!(x<=y)) - return 1; - else - return 0; -} - -//==============[ operator>=( Oid &x,Oid &y) ]============================= -// greater than >= overloaded -int operator>=( const Oid &x,const Oid &y) -{ - // just invert existing < - if (!(x0)) { - smival.value.oid.len -= n; - - if (smival.value.oid.len == 0) { - set_invalid(); - } - } -} - -//===============[Oid::set_invalid() ]==================== -// make this object invalid by resetting all values -void Oid::set_invalid() { - delete [] smival.value.oid.ptr; - smival.value.oid.ptr = NULL; - smival.value.oid.len = 0; - delete [] iv_str; - iv_str = 0; -} - -//===============[Oid::set_null() ]==================== -void Oid::set_null() { - smival.syntax = sNMP_SYNTAX_OID; - smival.value.oid.ptr = NULL; - smival.value.oid.len = 0; - iv_str = 0; -} - -//===============[Oid::operator += const unsigned int) ]==================== -// append operator, appends an int -// -// allocate some space for a max oid string -// extract current string into space -// concat new string -// free up existing oid -// make a new oid from string -// delete allocated space -Oid& Oid::operator+=( const unsigned long i) -{ - unsigned long n = (smival.value.oid.len * SNMPCHARSIZE) - + ( smival.value.oid.len -1) + 1 + 4; - char buffer[SNMPBUFFSIZE]; - - // two cases: null oid, existing oid - if (valid()) { - // allocate some temporary space - char *ptr; - ACE_NEW_RETURN(ptr, char[ n], *this); - size_t byte_counter; - if (OidToStr(&smival.value.oid, n, ptr, byte_counter) < 0) { - set_invalid(); - delete [] ptr; - return *this; - } - - if (ACE_OS::strlen(ptr)) - ACE_OS::strcat(ptr,"."); - - if (ACE_OS::sprintf( buffer,"%u",i) != -1) { - ACE_OS::strcat(ptr, buffer); - if ( smival.value.oid.ptr ) { - set_invalid(); - } - if (StrToOid( (char *) ptr, &smival.value.oid, byte_counter) < 0) { - set_invalid(); - } - delete [] ptr; - } - } - else { - init_value((const unsigned long *)&i, (size_t)1); - } - - return *this; -} - -//===============[Oid::operator += const Oid) ]======================== -// append operator, appends an Oid -// -// allocate some space for a max oid string -// extract current string into space -// concat new string -// free up existing oid -// make a new oid from string -// delete allocated space -Oid& Oid::operator+=( const Oid &o) -{ - SmiLPUINT32 new_oid; - - if (o.smival.value.oid.len == 0) - return *this; - - ACE_NEW_RETURN(new_oid, - SmiUINT32[ smival.value.oid.len + o.smival.value.oid.len], *this); - if (smival.value.oid.ptr) { - ACE_OS::memcpy((SmiLPBYTE) new_oid, - (SmiLPBYTE) smival.value.oid.ptr, - (size_t) (smival.value.oid.len*sizeof(SmiUINT32))); - - delete [] smival.value.oid.ptr; - } - - // out with the old, in with the new... - smival.value.oid.ptr = new_oid; - - ACE_OS::memcpy((SmiLPBYTE) &new_oid[smival.value.oid.len], - (SmiLPBYTE) o.smival.value.oid.ptr, - (size_t) (o.smival.value.oid.len*sizeof(SmiUINT32))); - - smival.value.oid.len += o.smival.value.oid.len; - return *this; -} - -// return string portion of the oid -// -char * Oid::to_string() -{ - unsigned long n; - if (!valid()) - return ""; // be consistent with other classes - - // the worst case char len of an oid can be.. - // oid.len*3 + dots in between if each oid is XXXX - // so.. size = (len*4) + (len-1) + 1 , extra for a null - - n = (smival.value.oid.len *SNMPCHARSIZE) + ( smival.value.oid.len -1) + 1 ; - if (n == 0) - n = 1; // need at least 1 byte for a null string - - // adjust the len of output array in case size was adjusted - if ( iv_str != 0) - delete [] iv_str; - // allocate some space for the output string - ACE_NEW_RETURN(iv_str, char[ n], ""); - - // convert to an output string - size_t how_many; - if ( valid() && iv_str != 0) - if (OidToStr(&smival.value.oid,n,iv_str, how_many) < 0) - return "ERROR: Oid::OidToStr failed"; - return iv_str; -} - -//==============[Oid::suboid( unsigned int start, n) ]============= -int Oid::suboid(Oid& new_oid, size_t start, size_t how_many) -{ - if (how_many == 0) - return 0; - else - if (how_many == (size_t)-1) - how_many = length(); - else - if (how_many > length()) - how_many = length(); - - // reset new_oid - new_oid.set_invalid(); - - size_t new_size = how_many - start; - if (new_size == 0) - new_size++; - new_oid.smival.value.oid.len = new_size; - ACE_NEW_RETURN(new_oid.smival.value.oid.ptr, - SmiUINT32 [ new_oid.smival.value.oid.len], -1); - // copy source to destination - ACE_OS::memcpy( (SmiLPBYTE) new_oid.smival.value.oid.ptr, - (SmiLPBYTE) (smival.value.oid.ptr + start), - new_size * sizeof(SmiLPBYTE)); - return 0; -} - - -//=============[Oid::StrToOid( char *string, SmiLPOID dst) ]============== -// convert a string to an oid -int Oid::StrToOid( const char *string, SmiLPOID dstOid, size_t& how_many) -{ - size_t index = 0; - size_t number = 0; - - // make a temp buffer to copy the data into first - SmiLPUINT32 temp; - unsigned long nz; - - if (string && *string) { - nz = ACE_OS::strlen( string); - } - else { - dstOid->len = 0; - dstOid->ptr = NULL; - return -1; - } - - ACE_NEW_RETURN(temp, SmiUINT32[ nz], -1); - while (*string!=0 && indexptr, SmiUINT32[ index], -1); - // TODO: make tmp autoptr type delete [] temp to prevent leak - - // copy in the temp data - ACE_OS::memcpy((SmiLPBYTE) dstOid->ptr, (SmiLPBYTE) temp, - (size_t) (index*sizeof(SmiUINT32))); - - // set the len of the oid - dstOid->len = index; - - // free up temp data - delete [] temp; - - how_many = index; - return 0; -} - - -//===============[Oid::OidCopy( source, destination) ]==================== -// Copy an oid, return bytes copied -int Oid::OidCopy( SmiLPOID srcOid, SmiLPOID dstOid, size_t& how_many_bytes) -{ - // check source len ! zero - if (srcOid->len == 0) - return -1; - - // copy source to destination - ACE_OS::memcpy((SmiLPBYTE) dstOid->ptr, - (SmiLPBYTE) srcOid->ptr, - (size_t) (srcOid->len * sizeof(SmiUINT32))); - - //set the new len - dstOid->len = srcOid->len; - how_many_bytes = srcOid->len; - - return 0; -} - - -//===============[Oid::left_comparison( n, Oid) ]================================= -// compare the n leftmost values of two oids ( left-to_right ) -// -// self == Oid then return 0, they are equal -// self < Oid then return -1, < -// self > Oid then return 1, > -int Oid::left_comparison( const unsigned long n, const Oid &o) const -{ - unsigned long z; - unsigned long len = n; - int reduced_len = 0; - - // 1st case they both are null - if (( len==0)&&( this->smival.value.oid.len==0)) - return 0; // equal - - // verify that n is valid, must be >= 0 - if ( len <=0) - return 1; // ! equal - - // only compare for the minimal length - if (len > this->smival.value.oid.len) { - len = this->smival.value.oid.len; - reduced_len = 1; - } - if (len > o.smival.value.oid.len) { - len = o.smival.value.oid.len; - reduced_len = 1; - } - - z = 0; - while(z < len) { - if ( this->smival.value.oid.ptr[z] < o.smival.value.oid.ptr[z]) - return -1; // less than - if ( this->smival.value.oid.ptr[z] > o.smival.value.oid.ptr[z]) - return 1; // greater than - z++; - } - - // if we truncated the len then these may not be equal - if (reduced_len) { - if (this->smival.value.oid.len < o.smival.value.oid.len) - return -1; - if (this->smival.value.oid.len > o.smival.value.oid.len) - return 1; - } - return 0; // equal - -} - - -//===============[Oid::left_comparison( n, Oid) ]================================= -// compare the n rightmost bytes (right-to-left) -// returns 0, equal -// returns -1, < -// returns 1 , > -int Oid::right_comparison( const unsigned long n, const Oid &o) const -{ - // oid to compare must have at least the same number - // of sub-ids to comparison else the argument Oid is - // less than THIS - if ( o.length() < n) - return -1; - - // also can't compare argument oid for sub-ids which - // THIS does not have - if ( this->length() < n) - return -1; - - int start = (int) this->length(); - int end = (int) start - (int) n; - for ( int z=start;z< end;z--) - { - if ( o.smival.value.oid.ptr[z] < this->smival.value.oid.ptr[z]) - return -1; - if ( o.smival.value.oid.ptr[z] > this->smival.value.oid.ptr[z]) - return 1; - } - - return 0; // they are equal - -} - - -//================[ Oid::valid() ]======================================== -// is the Oid object valid -// returns validity -int Oid::valid() const -{ - return ( smival.value.oid.ptr ? TRUE : FALSE ); -} - -//================[Oid::OidToStr ]========================================= -// convert an oid to a string -int Oid::OidToStr( SmiLPOID srcOid, unsigned long size, - char *string, size_t& how_many_bytes) -{ - unsigned long index = 0; - unsigned totLen = 0; - char szNumber[SNMPBUFFSIZE]; - - // init the string - string[totLen] = 0; - - // verify there is something to copy - if (srcOid->len == 0) - return -1; - - // loop through and build up a string - for (index=0; index < srcOid->len; index++) { - - // convert data element to a string - if (ACE_OS::sprintf( szNumber,"%u", srcOid->ptr[index]) == -1) - return -1; - - // verify len is not over - if (totLen + ACE_OS::strlen(szNumber) + 1 >= size) - return -2; - - // if not at end, pad with a dot - if (totLen!=0) - string[totLen++] = '.'; - - // copy the string token into the main string - ACE_OS::strcpy(string + totLen, szNumber); - - // adjust the total len - totLen += ACE_OS::strlen(szNumber); - } - - how_many_bytes = totLen + 1; - return 0; -} - - -//================[ general Value = operator ]======================== -SnmpSyntax& Oid::operator=( SnmpSyntax &val) -{ - // protect against assignment from self - if ( this == &val ) - return *this; - - // blow away old value - smival.value.oid.len = 0; - if (smival.value.oid.ptr) { - set_invalid(); - } - - // assign new value - if (val.valid()) { - switch (val.get_syntax()) { - case sNMP_SYNTAX_OID: - set_data( ((Oid &)val).smival.value.oid.ptr, - (unsigned int)((Oid &)val).smival.value.oid.len); - break; - } - } - return *this; -} - -//================[ [] operator ]===================================== -unsigned long& Oid::operator[](size_t position) -{ - return smival.value.oid.ptr[position]; -} - -//================[ clone ]=========================================== -SnmpSyntax *Oid::clone() const -{ - return (SnmpSyntax *) new Oid(*this); -} - diff --git a/ASNMP/asnmp/oid.h b/ASNMP/asnmp/oid.h deleted file mode 100644 index d98a75ccb2b..00000000000 --- a/ASNMP/asnmp/oid.h +++ /dev/null @@ -1,164 +0,0 @@ -/* -*-C++-*- */ -#ifndef OID_CLS_ -#define OID_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// oid.h -// -// = DESCRIPTION -// This class is fully contained and does not rely on or any other -// SNMP libraries. This class is portable across any platform -// which supports C++. Ported to ACE by Mike MacFaden mrm@cisco.com -// and modified for MT. Some API cleanup: collapse constructors, -// add suboid() method remove unnecessary overload, and update a few -// names and types to improve clarity. -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//----------[ extern C libraries Needed ]--------------------------------- -#include "ace/OS.h" -#include "asnmp/smival.h" // derived class for all values - -class ACE_Export Oid: public SnmpSyntax - // = TITLE - // Implement RFC 1155 Object Identifier (OID) datatype -{ -public: - Oid( const char * dotted_oid_string = "", size_t size = unsigned(-1) ); - // constructor using a dotted string - - Oid ( const Oid &oid); - // constructor using another oid object - - Oid(const unsigned long *raw_oid, size_t oid_len); - // constructor from raw form - - ~Oid(); - // destructor - - SmiUINT32 get_syntax(); - // syntax type - - Oid& operator=( const Oid &oid); - // assignment to another oid object overloaded - - friend int operator==( const Oid &lhs,const Oid &rhs); - // equal operator overloaded - - friend int operator!=( const Oid &lhs,const Oid &rhs); - // not equal operator overloaded - - friend int operator<( const Oid &lhs,const Oid &rhs); - // less than < overloaded - - friend int operator<=( const Oid &lhs,const Oid &rhs); - // less than <= overloaded - - friend int operator>( const Oid &lhs,const Oid &rhs); - // greater than > overloaded - - friend int operator>=( const Oid &lhs,const Oid &rhs); - // greater than >= overloaded - - Oid& operator+=( const char *a); - // append operator, appends a string - - Oid& operator+=( const unsigned long i); - // appends an int - - Oid& operator+=( const Oid &o); - // appends an Oid - - unsigned long & operator[]( size_t position); - // allows element access - - SmiLPOID oidval(); - // return the WinSnmp oid part - - void set_data( const char *dotted_oid_string); - // reset the data from raw 1 byte format - - void set_data( const unsigned long *raw_oid, const size_t oid_len); - // reset the data from raw 4byte integer format - - size_t length() const; - // return the len of the oid - - void trim( const size_t how_many = 1); - // trim off the n rightmost values of an oid - - int suboid(Oid& oid, size_t start = 0, size_t how_many = -1); - // the equivalent of a substr(new_str, 0, 1) - - int left_comparison( const unsigned long n, const Oid &o) const; - // compare the n leftmost bytes (left-to-right) - // returns 0, equal - // returns -1, < - // returns 1 , > - - - int right_comparison( const unsigned long n, const Oid &o) const; - // compare the n rightmost bytes (right-to-left) - // returns 0, equal - // returns -1, < - // returns 1 , > - - int valid() const; - // is the Oid object valid - - char *to_string(); - // return dotted string value from the right - // where the user specifies how many positions to print - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=( SnmpSyntax &val); - // copy an instance of this Value - -protected: - char *iv_str; - // used for returning oid string - - int StrToOid( const char *string, SmiLPOID dstOid, size_t& how_many_bytes); - // convert a string to an smi oid - - int OidCopy( SmiLPOID srcOid, SmiLPOID dstOid, size_t& how_many_bytes); - // clone an smi oid - - int OidToStr(SmiLPOID srcOid, SmiUINT32 size, char *string, size_t& how_many_bytes); - // convert an smi oid to its string representation - - private: - void set_invalid(); - // release memory, re-init data members - - void set_null(); - // initialize object data members - void init_value( const SmiLPOID srcOid, size_t len); - void init_value(const unsigned long *raw_oid, size_t oid_len); -}; - -#endif //OID_CLS_ diff --git a/ASNMP/asnmp/oid_def.h b/ASNMP/asnmp/oid_def.h deleted file mode 100644 index ece88846ba3..00000000000 --- a/ASNMP/asnmp/oid_def.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -*-C++-*- */ -#ifndef OID_DEF -#define OID_DEF -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// address.cpp -// -// = DESCRIPTION -// Well known Oids defined in RFC 1215 -// -// = AUTHOR -// Peter E Mellquist -// -// ============================================================================ -/*=================================================================== - - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -// SMI trap oid def -class snmpTrapsOid: public Oid { - public: - snmpTrapsOid (void):Oid("1.3.6.1.6.3.1.1.5"){}; -}; - -// SMI Enterprose Oid -class snmpTrapEnterpriseOid: public Oid { - public: - snmpTrapEnterpriseOid(void):Oid("1.3.6.1.6.3.1.1.4.3.0"){}; -}; - -// SMI Cold Start Oid -class coldStartOid: public snmpTrapsOid { - public: - coldStartOid( void){*this+=".1";}; -}; - -// SMI WarmStart Oid -class warmStartOid: public snmpTrapsOid { - public: - warmStartOid( void){*this+=".2";}; -}; - -// SMI LinkDown Oid -class linkDownOid: public snmpTrapsOid { - public: - linkDownOid( void){*this+=".3";}; -}; - - -// SMI LinkUp Oid -class linkUpOid: public snmpTrapsOid { - public: - linkUpOid( void){*this+=".4";}; -}; - -// SMI Authentication Failure Oid -class authenticationFailureOid: public snmpTrapsOid { - public: - authenticationFailureOid( void){*this+=".5";}; -}; - -// SMI egpneighborloss Oid -class egpNeighborLossOid: public snmpTrapsOid { - public: - egpNeighborLossOid( void){*this+=".6";}; -}; - - -#endif // OID_DEF diff --git a/ASNMP/asnmp/pdu.cpp b/ASNMP/asnmp/pdu.cpp deleted file mode 100644 index 68c7c0c2fcd..00000000000 --- a/ASNMP/asnmp/pdu.cpp +++ /dev/null @@ -1,493 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// pdu.cpp -// -// = DESCRIPTION -// Pdu class implementation. Encapsulation of an SMI Protocol -// Data Unit (PDU) in C++. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "asnmp/pdu.h" // include Pdu class definition - -//=====================[ constructor no args ]========================= -Pdu::Pdu( void): vb_count_(0), error_status_(0), error_index_(0), -validity_(FALSE), request_id_(0), pdu_type_(0), notify_timestamp_(0), -output_(0) -{ -} - -//=====================[ constructor with vbs_ and count ]============== -Pdu::Pdu( Vb* pvbs, const int pvb_count): vb_count_(0), error_index_(0), -validity_(FALSE), request_id_(0), pdu_type_(0), notify_timestamp_(0), -output_(0) -{ - int z; // looping variable - - // zero is ok - if ( pvb_count == 0) { - validity_ = TRUE; - return; - } - - // check for over then max - if ( pvb_count > MAX_VBS) { - validity_ = FALSE; - return; - } - - // loop through and assign internal vbs_ - for (z = 0;z < pvb_count; z++) { - validity_ = FALSE; - ACE_NEW(vbs_[z], Vb( pvbs[z])); - validity_ = TRUE; - } - - // assign the vb count - vb_count_ = pvb_count; - - validity_ = TRUE; -} - -//=====================[ constructor with another Pdu instance ]======== -Pdu::Pdu( const Pdu &pdu): vb_count_(0), -error_index_(0), validity_(FALSE), request_id_(0), pdu_type_(0), -notify_timestamp_(0), output_(0) -{ - *this = pdu; - return; -} - -//=====================[ destructor ]==================================== -Pdu::~Pdu() -{ - delete_all_vbs(); - delete [] output_; -} - - -//=====================[ assignment to another Pdu object overloaded ]=== -Pdu& Pdu::operator=( const Pdu &pdu) -{ - int z; // looping variable - - // Initialize all mv's - error_status_ = pdu.error_status_; - error_index_ = pdu.error_index_; - request_id_ = pdu.request_id_; - pdu_type_ = pdu.pdu_type_; - notify_id_ = pdu.notify_id_; - notify_timestamp_ = pdu.notify_timestamp_; - notify_enterprise_ = pdu.notify_enterprise_; - validity_ = TRUE; - - // free up old vbs_ - for ( z = 0;z < vb_count_; z++) - delete vbs_[z]; - vb_count_ = 0; - - // check for zero case - if ( pdu.vb_count_ == 0) { - return *this; - } - - // loop through and fill em up - for (z = 0; z < pdu.vb_count_; z++) { - validity_ = FALSE; - ACE_NEW_RETURN(vbs_[z], Vb ( *(pdu.vbs_[z])), *this); - validity_ = TRUE; - } - - vb_count_ = pdu.vb_count_; - return *this; -} - -// append operator, appends a string -Pdu& Pdu::operator+=( Vb &vb) -{ - - // do we have room? - if ( vb_count_ + 1 > MAX_VBS) - return *this; - - // add the new one - validity_ = FALSE; - ACE_NEW_RETURN(vbs_[vb_count_], Vb (vb), *this); - // set up validity_ - validity_ = TRUE; - - // up the vb count - vb_count_++; - - // return self reference - return *this; - -} - -// return fomatted version of this object -char * Pdu::to_string() -{ - // determine how big a buffer and allocate it - const int HEADER_STR = 100; - unsigned size = HEADER_STR; // header takes up this much room - int z; - - for ( z = 0; z < vb_count_; z++) - size += ACE_OS::strlen(vbs_[z]->to_string()); - - ACE_NEW_RETURN(output_, char[size], ""); - - // print pdu header info - sprintf(output_, "pdu: valid: %d type:%d, req:%d, cnt: %d, err stat: %d \ - err idx: %d\n", validity_, pdu_type_, (int) request_id_, - vb_count_, error_status_, error_index_ ); - - // now append vb pairs in this object - for ( z = 0; z < vb_count_; z++) { - ACE_OS::strcat(output_, vbs_[z]->to_string()); - ACE_OS::strcat(output_, "\n\t"); - } - - return output_; -} - - -//=====================[ extract Vbs from Pdu ]========================== -// how do you know that the caler has enough memory??? -// should I self allocate this in here and require the -// caller then to free it up at soem later time -int Pdu::get_vblist( Vb* pvbs, const int pvb_count) -{ - if ((!pvbs) || ( pvb_count < 0) || ( pvb_count > vb_count_)) - return FALSE; - - // loop through all vbs_ and assign to params - int z; - for (z = 0; z < pvb_count; z++) - pvbs[z] = *vbs_[z]; - - return TRUE; - -} - -//=====================[ deposit Vbs ]=================================== -int Pdu::set_vblist( Vb* pvbs, const int pvb_count) -{ - - // if invalid then don't destroy - if ((!pvbs) || ( pvb_count < 0) || ( pvb_count > MAX_VBS)) - return FALSE; - - // free up current vbs_ - int z; - for ( z = 0; z < vb_count_; z++) - delete vbs_[z]; - vb_count_ = 0; - - // check for zero case - if ( pvb_count == 0) { - validity_ = TRUE; - error_status_ = 0; - error_index_ = 0; - request_id_ = 0; - return FALSE; - } - - - // loop through all vbs_ and reassign them - for ( z = 0; z < pvb_count; z++) { - validity_ = FALSE; - ACE_NEW_RETURN(vbs_[z], Vb (pvbs[z]), FALSE); - validity_ = TRUE; - } - - vb_count_ = pvb_count; - - // clear error status and index since no longer valid - // request id may still apply so don't reassign it - error_status_ = 0; - error_index_ = 0; - validity_ = TRUE; - - return TRUE; -} - -//===================[ get a particular vb ]============================= -// here the caller has already instantiated a vb object -// index is zero based -int Pdu::get_vb( Vb &vb, const int index) const -{ - // can't have an index less than 0 - if ( index < 0) - return FALSE; - - // can't ask for something not there - if ( index > (vb_count_ - 1)) - return FALSE; - - // asssign it - vb = *vbs_[index]; - - return TRUE; -} - -//===================[ set a particular vb ]============================= -int Pdu::set_vb( Vb &vb, const int index) -{ - // can't set a vb at index less than 0 - if ( index < 0) - return FALSE; - - // can't ask for something not there - if ( index > (vb_count_ - 1)) - return FALSE; - - // delete what is there - delete vbs_[index]; - - // assign it - validity_ = FALSE; - ACE_NEW_RETURN(vbs_[index], Vb (vb), FALSE); - validity_ = TRUE; - - return TRUE; - -} - -//=====================[ return number of vbs_ ]========================== -int Pdu::get_vb_count() const -{ - return vb_count_; -} - -//=====================[ return the error status ]======================= -int Pdu::get_error_status() const -{ - return error_status_; -} - -char *Pdu::agent_error_reason() -{ - int pdu_err = get_error_status(); - if (pdu_err == 0) // any real error? - return "not in error state"; - - int n_vbs = get_vb_count(); - Vb bad; - get_vb(bad, get_error_index() -1); // not zero based?? - char *pmsg = Snmp::error_string(get_error_status()); - char *id = bad.to_string_oid(); - char *val = bad.to_string_value(); - const int HDR_SZ = 100; - - if (!output_) { - int size = ACE_OS::strlen(pmsg) + ACE_OS::strlen(id) + - ACE_OS::strlen(val); - ACE_NEW_RETURN(output_, char[size + HDR_SZ], ""); - } - - ACE_OS::sprintf(output_, -"FAIL PDU REPORT: pdu id: %d vb cnt: %d vb idx: %d \n\ -msg: %s vb oid: %s value: %s", - get_request_id(), n_vbs, get_error_index(), pmsg, id, val); - - return output_; -} - -//=====================[ set the error status ]========================== -// friend -void set_error_status( Pdu *pdu, const int status) -{ - if (pdu) - pdu->error_status_ = status; -} - -//=====================[ return the error index ]======================== -int Pdu::get_error_index() const -{ - return error_index_; -} - -//=====================[ set the error index ]=========================== -// friend -void set_error_index( Pdu *pdu, const int index) -{ - if (pdu) - pdu->error_index_ = index; -} - -//=====================[ clear error status ]============================= -void clear_error_status( Pdu *pdu) -{ - if (pdu) - pdu->error_status_ = 0; -} - -//=====================[ clear error index ]============================== -void clear_error_index( Pdu *pdu) -{ - if (pdu) - pdu->error_index_ = 0; -} - -//=====================[ return the request id ]========================== -unsigned long Pdu::get_request_id() const -{ - return request_id_; -} - -//=====================[ set the request id ]============================= -// friend function -void set_request_id( Pdu *pdu, const unsigned long rid) -{ - if (pdu) - pdu->request_id_ = rid; -} - -//=====================[ returns validity_ of Pdu instance ]=============== -int Pdu::valid() const -{ - return validity_; -} - -//=====================[ get the pdu type ]=============================== -unsigned short Pdu::get_type()const -{ - return pdu_type_; -} - -// set the pdu type -void Pdu::set_type( unsigned short type) -{ - pdu_type_ = type; -} - - -// trim off the last vb -int Pdu::trim(const int p) -{ - int lp = p; - - // verify that lp is legal - if ( lp < 0 || lp > vb_count_) - return FALSE; - - while ( lp != 0) { - if ( vb_count_ > 0) { - delete vbs_[vb_count_ - 1]; - vb_count_--; - } - lp--; - } - return TRUE; -} - - - -// delete a Vb anywhere within the Pdu -int Pdu::delete_vb( const int p) -{ - // position has to be in range - if (( p < 0) || ( p > (vb_count_ - 1))) - return FALSE; - - // safe to remove it - delete vbs_[ p]; - - for ( int z=p;z < (vb_count_-1);z++) { - vbs_[z] = vbs_[z+1]; - } - vb_count_--; - - return TRUE; -} - -void Pdu::delete_all_vbs() -{ - for ( int z = 0; z < vb_count_; z++) - delete vbs_[z]; - vb_count_ = 0; -} - - -// set notify timestamp -void Pdu::set_notify_timestamp( const TimeTicks & timestamp) -{ - notify_timestamp_ = timestamp; -} - - -// get notify timestamp -void Pdu::get_notify_timestamp( TimeTicks & timestamp) const -{ - timestamp = notify_timestamp_; -} - -// set the notify id -void Pdu::set_notify_id( const Oid id) -{ - notify_id_ = id; -} - -// get the notify id -void Pdu::get_notify_id( Oid &id) const -{ - id = notify_id_; -} - -// set the notify enterprise -void Pdu::set_notify_enterprise( const Oid &enterprise) -{ - notify_enterprise_ = enterprise; -} - -// get the notify enterprise -void Pdu::get_notify_enterprise( Oid & enterprise) const -{ - enterprise = notify_enterprise_; -} - -// ------ class VbIter ------------------- -VbIter::VbIter(Pdu& pdu): idx_(-1), pdu_(&pdu) -{ -} - -// returns 1 if ok, else 0 if none left -int VbIter::next(Vb& vb) -{ - if (idx_ == -1) { - idx_ = 0; - pdu_->get_vb(vb, idx_++); - return 1; - } - else - if (idx_ < pdu_->get_vb_count()) { - pdu_->get_vb(vb, idx_++); - return 1; - } - return 0; // non left -} diff --git a/ASNMP/asnmp/pdu.h b/ASNMP/asnmp/pdu.h deleted file mode 100644 index e97b5f984d2..00000000000 --- a/ASNMP/asnmp/pdu.h +++ /dev/null @@ -1,212 +0,0 @@ -/* -*-C++-*- */ -#ifndef PDU_CLS_ -#define PDU_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// pdu.h -// -// = DESCRIPTION -// Pdu class definition. Encapsulation of an SMI Protocol -// Data Unit (PDU) aka Packet in C++. -// -// = AUTHOR -// Peter E Mellquist original code -// Michael MacFaden mrm@cisco.com ACE port, add iterator class for pdus -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -// TODO: this needs to be moved into the CLASS and modifyable at runtime -// TODO: define an iterator object to traverse the vbs in a pdu - -#define MAX_VBS 25 -#include "asnmp/vb.h" // include Vb class definition - -class ACE_Export Pdu - // = TITLE - // Protocol Data Unit (PDU) concrete class. An abstraction of the - // data packet used to by two SNMP sessions to communicate. -{ -public: - Pdu( void); - // constructor no args - - Pdu( Vb* pvbs, const int pvb_count); - // constructor with vbs and count - - Pdu( const Pdu &pdu); - // constructor with another Pdu instance - - ~Pdu(); - // destructor - - Pdu& operator=( const Pdu &pdu); - // assignment to another Pdu object overloaded - - Pdu& operator+=( Vb &vb); - // append a vb to the pdu - - // TODO: add Pdu& operator-=(const Vb &vb); - - int get_vblist( Vb* pvbs, const int pvb_count); - // extract all Vbs from Pdu - - int set_vblist( Vb* pvbs, const int pvb_count); - // deposit all Vbs to Pdu - - int get_vb( Vb &vb, const int index = 0) const; - // get a particular vb - // where 0 is the first vb - - int set_vb( Vb &vb, const int index); - // set a particular vb - // where 0 is the first vb - - int get_vb_count() const; - // return number of vbs - - int get_error_status() const; - // return the error status - - char *agent_error_reason(); - // return the complete error info from this pdu - - friend void set_error_status( Pdu *pdu, const int status); - // set the error status - - int get_error_index() const; - // return the error index - - friend void set_error_index( Pdu *pdu, const int index); - // set the error index - - friend void clear_error_status( Pdu *pdu); - // clear error status - - friend void clear_error_index( Pdu *pdu); - // clear error index - - unsigned long get_request_id() const; - // return the request id - - friend void set_request_id( Pdu *pdu, const unsigned long rid); - // set the request id - - unsigned short get_type() const; - // get the pdu type - - void set_type( unsigned short type); - // set the pdu type - - int valid() const; - // returns validity of Pdu instance - - int trim(const int count=1); - // trim off count vbs from the end of the vb list - - int delete_vb( const int position); - // delete a Vb anywhere within the Pdu - - void delete_all_vbs(); - // delete_all vbs in pdu - - void set_notify_timestamp( const TimeTicks & timestamp); - // set notify timestamp - - void get_notify_timestamp( TimeTicks & timestamp) const; - // get notify timestamp - - void set_notify_id( const Oid id); - // set the notify id - - void get_notify_id( Oid &id) const; - // get the notify id - - void set_notify_enterprise( const Oid &enterprise); - // set the notify enterprise - - void get_notify_enterprise( Oid & enterprise) const; - // get the notify enterprise - - char *to_string(); - // return fomatted version of this object - - - protected: - Vb *vbs_[MAX_VBS]; - // pointer to array of Vbs - - int vb_count_; - // count of Vbs - - int error_status_; - // SMI error status - - int error_index_; - // SMI error index - - int validity_; - // valid boolean status of object construction - unsigned long request_id_; - // SMI request id - - unsigned short pdu_type_; - // derived at run time based on request type - - TimeTicks notify_timestamp_; - // a timestamp associated with an infor - // for notify Pdu objects only - // traps & notifies - - Oid notify_id_; - // an id - - Oid notify_enterprise_; - - private: - char *output_; - // buffer for to_string() -}; - - -class VbIter - // = TITLE - // Utility class to iterate once through a PDU varbind list -{ - public: - VbIter(Pdu& pdu); - // default constructor - - int next(Vb& vb); - // returns 1 if ok, else 0 if none left - - private: - VbIter(const VbIter&); - // disallow copy constructor use - - int idx_; - // current object in list - - Pdu *pdu_; - // ptr to pdu being interated over -}; - -#endif //PDU_CLS_ - diff --git a/ASNMP/asnmp/sagent.cpp b/ASNMP/asnmp/sagent.cpp deleted file mode 100644 index 157dd8606be..00000000000 --- a/ASNMP/asnmp/sagent.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// sagent.cpp -// -// = DESCRIPTION -// SNMP agent class definition. The sagent class provides an object oriented -// approach for creating SNMP Agents. The sagent class is an encapsulation -// of SNMP sessions, gets, sets, etc. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -#include "ace/Reactor.h" -#include "ace/SOCK_Dgram.h" - -#include "asnmp/oid.h" // snmp++ oid class -#include "asnmp/vb.h" // snbmp++ vb class -#include "asnmp/target.h" // snmp++ target class -#include "asnmp/pdu.h" // snmp++ pdu class -#include "asnmp/snmperrs.h" // error macros and strings -#include "asnmp/address.h" // snmp++ address class defs -#include "asnmp/snmp.h" // manager snmp interface -#include "asnmp/sagent.h" // agent interface -#include "asnmp/transaction.h" // convert from wire to API - -sagent::sagent(unsigned short port): Snmp(port) -{ - ACE_TRACE("sagent::sagent(short)"); -} - -sagent::~sagent() -{ - ACE_TRACE("sagent::~sagent"); -} - -int sagent::handle_input(ACE_HANDLE fd) -{ - ACE_TRACE("sagent::handle_input"); - - transaction tr(iv_snmp_session_); // this section needs a better design - tr.handle_input(fd); - char rcv_com_str[MAX_COMM_STR_LEN]; - if (tr.result(pdu_, rcv_com_str) < 0) - return 0; - OctetStr community(rcv_com_str); - const ACE_INET_Addr &ta = tr.get_from_addr(); - char buf_tmp[MAXHOSTNAMELEN + 1]; - ta.addr_to_string (buf_tmp, MAXHOSTNAMELEN); - UdpAddress ra(buf_tmp); - tgt_.set_address(ra); - - - // process msg here by calling subclass's implementation - switch (pdu_.get_type()){ - case sNMP_PDU_GET: - tgt_.set_read_community(community); - this->handle_get(pdu_, tgt_); - break; - - case sNMP_PDU_GETNEXT: - tgt_.set_read_community(community); - this->handle_get_next(pdu_, tgt_); - break; - - case sNMP_PDU_SET: - tgt_.set_write_community(community); - this->handle_set(pdu_, tgt_); - break; - - default: - ACE_ASSERT(0); - } - return 0; -} - -ACE_HANDLE sagent::get_handle() const -{ - ACE_TRACE("sagent::get_handle"); - return iv_snmp_session_.get_handle(); -} - -int sagent::respond(Pdu& pdu,UdpTarget& tgt) -{ - pdu.set_type(sNMP_PDU_RESPONSE); - transaction tr(pdu, tgt, iv_snmp_session_); - tr.send(); - return 0; -} - diff --git a/ASNMP/asnmp/sagent.h b/ASNMP/asnmp/sagent.h deleted file mode 100644 index 4dbfcc2586a..00000000000 --- a/ASNMP/asnmp/sagent.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -*-C++-*- */ -#ifndef SAGENT_CLS_ -#define SAGENT_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// sagent.h -// -// = DESCRIPTION -// SNMP agent class defintion. The sagent class provides an object oriented -// approach for creating SNMP Agents. The sagent class is an encapsulation of SNMP -// sessions, gets, sets, etc. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -#include "ace/Reactor.h" -#include "ace/SOCK_Dgram.h" - -#include "asnmp/oid.h" // snmp++ oid class -#include "asnmp/vb.h" // snbmp++ vb class -#include "asnmp/target.h" // snmp++ target class -#include "asnmp/pdu.h" // snmp++ pdu class -#include "asnmp/snmperrs.h" // error macros and strings -#include "asnmp/address.h" // snmp++ address class defs -#include "asnmp/snmp.h" // snmp interface - -// sagent - supports Version 1 operations in blocking mode - -#define DEF_AGENT_PORT (161) - -class ACE_Export sagent : public ACE_Event_Handler, Snmp - // = TITLE - // Concrete class sagent defines the session and interface to - // communicate with another SNMP Version 1 manager -{ - public: - - - // override the next three methods (callbacks) to implment your agent - // - - virtual int handle_get( Pdu &pdu, UdpTarget &target) = 0; - // retrieve data from a peer agent for a given list of oid values - - virtual int handle_get_next( Pdu &pdu, UdpTarget &target) = 0; - // retrieve data lexically adjacent to the oids specified in the pdu - // from the peer agent - - virtual int handle_set( Pdu &pdu, UdpTarget &target) = 0; - // set data in the agent from the list of oids in the pdu - - virtual int handle_input(ACE_HANDLE); - // new pdu received from mgr (reactor calls this) - - virtual ACE_HANDLE get_handle() const; - // retrieve io descriptor (reactor uses this) - - int respond(Pdu& pdu, UdpTarget& tgt); - // send a response pdu to the mgr - - protected: - sagent(unsigned short port = DEF_AGENT_PORT); - virtual ~sagent(); - -private: - sagent(const sagent&); - Pdu pdu_; // current input pdu - UdpTarget tgt_; // addr & com strs -}; - -#endif //SAGENT_CLS_ - diff --git a/ASNMP/asnmp/smi.h b/ASNMP/asnmp/smi.h deleted file mode 100644 index 1071b1e6832..00000000000 --- a/ASNMP/asnmp/smi.h +++ /dev/null @@ -1,148 +0,0 @@ -/* -*-C++-*- */ -#ifndef SMIDEF_ -#define SMIDEF_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// smi.h -// -// = DESCRIPTION -// Address class definition. Encapsulates various network -// addresses into easy to use, safe and portable classes. -// -// = AUTHOR -// ?? -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. - -=====================================================================*/ - -#include "ace/OS.h" - -//----------[ ASN/BER Base Types ]----------------------------------------- -// Basic Encoding Rules (BER) -// (used in forming SYNTAXes and certain SNMP types/values) -#define aSN_UNIVERSAL (0x00) -#define aSN_APPLICATION (0x40) -#define aSN_CONTEXT (0x80) -#define aSN_PRIVATE (0xC0) -#define aSN_PRIMITIVE (0x00) -#define aSN_CONSTRUCTOR (0x20) - -//------[ SNMP ObjectSyntax Values ]--------------------------------------- -#define sNMP_SYNTAX_SEQUENCE (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x10) - - -//------------------------------------------------------------------------- -// These values are used in the "syntax" member -// of the smiVALUE structure which follows. -// Note: UInt32 is indistinguishable from Gauge32 per SNMPv2 Draft Standard -// NsapAddr is obsoleted as unique SMI type per SNMPv2 Draft Standard -#define sNMP_SYNTAX_INT (aSN_UNIVERSAL | aSN_PRIMITIVE | 0x02) -#define sNMP_SYNTAX_BITS (aSN_UNIVERSAL | aSN_PRIMITIVE | 0x03) -#define sNMP_SYNTAX_OCTETS (aSN_UNIVERSAL | aSN_PRIMITIVE | 0x04) -#define sNMP_SYNTAX_NULL (aSN_UNIVERSAL | aSN_PRIMITIVE | 0x05) -#define sNMP_SYNTAX_OID (aSN_UNIVERSAL | aSN_PRIMITIVE | 0x06) -#define sNMP_SYNTAX_INT32 sNMP_SYNTAX_INT -#define sNMP_SYNTAX_IPADDR (aSN_APPLICATION | aSN_PRIMITIVE | 0x00) -#define sNMP_SYNTAX_CNTR32 (aSN_APPLICATION | aSN_PRIMITIVE | 0x01) -#define sNMP_SYNTAX_GAUGE32 (aSN_APPLICATION | aSN_PRIMITIVE | 0x02) -#define sNMP_SYNTAX_TIMETICKS (aSN_APPLICATION | aSN_PRIMITIVE | 0x03) -#define sNMP_SYNTAX_OPAQUE (aSN_APPLICATION | aSN_PRIMITIVE | 0x04) -#define sNMP_SYNTAX_CNTR64 (aSN_APPLICATION | aSN_PRIMITIVE | 0x06) -#define sNMP_SYNTAX_UINT32 (aSN_APPLICATION | aSN_PRIMITIVE | 0x07) - -//------------------------------------------------------------------------- - -//---------------[ Exception conditions for SNMPv2 ]----------------------- -// support SNMP v2 -#define sNMP_SYNTAX_NOSUCHOBJECT (aSN_CONTEXT | aSN_PRIMITIVE | 0x00) -#define sNMP_SYNTAX_NOSUCHINSTANCE (aSN_CONTEXT | aSN_PRIMITIVE | 0x01) -#define sNMP_SYNTAX_ENDOFMIBVIEW (aSN_CONTEXT | aSN_PRIMITIVE | 0x02) - - -//--------------[ different types of PDU's ]------------------------------- -#define sNMP_PDU_GET (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x0) -#define sNMP_PDU_GETNEXT (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x1) -#define sNMP_PDU_RESPONSE (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x2) -#define sNMP_PDU_SET (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x3) -#define sNMP_PDU_V1TRAP (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x4) -#define sNMP_PDU_GETBULK (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x5) -#define sNMP_PDU_INFORM (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x6) -#define sNMP_PDU_TRAP (aSN_CONTEXT | aSN_CONSTRUCTOR | 0x7) - - -//------[ smi typedefs ]--------------------------------------------------- -// SNMP-related types from RFC1442 (SMI) - -typedef unsigned char SmiBYTE, *SmiLPBYTE; - -//------------------------------------------------------------------------- -// SNMP-related types from RFC1442 (SMI) - -// int -typedef long SmiINT, *SmiLPINT; - -// int 32 -typedef SmiINT SmiINT32, *SmiLPINT32; - -// unit32 -typedef unsigned long SmiUINT32, *SmiLPUINT32; - -// octet struct -typedef struct { - SmiUINT32 len; - SmiLPBYTE ptr;} SmiOCTETS, *SmiLPOCTETS; - -// bits -typedef SmiOCTETS SmiBITS, *SmiLPBITS; - -// SMI oid struct -typedef struct { - SmiUINT32 len; - SmiLPUINT32 ptr;} SmiOID, *SmiLPOID; - -// ipaddr -typedef SmiOCTETS SmiIPADDR, *SmiLPIPADDR; - -// 32bit counter -typedef SmiUINT32 SmiCNTR32, *SmiLPCNTR32; - -// gauge -typedef SmiUINT32 SmiGAUGE32, *SmiLPGAUGE32; - -// timeticks -typedef SmiUINT32 SmiTIMETICKS, *SmiLPTIMETICKS; - -// opaque -typedef SmiOCTETS SmiOPAQUE, *SmiLPOPAQUE; - -// nsapaddr -typedef SmiOCTETS SmiNSAPADDR, *SmiLPNSAPADDR; - -// 64 bit counter -typedef struct { - SmiUINT32 hipart; - SmiUINT32 lopart; -} SmiCNTR64, *SmiLPCNTR64; - -#endif // SMIDEF_ - - diff --git a/ASNMP/asnmp/smival.h b/ASNMP/asnmp/smival.h deleted file mode 100644 index 3906e084dd9..00000000000 --- a/ASNMP/asnmp/smival.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -*-C++-*- */ -#ifndef SMIVALUE_ -#define SMIVALUE_ -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// smival.h -// -// = DESCRIPTION -// SMIValue class definition. Superclass for the various types -// of SNMP values (Address, Oid, Octet, etc.). Provides -// only a few functions, most info is in subclass. -// -// = AUTHOR -// Jeff Meyer -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//----[ includes ]----------------------------------------------------- -#include "asnmp/smi.h" - -//----[ macros ]------------------------------------------------------- - -//====================================================================== -// SMI value structure conforming with SMI RFC -// -typedef struct { /* smiVALUE portion of VarBind */ - SmiUINT32 syntax; /* Insert SNMP_SYNTAX_ */ - union { - SmiINT sNumber; /* SNMP_SYNTAX_INT - SNMP_SYNTAX_INT32 */ - SmiUINT32 uNumber; /* SNMP_SYNTAX_UINT32 - SNMP_SYNTAX_CNTR32 - SNMP_SYNTAX_GAUGE32 - SNMP_SYNTAX_TIMETICKS */ - SmiCNTR64 hNumber; /* SNMP_SYNTAX_CNTR64 */ - SmiOCTETS string; /* SNMP_SYNTAX_OCTETS - SNMP_SYNTAX_BITS - SNMP_SYNTAX_OPAQUE - SNMP_SYNTAX_IPADDR - SNMP_SYNTAX_NSAPADDR */ - SmiOID oid; /* SNMP_SYNTAX_OID */ - SmiBYTE empty; /* SNMP_SYNTAX_NULL - SNMP_SYNTAX_NOSUCHOBJECT - SNMP_SYNTAX_NOSUCHINSTANCE - SNMP_SYNTAX_ENDOFMIBVIEW */ - } value; -} SmiVALUE, *SmiLPVALUE; - -// An "abstract" (pure virtual) class that serves as the base class -// for all specific SNMP syntax types. -// -class ACE_Export SnmpSyntax { - -public: - virtual char * to_string() = 0; - // virtual function for getting a printable ASCII value for any SNMP Value - - virtual SmiUINT32 get_syntax() = 0; - // return the current syntax - - virtual SnmpSyntax * clone() const = 0; - // virtual clone operation for creating a new Value from an existing - // value. The caller MUST use the delete operation on the return - // value when done. - - virtual ~SnmpSyntax() {}; - // virtual destructor to ensure deletion of derived classes... - - virtual SnmpSyntax& operator=( SnmpSyntax &/*val*/) - { - return *this; - } - // overloaded assignment operator - // This should be pure virtual, but WinNT compiler - // complains about unresolved reference at link time. - - virtual int valid() const = 0; - // return validity of value object. - -protected: - SmiVALUE smival; -}; - -#endif // SMIVALUE_ diff --git a/ASNMP/asnmp/snmp.cpp b/ASNMP/asnmp/snmp.cpp deleted file mode 100644 index 357b4e1537e..00000000000 --- a/ASNMP/asnmp/snmp.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// snmp.cpp -// -// = DESCRIPTION -// The basic SNMPv1 API - blocking version using UDP/IPv4 transport -// and addressing. -// -// = AUTHOR -// Peter E Mellquist class design/orig code -// Michael R MacFaden mrm@cisco.com / rework API, use ACE facilities -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - - -#define INCLUDE_SNMP_ERR_STRINGS_ - -//----[ snmp++ includes ]---------------------------------------------- -#include "asnmp/snmp.h" // class def for this module -#include "asnmp/oid.h" // class def for oids -#include "asnmp/enttraps.h" // class def for well known trap oids -#include "asnmp/vb.h" // class def for vbs -#include "asnmp/address.h" // class def for addresses -#include "asnmp/wpdu.h" // adapter to cmu_library / wire protocol -#include "asnmp/transaction.h" // synchronous transaction processor - -const coldStartOid coldStart; -const warmStartOid warmStart; -const linkDownOid linkDown; -const linkUpOid linkUp; -const authenticationFailureOid authenticationFailure; -const egpNeighborLossOid egpNeighborLoss; -const snmpTrapEnterpriseOid snmpTrapEnterprise; - -Snmp::Snmp(unsigned short port): result_(0), construct_status_(SNMP_CLASS_ERROR), last_transaction_status_(0) -{ - ACE_TRACE("Snmp::Snmp"); - - ACE_INET_Addr addr(port); // any port,address is ok - if (iv_snmp_session_.open(addr) < 0) { - last_transaction_status_ = errno; // open udp/ipv4 socket - ACE_DEBUG((LM_DEBUG, "Snmp::snmp::open port %d failed", port)); - return; - } - - // initial request id randomly generated then monotonically incremented - req_id_ = (unsigned) ACE_OS::time(NULL); - - construct_status_ = SNMP_CLASS_SUCCESS; - return; -} - -Snmp::~Snmp() -{ - ACE_TRACE("Snmp::~Snmp"); - iv_snmp_session_.close(); -} - -int Snmp::valid() const -{ - return construct_status_; -} - -// given error code, return string definition -// class version -// static -char * Snmp::error_string(int last_transaction_status_) -{ - ACE_TRACE("Snmp::error_string"); - - return ((last_transaction_status_ < 0) ? - ((last_transaction_status_ < MAX_NEG_ERROR)? - nErrs[ abs(MAX_NEG_ERROR) + 1] : nErrs[abs(last_transaction_status_)]): - ((last_transaction_status_ > MAX_POS_ERROR)? - pErrs[MAX_POS_ERROR+1] : pErrs[last_transaction_status_])); -} - -// instance version -char * Snmp::error_string() -{ - return Snmp::error_string(last_transaction_status_); -} - -void Snmp::check_default_port(UdpTarget& target, unsigned short port) -{ - UdpAddress tmp; - target.get_address(tmp); - if (tmp.get_port() == 0) { - tmp.set_port(port); - target.set_address(tmp); - } -} - -int Snmp::run_transaction(Pdu& pdu, UdpTarget& target) -{ - int rc, done = 0; - - // 1. set unique id to match this packet on return - size_t hold_req_id = req_id_++; - set_request_id(&pdu, hold_req_id); - - // 2. write request to agent - transaction trans(pdu, target, iv_snmp_session_); - - // this call blocks while it attempts to retrieve agent response - while (!done) { - if ((rc = trans.run()) < 0) { - last_transaction_status_ = rc; - return rc; - } - else { - trans.result(pdu); - // verify this is the pdu we are after - if (pdu.get_request_id() == hold_req_id) - done = 1 ; - } - } - return 0; -} - -int Snmp::run_transaction(Pdu& pdu, UdpTarget& target, Snmp_Result * cb) -{ - if (!cb) - return run_transaction(pdu, target); - - // 1. set unique id to match this packet on return - hold_req_id_ = req_id_++; - set_request_id(&pdu, hold_req_id_); - pdu_ = &pdu; - result_ = cb; - - // 2. write request to agent - transaction * trans = new transaction(pdu, target, iv_snmp_session_); - return trans->run(this); -} - -void Snmp::result(transaction *t, int rc) -{ - t->result(*pdu_); - // verify this is the pdu we are after - if (pdu_->get_request_id() == hold_req_id_) - { - last_transaction_status_ = rc; - delete t; - result_->result(this, rc); - } - else - { - rc = t->run(this); - if (rc < 0) - { - delete t; - result_->result(this, rc); - } - } -} - -int Snmp::validate_args(const Pdu& pdu, const UdpTarget& target) const -{ - // 0. check object status - if (construct_status_ != SNMP_CLASS_SUCCESS) - return construct_status_; - - // 1. check args passed - if ( !pdu.valid() || !target.valid() ) - return SNMP_INVALID_ARGS; - return 0; -} - -// SYNC API: write request to wire then wait for reply or timeout -int Snmp::get( Pdu &pdu, UdpTarget &target, Snmp_Result * cb) -{ - ACE_TRACE("Snmp::get"); - int rc; - if ((rc = validate_args(pdu, target)) != 0) - return rc; - - pdu.set_type( sNMP_PDU_GET); - check_default_port(target); - return run_transaction(pdu, target, cb); -} - -int Snmp::get_next( Pdu &pdu, UdpTarget &target, Snmp_Result * cb) -{ - ACE_TRACE("Snmp::get_next"); - int rc; - if ((rc = validate_args(pdu, target)) != 0) - return rc; - - pdu.set_type( sNMP_PDU_GETNEXT); - check_default_port(target); - return run_transaction(pdu, target, cb); -} - -int Snmp::set( Pdu &pdu, UdpTarget &target, Snmp_Result * cb) -{ - ACE_TRACE("Snmp::set"); - int rc; - if ((rc = validate_args(pdu, target)) != 0) - return rc; - - pdu.set_type( sNMP_PDU_SET); - check_default_port(target); - return run_transaction(pdu, target, cb); -} - -// one way, best of luck, non-confirmed alert -int Snmp::trap( Pdu &pdu, UdpTarget &target) -{ - ACE_TRACE("Snmp::trap"); - int rc; - if ((rc = validate_args(pdu, target)) != 0) - return rc; - - pdu.set_type( sNMP_PDU_V1TRAP); - check_default_port(target, DEF_TRAP_PORT); - - // 2. write request to agent - transaction trans(pdu, target, iv_snmp_session_); - if (trans.send() > 0) // expect number of bytes sent on - return 0; - - last_transaction_status_ = SNMP_CLASS_INTERNAL_ERROR; - return -1; -} - -Snmp_Result::~Snmp_Result() {} - diff --git a/ASNMP/asnmp/snmp.h b/ASNMP/asnmp/snmp.h deleted file mode 100644 index a26a90fb2aa..00000000000 --- a/ASNMP/asnmp/snmp.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -*-C++-*- */ -#ifndef SNMP_CLS_ -#define SNMP_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// snmp.h -// -// = DESCRIPTION -// SNMP class defintion. The Snmp class provides an object oriented -// approach to SNMP. The SNMP class is an encapsulation of SNMP -// sessions, gets, sets, etc. The class manages all SNMP -// resources and provides complete retry and timeout capability. -// -// = AUTHOR -// Peter E Mellquist design, first implementation -// Michael R. MacFaden port to ACE / use Reactor pattern -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "ace/Reactor.h" -#include "ace/SOCK_Dgram.h" - -#include "asnmp/oid.h" // snmp++ oid class -#include "asnmp/vb.h" // snbmp++ vb class -#include "asnmp/target.h" // snmp++ target class -#include "asnmp/pdu.h" // snmp++ pdu class -#include "asnmp/snmperrs.h" // error macros and strings -#include "asnmp/address.h" // snmp++ address class defs -#include "asnmp/transaction_result.h" - -class Snmp; -class ACE_Export Snmp_Result -{ - public: - virtual ~Snmp_Result(); - virtual void result(Snmp *snmp, int result) = 0; -}; - -// Snmp session class - supports Version 1 operations in blocking mode -class ACE_Export Snmp : public transaction_result - // = TITLE - // Concrete class Snmp defined the session and interface to - // communicate with another SNMP Version 1 agent -{ - Snmp_Result * result_; - Pdu * pdu_; - unsigned hold_req_id_; - public: - Snmp(unsigned short port = INADDR_ANY); - virtual ~Snmp(); - - int get( Pdu &pdu, UdpTarget &target, Snmp_Result * cb = 0); - // retrieve data from a peer agent for a given list of oid values - // default port 161 - - int get_next( Pdu &pdu, UdpTarget &target, Snmp_Result * cb = 0); - // retrieve data lexically adjacent to the oids specified in the pdu - // from the peer agent - // default port 161 - - int set( Pdu &pdu, UdpTarget &target, Snmp_Result * cb = 0); - // set data in the agent from the list of oids in the pdu - // default port 161 - - int trap( Pdu &pdu, UdpTarget &target); - // send an SNMPv1 trap (unreliable) to a remote system (def port 162) - - int valid() const; - // status of object after construction - - static char * error_string(int code); - // given error code, return string reason - - char * error_string(); - // retrieve a reason string if any of the above commands fail - - void result(transaction * t, int rc); - // for async transaction results - - protected: - void check_default_port(UdpTarget& target,unsigned short port=DEF_AGENT_PORT); - int run_transaction(Pdu& pdu, UdpTarget& target); - int run_transaction(Pdu& pdu, UdpTarget& target, Snmp_Result * cb); - int validate_args(const Pdu& pdu, const UdpTarget& target) const; - - Snmp(const Snmp&); - - ACE_SOCK_Dgram iv_snmp_session_; - // io object - - int construct_status_; - // status of construction - - int last_transaction_status_; - // result code from last transaction - - unsigned req_id_; - // transaction request id -}; - -#endif //SNMP_CLS_ - diff --git a/ASNMP/asnmp/snmperrs.h b/ASNMP/asnmp/snmperrs.h deleted file mode 100644 index a6374052e57..00000000000 --- a/ASNMP/asnmp/snmperrs.h +++ /dev/null @@ -1,213 +0,0 @@ -/* -*-C++-*- */ -#ifndef SNMPERRS_H_ -#define SNMPERRS_H_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// snmperrs.h -// -// = DESCRIPTION -// Definition of error macros and error strings -// -// = AUTHOR -// Jeff Meyer -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -============================================================================*/ - - -//-------[ Positive ASNMP Error Return Codes ]------------------------------ -// These values are error status values from RFC 1905 -// -// The values can be returned via Pdu::get_error_status() -// -#define SNMP_ERROR_SUCCESS 0 // Success Status -#define SNMP_ERROR_TOO_BIG 1 // Pdu encoding too big -#define SNMP_ERROR_NO_SUCH_NAME 2 // No such VB name, see error index -#define SNMP_ERROR_BAD_VALUE 3 // Bad Vb -#define SNMP_ERROR_READ_ONLY 4 // VB is read only, see error index -#define SNMP_ERROR_GENERAL_VB_ERR 5 // General VB error, see error index -#define SNMP_ERROR_NO_ACCESS 6 // No access to MIBs data -#define SNMP_ERROR_WRONG_TYPE 7 // Requested type was incorrect -#define SNMP_ERROR_WRONG_LENGTH 8 // Request Pdu has inccorect length -#define SNMP_ERROR_WRONG_ENCODING 9 // Request Pdu has wrong encoding -#define SNMP_ERROR_WRONG_VALUE 10 // Request Pdu has wrong value -#define SNMP_ERROR_NO_CREATION 11 // Unable to create object specified -#define SNMP_ERROR_INCONSIST_VAL 12 // Inconsistent value in request -#define SNMP_ERROR_RESOURCE_UNAVAIL 13 // Resources unavailable -#define SNMP_ERROR_COMITFAIL 14 // Unable to comit -#define SNMP_ERROR_UNDO_FAIL 15 // Unable to undo -#define SNMP_ERROR_AUTH_ERR 16 // Authentication failure -#define SNMP_ERROR_NOT_WRITEABLE 17 // Mib Object not writeable -#define SNMP_ERROR_INCONSIS_NAME 18 // Inconsistent naming used - - -//-------[ Negative ASNMP Result/Error Return Codes ]------------------- - -// General -#define SNMP_CLASS_SUCCESS 0 // success -#define SNMP_CLASS_ERROR -1 // general error -#define SNMP_CLASS_RESOURCE_UNAVAIL -2 // e.g., malloc failed -#define SNMP_CLASS_INTERNAL_ERROR -3 // unexpected / internal error -#define SNMP_CLASS_UNSUPPORTED -4 // unsupported function - -// Callback reasons: -#define SNMP_CLASS_TIMEOUT -5 // outstanding request timed out -#define SNMP_CLASS_ASYNC_RESPONSE -6 // received response for outstd request -#define SNMP_CLASS_NOTIFICATION -7 // received notification (trap/inform) -#define SNMP_CLASS_SESSION_DESTROYED -8 // snmp::destroyed with oustanding reqs pending - -// Snmp Class: -#define SNMP_CLASS_INVALID -10 // snmp::mf called on invalid instance -#define SNMP_CLASS_INVALID_PDU -11 // invalid pdu passed to mf -#define SNMP_CLASS_INVALID_TARGET -12 // invalid target passed to mf -#define SNMP_CLASS_INVALID_CALLBACK -13 // invalid callback to mf -#define SNMP_CLASS_INVALID_REQID -14 // invalid request id to cancel -#define SNMP_CLASS_INVALID_NOTIFYID -15 // missing trap/inform oid -#define SNMP_CLASS_INVALID_OPERATION -16 // snmp operation not allowed for specified target -#define SNMP_CLASS_INVALID_OID -17 // invalid oid passed to mf -#define SNMP_CLASS_INVALID_ADDRESS -18 // invalid address passed to mf -#define SNMP_CLASS_ERR_STATUS_SET -19 // agent returned response pdu with error_status set - -// Transport Errors: -#define SNMP_CLASS_TL_UNSUPPORTED -20 // transport unsupported -#define SNMP_CLASS_TL_IN_USE -21 // transport in use -#define SNMP_CLASS_TL_FAILED -22 // transport operation failed - -// extras -#define SNMP_CLASS_SHUTDOWN -23 // used for back door shutdown -#define SNMP_INVALID_ARGS -24 // invalid args passed - -#ifdef INCLUDE_SNMP_ERR_STRINGS_ - -// ASCII strings returned through Snmp::error() function. NOTE: altering -// the strings in this header file will not affect the return values of -// Snmp::error(), unless you rebuild the ASNMP library from source. - -#define MAX_POS_ERROR SNMP_ERROR_INCONSIS_NAME -#define MAX_NEG_ERROR SNMP_CLASS_SHUTDOWN - -static char * pErrs[] = { - "Success", // 0 - "SNMP: Response PDU Too Big", // 1 - "SNMP: Variable does not exist", // 2 - "SNMP: Cannot modify variable: Bad Value", // 3 - "SNMP: Cannot modify object, Read Only", // 4 - "SNMP: Cannot perform operation, General Error", // 5 - "SNMP: Cannot access variable, No Access", // 6 - "SNMP: Cannot create/modify variable, Wrong Type", // 7 - "SNMP: Cannot create/set variable, Wrong Length", // 8 - "SNMP: Cannot create/set variable, Wrong Encoding", // 9 - "SNMP: Cannot create/set variable, Wrong Value", // 10 - "SNMP: Cannot create variable, Creation Not Allowed", // 11 - "SNMP: Cannot create/set variable, Inconsistent Value", // 12 - "SNMP: Cannot create/set variable, Resource Unavailable", // 13 - "SNMP: Cannot create/set variable, Commit Failed", // 14 - "SNMP: Cannot create/set variable, Undo Failed", // 15 - "SNMP: Cannot perform operation, Authorization Error", // 16 - "SNMP: Cannot create/set variable, Not Writable", // 17 - "SNMP: Cannot create variable, Inconsistent Name", // 18 -}; - - -static char * nErrs[] = { - // General: - // 0 SNMP_CLASS_SUCCESS - "ASNMP: Success", - - // 1 SNMP_CLASS_ERROR - "ASNMP: Operation failed", - - // 2 SNMP_CLASS_RESOURCE_UNAVAIL - "ASNMP: Resource unavailable", - - // 3 SNMP_CLASS_INTERNAL_ERROR - "ASNMP: Internal error", - - // 4 SNMP_CLASS_UNSUPPORTED - "ASNMP: Unsupported function", - - // Callback reasons: - // 5 SNMP_CLASS_TIMEOUT - "ASNMP: SNMP request timed out", - - // 6 SNMP_CLASS_ASYNC_RESPONSE - "ASNMP: Received SNMP Response", - - // 7 SNMP_CLASS_NOTIFICATION - "ASNMP: Received SNMP Notification (trap or inform)", - - // 8 SNMP_CLASS_SESSION_DESTROYED - "ASNMP: Closing session with outstanding requests", - - // 9 reserved for future - "Unknown error code", - - // Snmp Class errors: - // 10 SNMP_CLASS_INVALID - "ASNMP: Class not valid", - - // 11 SNMP_CLASS_INVALID_PDU - "ASNMP: Invalid Pdu", - - // 12 SNMP_CLASS_INVALID_TARGET - "ASNMP: Invalid Target", - - // 13 SNMP_CLASS_INVALID_CALLBACK - "ASNMP: Invalid (null) Callback Function", - - // 14 SNMP_CLASS_INVALID_REQID - "ASNMP: Invalid Request Id", - - // 15 SNMP_CLASS_INVALID_NOTIFYID - "ASNMP: Invalid Notification Id", - - // 16 SNMP_CLASS_INVALID_OPERATION - "ASNMP: SNMP Operation not supported on specified Target", - - // 17 SNMP_CLASS_INVALID_OID - "ASNMP: Invalid Object Identifier", - - // 18 SNMP_CLASS_INVALID_ADDRESS - "ASNMP: Invalid Address", - - // 19 SNMP_CLASS_ERR_STATUS_SET - "ASNMP: Agent indicates error in SNMP request", - - // Transport Errors: - // 20 SNMP_CLASS_TL_UNSUPPORTED - "ASNMP: Transport is not supported", - - // 21 SNMP_CLASS_TL_IN_USE - "ASNMP: Transport is in use", - - // 22 SNMP_CLASS_TL_FAILED - "ASNMP: Transport operation failed", - - // 23 SNMP_CLASS_SHUTDOWN - "ASNMP: Blocked Mode Shutdown", - - // unknown error code - "Unknown error code", -}; - -#endif //INCLUDE_SNMP_ERR_STRINGS_ - -#endif //SNMPERRS_H_ diff --git a/ASNMP/asnmp/target.cpp b/ASNMP/asnmp/target.cpp deleted file mode 100644 index 7cb0a9c99e8..00000000000 --- a/ASNMP/asnmp/target.cpp +++ /dev/null @@ -1,321 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// target.cpp -// -// = DESCRIPTION -// Target class defines target SNMP agents. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. - =====================================================================*/ - -#include "asnmp/target.h" - -//---------------------------------------------------------------------- -//--------[ Class default values ]---------------------- -//---------------------------------------------------------------------- -u_long SnmpTarget::default_timeout_ = DEF_TIMEOUT; -int SnmpTarget::default_retries_ = DEF_RETRIES; -u_long SnmpTarget::default_max_pdu_size_ = DEF_MAX_SNMP_PACKET; -snmp_version SnmpTarget::default_version_ = version1; - -OctetStr UdpTarget::default_rd_community_(READ_COMM_STR); -OctetStr UdpTarget::default_wr_community_(WRITE_COMM_STR); - -//---------------------------------------------------------------------- -//--------[ Abstract SnmpTarget Member Functions ]---------------------- -//---------------------------------------------------------------------- -SnmpTarget::SnmpTarget(): - validity_(FALSE), timeout_(default_timeout_), retries_(default_retries_), - max_pdu_size_(default_max_pdu_size_), version_(default_version_) -{ -} - -// return validity of target -int SnmpTarget::valid() const -{ - return validity_; -} - -// allow destruction of derived classes -SnmpTarget::~SnmpTarget() -{ -} - -// set the timeout -void SnmpTarget::set_timeout( const u_long t) -{ - timeout_ = t; -} - -// change the default timeout -void SnmpTarget::set_default_timeout( const u_long t) -{ - default_timeout_ = t; -} - -// set the retry value -void SnmpTarget::set_retry( const int r) -{ - retries_ = r; -} - -// change the default retries -void SnmpTarget::set_default_retry( const int r) -{ - default_retries_ = r; -} - -void SnmpTarget:: set_max_pdu_size(const u_long max_pdu_sz) -{ - max_pdu_size_ = max_pdu_sz; -} - - -void SnmpTarget::set_default_max_pdu_size(const u_long max_pdu_sz) -{ - default_max_pdu_size_ = max_pdu_sz; -} - -void SnmpTarget::set_version( const snmp_version v) -{ - version_ = v; -} - -void SnmpTarget::set_default_version( const snmp_version v) -{ - default_version_ = v; -} - -snmp_version SnmpTarget::get_version() const -{ - return version_; -} - -snmp_version SnmpTarget::get_default_version() const -{ - return default_version_; -} - -u_long SnmpTarget::get_max_pdu_size() const -{ - return max_pdu_size_; -} - -// get the retry value -int SnmpTarget::get_retry() const -{ - return retries_; -} - -// get the retry value -int SnmpTarget::get_default_retry() const -{ - return default_retries_; -} - -// get the timeout -u_long SnmpTarget::get_timeout() const -{ - return timeout_; -} - -SnmpTarget& SnmpTarget::operator=(const SnmpTarget& lhs) -{ - if (this == &lhs) - return *this; - - validity_ = lhs.validity_; - timeout_ = lhs.timeout_; - retries_ = lhs.retries_; - max_pdu_size_ =lhs.max_pdu_size_; - version_ = lhs.version_; - return *this; -} - -int operator==(const SnmpTarget& lhs, const SnmpTarget& rhs) -{ - if (lhs == rhs) - return 1; - - if (lhs.timeout_ != rhs.timeout_) - return 0; - - if (lhs.retries_ != rhs.retries_) - return 0; - - if (lhs.max_pdu_size_ != rhs.max_pdu_size_) - return 0; - - if (lhs.version_ != rhs.version_) - return 0; - - return 1; -} - - -//---------------------------------------------------------------------- -//--------[ IpTarget Member Functions ]---------------------------------- -//---------------------------------------------------------------------- - - -//---------[ UdpTarget::UdpTarget( void) ]---------------------------------- - -UdpTarget::UdpTarget() -{ - validity_ = FALSE; - read_community_ = default_rd_community_; // assign by init fails - write_community_ = default_wr_community_; -} - -UdpTarget::UdpTarget(const UdpAddress& udp) : udp_address_(udp) -{ - if (udp_address_.valid()) - validity_ = TRUE; - read_community_ = default_rd_community_; - write_community_ = default_wr_community_; -} - -// - copy constructor can be synthesised by compiler - -//-----------[ UdpTarget::~UdpTarget() ]-------------------------------- -UdpTarget::~UdpTarget() -{ -} - -//-----------[ UdpTarget::clone() ]-------------------------------- -SnmpTarget * UdpTarget::clone() const -{ - return (SnmpTarget *) new UdpTarget(*this); -} - - -void UdpTarget::set_default_read_community(const OctetStr& rd_community) -{ - default_rd_community_ = rd_community; -} - -void UdpTarget::set_default_write_community(const OctetStr& wr_community) -{ - default_wr_community_ = wr_community; -} - - -// get the read community name as an u_char and len -void UdpTarget::get_read_community( OctetStr& read_community_oct) const -{ - read_community_oct = read_community_; -} - -//---------[ UdpTarget::set_getcommunity ]--------------------------------- -// set the read community name -void UdpTarget::set_read_community( const OctetStr& new_read_community) -{ - read_community_ = new_read_community; -} - -//---------[ UdpTarget::get_writecommunity ]---------------------------- -// get the write community -void UdpTarget::get_write_community( OctetStr &write_community_oct) const -{ - write_community_oct = write_community_; -} - -//-----------[ UdpTarget::set_writecommunity ]--------------------------- -// set the write community -void UdpTarget::set_write_community( const OctetStr& write_community_oct) -{ - write_community_ = write_community_oct; -} - -//------------[ Address& UdpTarget::get_address() ]--------------------- -// get the address -void UdpTarget::get_address( UdpAddress &address) const -{ - address = udp_address_; - return; -} - -//-------------[ UdpTarget::set_address ]-------------------------------- -// set the address -int UdpTarget::set_address( UdpAddress &udp_address) -{ - udp_address_ = udp_address; - if ( udp_address_.valid()) - validity_ = TRUE; - else - validity_ = FALSE; - - return validity_; -} - -// overloaded assignment -UdpTarget& UdpTarget::operator=( const UdpTarget& lhs) -{ - if (this == &lhs) - return *this; - - // assign base part - *((SnmpTarget *) this) = *((SnmpTarget *)&lhs); - - udp_address_ = lhs.udp_address_; - read_community_ = lhs.read_community_; - write_community_ = lhs.write_community_; - validity_ = lhs.validity_; - - return *this; -} - -char *UdpTarget::to_string() -{ - sprintf(output_buffer_,"UdpTarget: [ valid: %d addr: %s rd: %s wr: %s \ -ver: %d, timeout: %d, retries: %d max_pdu_size: %d]", - valid(), udp_address_.to_string(), read_community_.to_string(), - write_community_.to_string(), version_, (int) timeout_, - retries_, max_pdu_size_); - return output_buffer_; -} - -//=============[ int operator == UdpTarget, UdpTarget ]=============== -// equivlence operator overloaded -int operator==( const UdpTarget &lhs,const UdpTarget &rhs) -{ - // need to compare all the members of a UdpTarget - if ( lhs.read_community_ != rhs.read_community_) - return 0; // != - - if ( lhs.write_community_ != rhs.write_community_) - return 0; // != - - if ( lhs.udp_address_ != rhs.udp_address_) - return 0; - - if ( lhs.timeout_ != rhs.timeout_) - return 0; - - if ( lhs.retries_ != rhs.retries_) - return 0; - - return 1; // they are equal -} diff --git a/ASNMP/asnmp/target.h b/ASNMP/asnmp/target.h deleted file mode 100644 index ffa080a0e02..00000000000 --- a/ASNMP/asnmp/target.h +++ /dev/null @@ -1,246 +0,0 @@ -/* -*-C++-*- */ -#ifndef TARGET_ -#define TARGET_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// target.h -// -// = DESCRIPTION -// -// = AUTHOR -// Peter E Mellquist -// Michael R. MacFaden (ported to ACE) -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS" without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//----[ includes ]------------------------------------------------ -#include "ace/INET_Addr.h" -#include "asnmp/address.h" -#include "asnmp/oid.h" -#include "asnmp/octet.h" - -//----[ enumerated types for SNMP versions ]------------------------- -enum snmp_version { - version1, // 0 - version2c, // 1 (Cisco IOS does not have IOS v2c agent available yet) - version3 // 2 (IETF working on this version) -}; - -// targets contain the following default properties -enum ASNMP_Defs { - DEF_TIMEOUT = 1, // unit: seconds - DEF_RETRIES = 1, // no retry default - DEF_MAX_SNMP_PACKET = 1430, // maximum pdu len on the wire (eth mtu-ip hdr) - // split bigger pdus (not implemented yet) - DEF_AGENT_PORT = 161, // port # for SNMP agent - DEF_TRAP_PORT = 162, // port # for SNMP trap receiver - DEF_VERSION = version1, // default SNMP version - MAX_COMM_STR_LEN = 255, // max value this impl will accept from client - MAX_TARGET_STRING_REP = 2048 // max value this impl will accept from client -}; - -#define READ_COMM_STR "public" -#define WRITE_COMM_STR "private" - -// Abstract class used to provide a virtual interface into Targets -// -class ACE_Export SnmpTarget - // = TITLE - // Abstract Base class SnmpTarget is used to Collect all transmission - // details to communicate with an SNMP -{ - public: - - virtual ~SnmpTarget(); - // allow destruction of derived classes - - int valid() const; - // return validity of target - - void set_retry( const int r); - // set the retry value - - void set_timeout( const unsigned long t); - // set the object's timeout (in seconds) - - void set_version( const snmp_version v); - // set the instance version - - void set_max_pdu_size(const unsigned long max_pdu_sz); - // all classes constructed will have this write community string - - void set_default_timeout( const unsigned long t); - // change the "class" default default timeout (in seconds) - - void set_default_retry( const int r); - // change the default send retries - - void set_default_max_pdu_size(const unsigned long max_pdu_sz); - // all classes constructed will have this write community string - - void set_default_version( const snmp_version v); - // change class default - - // *** get methods *** - - int get_default_retry() const; - // get the retry value - - unsigned long get_timeout() const; - // get the timeout (seconds) - - unsigned long get_max_pdu_size() const; - // get instance max buffer size - - void get_default_max_pdu_size(const unsigned long max_pdu_sz); - // all classes constructed will have this write community string - - snmp_version get_version() const; - // get the version - - snmp_version get_default_version() const; - - int get_retry() const; - // return send retry number for this instancd - - virtual SnmpTarget *clone() const = 0; - // virtual clone operation for creating a new SnmpTarget from an existing - // SnmpTarget. The caller MUST use the delete operation on the return - // value when done. - - friend int operator==(const SnmpTarget& lhs, const SnmpTarget& rhs); - // manipulate the base part - - SnmpTarget& operator=(const SnmpTarget& lhs); - - protected: - SnmpTarget(); - // SnmpTarget(const SnmpTarget &); - - int validity_; - // used by derived class instances - - unsigned long timeout_; - // instance value xmit timeout in milli secs - - int retries_; - // instance value number of retries - - unsigned max_pdu_size_; - // size of pdu - - snmp_version version_; - // instance value the snmp version - - // class wide default values - static unsigned long default_timeout_; - // xmit timeout in secs - - static int default_retries_; - // number of retries - - static unsigned long default_max_pdu_size_; - static snmp_version default_version_; - // snmp protocol version -}; - -//----[ UdpTarget class ]---------------------------------------------- -// UDP/IP transport using "community string" based agents (targets) -// -class ACE_Export UdpTarget: public SnmpTarget - // = TITLE - // Concrete class UdpTarget contains all Details for communicating - // with a SNMPv1 agent over UDP/IPv4 transport -{ - public: - UdpTarget(); - - UdpTarget( const UdpAddress& udp); - // constructor with only address - // assumes default as public, public - // can be constructed with IP address object - - UdpTarget( ACE_INET_Addr& ace_inet_addr); - // can be constructed with Udp address object TODO: merge addresses - - ~UdpTarget(); - // destructor - - // ** set *** - - void set_read_community( const OctetStr& new_read_community); - // set the read community using an OctetStr - - void set_write_community( const OctetStr& write_community); - // set the write community using an OctetStr - - int set_address( UdpAddress &udp_address); - // set the address - - // ** get *** - - void get_read_community( OctetStr& read_community_oct) const; - // get the read community as an Octet Str object - - void get_write_community( OctetStr &write_community_oct) const; - // get the write community as an OctetStr - - void get_address( UdpAddress& address) const; - // get the address - - void set_default_read_community(const OctetStr& rd_community); - // all classes constructed will have this read community string - - void set_default_write_community(const OctetStr& wr_community); - // all classes constructed will have this write community string - - void get_default_read_community(OctetStr& rd_community) const; - // all classes constructed will have this read community string - - void get_default_write_community(OctetStr& wr_community) const; - // all classes constructed will have this write community string - - UdpTarget& operator=( const UdpTarget& target); - // overloaded assignment - - friend int operator==( const UdpTarget &lhs, const UdpTarget &rhs); - // compare two C targets - - char *to_string(); - // string representation of object - - SnmpTarget *clone() const; - // clone from existing UdpTarget - - protected: - static OctetStr default_rd_community_; - static OctetStr default_wr_community_; - OctetStr read_community_; - OctetStr write_community_; - UdpAddress udp_address_; - snmp_version version_; - - char output_buffer_[MAX_TARGET_STRING_REP]; - // to_string() rep of data -}; - - -#endif //TARGET_ diff --git a/ASNMP/asnmp/timetick.cpp b/ASNMP/asnmp/timetick.cpp deleted file mode 100644 index da83945e83a..00000000000 --- a/ASNMP/asnmp/timetick.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// timetick.cpp -// -// = DESCRIPTION -// Class implentation for SMI Timeticks class. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/timetick.h" // include header file for timetick class - -// constructor with a value -TimeTicks::TimeTicks( const unsigned long i):SnmpUInt32(i) -{ - smival.syntax = sNMP_SYNTAX_TIMETICKS; -} - -// copy constructor -TimeTicks::TimeTicks( const TimeTicks &t) -{ - smival.value.uNumber = t.smival.value.uNumber; - smival.syntax = sNMP_SYNTAX_TIMETICKS; -} - -// destructor -TimeTicks::~TimeTicks() -{ -} - -// syntax type -SmiUINT32 TimeTicks::get_syntax() -{ - return sNMP_SYNTAX_TIMETICKS; -} - -// create a new instance of this Value -SnmpSyntax *TimeTicks::clone() const -{ - return (SnmpSyntax *) new TimeTicks(*this); -} - -// overloaded assignement from ulong -TimeTicks& TimeTicks::operator=( const unsigned long int i) -{ - smival.value.uNumber =i; return *this; -} - -// overloaded assignment from TimeTicks -TimeTicks& TimeTicks::operator=( const TimeTicks &uli) -{ - this->smival.value.uNumber = uli.smival.value.uNumber; return *this; -} - -// general assignment from any Value -SnmpSyntax& TimeTicks::operator=( SnmpSyntax &in_val) -{ - if ( this == &in_val ) // handle assignement from itself - return *this; - - valid_flag = 0; // will get set true if really valid - if (in_val.valid()) { - switch (in_val.get_syntax()) { - case sNMP_SYNTAX_UINT32: - // case sNMP_SYNTAX_GAUGE32: .. indistinquishable from UINT32 - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - case sNMP_SYNTAX_INT32: // implied cast int -> uint - this->smival.value.uNumber = - ((TimeTicks &)in_val).smival.value.uNumber; - valid_flag = 1; - break; - } - } - return *this; -} - -// otherwise, behave like an unsigned long -TimeTicks::operator unsigned long() -{ - return smival.value.uNumber; -} - - -// ASCII format return -char * TimeTicks::to_string() - /* Should do something nicer like days:hours:minutes... */ -{ - unsigned long tt, hseconds, seconds, minutes, hours, days; - tt = this->smival.value.uNumber; - - // days - days = tt / 8640000; - tt %= 8640000; - - // hours - hours = tt / 360000; - tt %= 360000; - - // minutes - minutes = tt / 6000; - tt %= 6000; - - seconds = tt / 100; - tt %= 100; - - hseconds = tt; - - if ( days ==0) - sprintf( output_buffer,"%ld:%02ld:%02ld.%02ld", hours, minutes,seconds,hseconds); - else if ( days==1) - sprintf( output_buffer,"1 day %ld:%02ld:%02ld.%02ld", hours, minutes,seconds,hseconds); - else - sprintf( output_buffer,"%ld days, %ld:%02ld:%02ld.%02ld", days,hours, minutes,seconds,hseconds); - - return output_buffer; -} - diff --git a/ASNMP/asnmp/timetick.h b/ASNMP/asnmp/timetick.h deleted file mode 100644 index 0d9b9b9f171..00000000000 --- a/ASNMP/asnmp/timetick.h +++ /dev/null @@ -1,84 +0,0 @@ -/* -*-C++-*- */ -#ifndef TIMETICKS_ -#define TIMETICKS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// timetick.h -// -// = DESCRIPTION -// Class definition for SMI Timeticks class. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/integer.h" - -#define TICKOUTBUF 30 // max formatted time string - -//------------[ TimeTicks Class ]----------------------------------- -// The timeticks class allows all the functionality of unsigned -// integers but is recognized as a distinct SMI type. TimeTicks -// objects may be get or set into Vb objects. -// -class ACE_Export TimeTicks: public SnmpUInt32 - // = TITLE - // Define RFC1155 TimeTicks Data object - -{ - - public: - TimeTicks( const unsigned long i = 0); - - TimeTicks( const TimeTicks &t); - // copy constructor - - ~TimeTicks(); - // destructor - - SmiUINT32 get_syntax(); - // syntax type - - char *to_string(); - // get a printable ASCII value - - SnmpSyntax *clone() const; - // create a new instance of this Value - - SnmpSyntax& operator=(SnmpSyntax &val); - // copy an instance of this Value - - TimeTicks& operator=( const TimeTicks &uli); - // overloaded assignment - - TimeTicks& operator=( const unsigned long int i); - // overloaded assignment - - operator unsigned long(); - // otherwise, behave like an unsigned long - - protected: - char output_buffer[TICKOUTBUF]; - // for storing printed form -}; -#endif // TIMETICKS_ diff --git a/ASNMP/asnmp/transaction.cpp b/ASNMP/asnmp/transaction.cpp deleted file mode 100644 index f22126ce469..00000000000 --- a/ASNMP/asnmp/transaction.cpp +++ /dev/null @@ -1,199 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// transaction.cpp -// -// = DESCRIPTION -// implements blocking SNMPv1 API using a simple state machine -// transactions over UDP/IP networks -// -// = AUTHOR -// Michael R MacFaden mrm@cisco.com - remove v2c, async, rework for ACE -// ============================================================================ - -#include "ace/Reactor.h" -#include "asnmp/transaction.h" - -// pre: pdu, target report valid() == 1 -// post: pdu sent out over the wire -inline void reset_receive_buffer(iovec& io) -{ - io.iov_base = 0; - io.iov_len = 0; -} - -transaction::transaction(const Pdu& pdu, const UdpTarget& target, - ACE_SOCK_Dgram& io): - result_(0), - wp_(pdu,target), params_(target), session_(io) -{ - // last step, convert address (get ride of this once we have merged address - UdpAddress udp; - target.get_address(udp); - // via string conversion "dotted-quad:port" - ACE_INET_Addr tmp(udp); - addr_ = tmp; - reset_receive_buffer(receive_iovec_); -} - -transaction::~transaction() -{ - ACE_Reactor::instance()->remove_handler(this, READ_MASK | DONT_CALL); - ACE_Reactor::instance()->cancel_timer(this); - - delete [] receive_iovec_.iov_base; -} - -// implement state machine, send, wait (timeout/results) return -int transaction::run() -{ - int rc, done = FALSE; - int retry_counter = 0; - ACE_Time_Value to(params_.get_timeout(), 0); // seconds - ACE_Reactor reactor; - - // 1. register io port for read access - if (reactor.register_handler(session_.get_handle(), this, - ACE_Event_Handler::READ_MASK) == -1) - return SNMP_CLASS_INTERNAL_ERROR; - - // register a time handler and a socket with this - - while (!done) { - - if ((rc = send()) < 0) // send pkt to agent - return rc; - else { - if (retry_counter++ > params_.get_retry()) - return SNMP_CLASS_TIMEOUT; - } - - // 2. wait for events (timeout, returned msg) - if (( rc = reactor.handle_events (to)) == 1) // one handler registered - return 0; - else { - if (rc == 0) { - to.set(params_.get_timeout(), 0); - } - else - return SNMP_CLASS_INTERNAL_ERROR; - } - } - return SNMP_CLASS_INTERNAL_ERROR; -} - -// implement state machine, send, wait (timeout/results) return -int transaction::run(transaction_result * r) -{ - result_ = r; - int rc; - - // 1. register io port for read access - ACE_Reactor * reactor = ACE_Reactor::instance(); - if (reactor->register_handler(session_.get_handle(), - this, - READ_MASK) == -1) - return SNMP_CLASS_INTERNAL_ERROR; - - retry_counter_ = 0; - - // register a time handler and a socket with this - ACE_Time_Value to = params_.get_timeout(); - if (reactor->schedule_timer(this, 0, to, to) < 0) - return SNMP_CLASS_INTERNAL_ERROR; - - if ((rc = send()) < 0) // send pkt to agent - return rc; - return 0; -} - -// got back response from SNMPv1 agent - process it -int transaction::handle_input (ACE_HANDLE) -{ - // OS allocates iovec_.iov_base ptr and len - delete [] receive_iovec_.iov_base; - reset_receive_buffer(receive_iovec_); - int rc = session_.recv(&receive_iovec_, receive_addr_, 0); - if (rc == -1) { - delete [] receive_iovec_.iov_base; - reset_receive_buffer(receive_iovec_); - if (result_) - result_->result(this, SNMP_CLASS_RESOURCE_UNAVAIL); - return SNMP_CLASS_RESOURCE_UNAVAIL; - } - if (result_) - { - result_->result(this, rc); - return 0; - } - return rc; -} - -int transaction::handle_timeout(const ACE_Time_Value &, - const void *) -{ - int rc; - if ((rc = send()) < 0) // send pkt to agent - result_->result(this, 0); - else - if (retry_counter_++ > params_.get_retry()) - result_->result(this, SNMP_CLASS_TIMEOUT); - - return 0; -} - - -const ACE_INET_Addr& transaction::get_from_addr() const -{ - return receive_addr_; -} - - -// return pdu to caller -int transaction::result(Pdu& pdu, char *comm_str, ACE_INET_Addr *from) -{ - // TODO: check to see the sender matches the receiver address.. - - // remove any vbs existing in this pdu - pdu.delete_all_vbs(); - - // any data to return? - if (receive_iovec_.iov_len == 0) - return -1; - - wpdu tmp(receive_iovec_); - - snmp_version ver; - - // return comm str and from address of incomming pdu if requested - int rc = tmp.get_pdu(pdu, ver); - if (comm_str) - ACE_OS::strcpy(comm_str, (char *)tmp.get_community()); - if (from) - *from = receive_addr_; - return rc; -} - -transaction::transaction(ACE_SOCK_Dgram& io) -: result_(0), session_(io) -{ - reset_receive_buffer(receive_iovec_); -} - - -int transaction::send() -{ - iovec io = wp_.get_buffer(); - if (io.iov_len == 0) { - // NO DATA ? - return -1; - } - ssize_t rc = session_.send (io.iov_base, io.iov_len, addr_ , 0); - return rc; -} - -transaction_result::~transaction_result() {} diff --git a/ASNMP/asnmp/transaction.h b/ASNMP/asnmp/transaction.h deleted file mode 100644 index 056f48f68be..00000000000 --- a/ASNMP/asnmp/transaction.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -*-C++-*- */ -#ifndef TRANSACTION_ -#define TRANSACTION_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// transaction.h -// -// = DESCRIPTION -// -// = AUTHOR -// Michael R. MacFaden port to ACE / use Reactor pattern -// -// ============================================================================ - -#include "ace/Event_Handler.h" -#include "asnmp/target.h" -#include "asnmp/pdu.h" -#include "asnmp/transaction_result.h" -#include "asnmp/wpdu.h" // cmu adapter class -#include "ace/SOCK_Dgram.h" - -class ACE_Export transaction : public ACE_Event_Handler - // = TITLE - // Used to manage the details of a particular transaction betwen - // two SNMP agents. Uses SnmpTarget class to implement retry/timeout - -{ - int retry_counter_; - transaction_result * result_; - - public: - transaction(const Pdu& pdu, const UdpTarget& target, ACE_SOCK_Dgram& io); - transaction(ACE_SOCK_Dgram& io); - // constructor - ~transaction(); - // destructor - - int run(); - int run(transaction_result *r); // Async interface, with callback object - // begin polling for values - - int result(Pdu& pdu, char *comm_str = 0, ACE_INET_Addr *from_addr = 0); - // return pdu with result from agent after run() is completed rc = 0 - // optionally get community str - - virtual int handle_input (ACE_HANDLE fd); - // called by reactor when data is ready to be read in from OS memory - virtual int handle_timeout (const ACE_Time_Value &, const void *); - // used for resend in asynchronous run() - - int send(); - // transmit buffer command to network... - - const ACE_INET_Addr& get_from_addr() const; - // pre: handle_input called - // retrieve the sender's from address from the last pkt - - private: - transaction(const transaction&); - // disallow copy construction - - wpdu wp_; // wire pdu - UdpTarget params_; // params - ACE_INET_Addr addr_; // to address - ACE_SOCK_Dgram session_; // io object - iovec receive_iovec_; // receive buffer - ACE_INET_Addr receive_addr_; // from address -}; - -#endif // TRANSACTION_ diff --git a/ASNMP/asnmp/vb.cpp b/ASNMP/asnmp/vb.cpp deleted file mode 100644 index 7767018fa7a..00000000000 --- a/ASNMP/asnmp/vb.cpp +++ /dev/null @@ -1,390 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// vb.h -// -// = DESCRIPTION -// The Vb class is an encapsulation of the snmp variable binding. -// This module contains the class definition for the variable binding (VB) -// class. The VB class is an encapsulation of a SNMP VB. A VB object is -// composed of one SNMP++ Oid and one SMI value. The Vb class utilizes Oid -// objects and thus requires the Oid class. To use this class, -// set oid, value then call valid() to be sure object was constructed correctly. -// -// = AUTHOR -// Peter E Mellquist -// Michael R MacFaden mrm@cisco.com - rework & ACE port -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/oid.h" // include oid class defs -#include "asnmp/vb.h" // include vb class defs -#include "asnmp/snmperrs.h" // error codes - -//---------------[ Vb::Vb( void) ]-------------------------------------- -// constructor with no arguments -// makes an vb, unitialized -Vb::Vb( void): output_(NULL), iv_vb_value_(NULL), - exception_status_(SNMP_CLASS_SUCCESS) -{ -} - -//---------------[ Vb::Vb( const Oid &oid) ]----------------------------- -// constructor to initialize the oid -// makes a vb with oid portion initialized -Vb::Vb( const Oid &oid): output_(NULL), iv_vb_oid_(oid), iv_vb_value_(NULL), - exception_status_(SNMP_CLASS_SUCCESS) -{ -} - -//---------------[ Vb::Vb( const Oid &oid, const SmiSyntax &val) ]------- -Vb::Vb( const Oid &oid, const SnmpSyntax &val, const SmiUINT32 status): - output_(NULL), iv_vb_oid_(oid), iv_vb_value_(NULL), exception_status_(status) -{ - // iv_vb_value_ = recast_smi_object(val); // allocate and construct object - iv_vb_value_ = val.clone(); -} - -//---------------[ Vb::Vb( const Vb &vb) ]----------------------------- -// copy constructor -Vb::Vb( const Vb &vb): output_(NULL), iv_vb_value_(NULL) -{ - *this = vb; -} - -//---------------[ Vb::~Vb() ]------------------------------------------ -// destructor -// if the vb has a oid or an octect string then -// the associated memory needs to be freed -Vb::~Vb() -{ - free_vb(); - delete [] output_; // formatting buffer if it exists -} - - -//--------------[ Vb::valid() ]----------------------------------------- -// returns validity of a Vb object -// must have a valid oid and value -int Vb::valid() const -{ - if ( iv_vb_oid_.valid() && (iv_vb_value_ && iv_vb_value_->valid()) ) - return TRUE; - else - return FALSE; -} - - -//---------------[ Vb& Vb::operator=( const Vb &vb) ]-------------------- -// overloaded assignment allows assigning one Vb to another -// this involves deep memory thus target vb needs to be freed -// before assigning source -Vb& Vb::operator=( const Vb &vb) -{ - free_vb(); // free up target to begin with - - //-----[ reassign the Oid portion 1st ] - vb.get_oid( iv_vb_oid_); - - //-----[ next set the vb value portion ] - if (vb.iv_vb_value_ == NULL) { - iv_vb_value_ = NULL; - } - else { - iv_vb_value_ = vb.iv_vb_value_->clone(); - } - exception_status_ = vb.exception_status_; - - return *this; // return self reference -} - - // set a Vb null, if its not already -void Vb::set_null() -{ - free_vb(); -} - -//---------------[ Vb::set_oid( const Oid oid ) ]----------------------- -// set value oid only with another oid -void Vb::set_oid( const Oid& oid) -{ - iv_vb_oid_ = oid; -} - -//---------------[ Vb::get_oid( Oid &oid) ]----------------------------- -// get oid portion -void Vb::get_oid( Oid &oid) const -{ - oid = iv_vb_oid_; -} - -//----------------[ void Vb::free_vb() ]-------------------------------- -// protected method to free memory -// this methos is used to free memory when assigning new vbs -// or destructing -// in the case of oids and octets, we need to do a deep free -void Vb::free_vb() -{ - if (iv_vb_value_) - delete iv_vb_value_; - exception_status_ = SNMP_CLASS_SUCCESS; - iv_vb_value_ = NULL; -} - -void Vb::set_value( const SnmpInt32& i) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new SnmpInt32(i); -} - -void Vb::set_value( const SnmpUInt32& u) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new SnmpUInt32(u); -} - -void Vb::set_value( const Gauge32& g) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new Gauge32(g); -} - -void Vb::set_value( const Counter32& c) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new Counter32(c); -} - -void Vb::set_value( const Counter64& c) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new Counter64(c); -} - -void Vb::set_value( const TimeTicks& t) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new TimeTicks(t); -} - -void Vb::set_value( const OctetStr& s) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new OctetStr(s); -} - -void Vb::set_value( const Oid& o) -{ - free_vb(); - iv_vb_value_ = (SnmpSyntax *)new Oid(o); -} - -void Vb::set_value ( const SnmpSyntax &val) -{ - free_vb(); - iv_vb_value_ = val.clone(); -} - -int Vb::get_value( SnmpInt32 &i) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_INT32 )) { - i = *((SnmpInt32 *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( SnmpUInt32 &u) -{ - if (iv_vb_value_ && iv_vb_value_->valid()) - { - SmiUINT32 syntax = iv_vb_value_->get_syntax(); - if (syntax == sNMP_SYNTAX_GAUGE32 || - syntax == sNMP_SYNTAX_CNTR32 || - syntax == sNMP_SYNTAX_TIMETICKS || - syntax == sNMP_SYNTAX_UINT32) - { - u = *((SnmpUInt32 *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - } - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( Gauge32 &g) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_GAUGE32 )) { - g = *((Gauge32 *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( Counter32 &c) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_CNTR32 )) { - c = *((Counter32 *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( Counter64 &c) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_CNTR64 )) { - c = *((Counter32 *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( TimeTicks &t) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_TIMETICKS )) { - t = *((TimeTicks *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( OctetStr &s) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_OCTETS )) { - s = *((OctetStr *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - -int Vb::get_value( Oid &s) -{ - if (iv_vb_value_ && - iv_vb_value_->valid() && - (iv_vb_value_->get_syntax() == sNMP_SYNTAX_OID )) { - s = *((Oid *) iv_vb_value_); - return SNMP_CLASS_SUCCESS; - } - else - return SNMP_CLASS_INVALID; -} - - -//---------------[ Vb::get_value( Value &val) ]-------- -int Vb::get_value( SnmpSyntax &val) -{ - if (iv_vb_value_) { - val = *iv_vb_value_; - if (val.valid()) - return SNMP_CLASS_SUCCESS; - else - return SNMP_CLASS_INVALID; - } - else - { -//TM: should set val to be invalid - return SNMP_CLASS_INVALID; - } -} - - - -//-----[ misc]-------------------------------------------------------- - -// return the current syntax -// This method violates Object Orientation but may be useful if -// the caller has a vb object and does not know what it is. -// This would be useful in the implementation of a browser. -SmiUINT32 Vb::get_syntax() -{ - if ( exception_status_ != SNMP_CLASS_SUCCESS) - return exception_status_; - else - return ( iv_vb_value_ ? iv_vb_value_->get_syntax() : sNMP_SYNTAX_NULL); -} - -// return the printabel value -char *Vb::to_string_value() -{ - if (iv_vb_value_) - return iv_vb_value_->to_string(); - else - return ""; -} - -// return the printable oid -char *Vb::to_string_oid() -{ - return iv_vb_oid_.to_string(); -} - -// generate string with name/ value format -char *Vb::to_string() -{ - int len = ACE_OS::strlen(iv_vb_oid_.to_string()); - char *ptr = ""; - if (iv_vb_value_) - ptr = iv_vb_value_->to_string(); - len += ACE_OS::strlen(ptr) + 3 + 1; // " / " + null - ACE_NEW_RETURN(output_, char[len], ""); - ACE_OS::sprintf(output_, "%s / %s", iv_vb_oid_.to_string(), ptr); - return output_; -} - -// friend function to set exception status -void set_exception_status( Vb *vb, const SmiUINT32 status) -{ - vb->exception_status_ = status; -} - -// equivlence operator overloaded -// hack, by side effect, compare based on string formatting output_ -int operator==( const Vb &lhs, const Vb &rhs) -{ - if ( lhs.iv_vb_oid_ != rhs.iv_vb_oid_) - return FALSE; - - if (lhs.iv_vb_value_ != 0 && rhs.iv_vb_value_ != 0) { - int val = strcmp(lhs.iv_vb_value_->to_string(), - rhs.iv_vb_value_->to_string()); - return !val; - } - else - return FALSE; -} - diff --git a/ASNMP/asnmp/vb.h b/ASNMP/asnmp/vb.h deleted file mode 100644 index 2aa5150c84c..00000000000 --- a/ASNMP/asnmp/vb.h +++ /dev/null @@ -1,199 +0,0 @@ -/* -*-C++-*- */ -#ifndef VB_CLS_ -#define VB_CLS_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// vb.h -// -// = DESCRIPTION -// This module contains the class definition for the variable binding (VB) -// class. The VB class is an encapsulation of a SNMP VB. A VB object is -// composed of one SNMP++ Oid and one SMI value. The Vb class utilizes Oid -// objects and thus requires the Oid class. To use this class, -// set oid, value then call valid() to be sure object was constructed correctly. -// -// = AUTHOR -// Peter E Mellquist -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -//----[ external calls ]---------------------------------------------- -#include "ace/OS.h" - -#include "asnmp/smival.h" -#include "asnmp/snmperrs.h" // V2c error def -#include "asnmp/oid.h" // oid class def -#include "asnmp/timetick.h" // time ticks -#include "asnmp/counter.h" // counter -#include "asnmp/gauge.h" // gauge class -#include "asnmp/ctr64.h" // 64 bit counters -#include "asnmp/octet.h" // octet class -#include "asnmp/address.h" // address class def -#include "asnmp/integer.h" // integer class - - -//------------[ VB Class Def ]------------------------------------- -// The Vb class is the encapsulation of the SNMP variable binding. -// Variable binding lists in SNMP++ are represented as arrays of -// Vb objects. Vb objects are passed to and from SNMP objects to -// provide getting or setting MIB values. -// The vb class keeps its own memory for objects and does not -// utilize pointers to external data structures. -// -class ACE_Export Vb - // = TITLE - // Implement the concrete Variable Bindings aka Varbind - // composite type. Varbinds hold 1 Oid and 1 Value (Any SMI value) -{ -public: - Vb( void); - // constructor with no arguments - // makes an vb, unitialized (does not make object valid) - - Vb( const Oid &oid); - // constructor to initialize the oid - // makes a vb with oid portion initialized (does not make object valid) - - Vb( const Oid& vb, const SnmpSyntax &val, const SmiUINT32=SNMP_CLASS_SUCCESS); - // constructor to initialize the oid - // makes a vb with oid portion and value portion initialized, (valid) - - Vb( const Vb &vb); - // copy constructor - - ~Vb(); - // destructor - // if the vb has a oid or an octect string then - // the associated memory needs to be freed - - int valid() const; - // return validity of Vb object (both oid and value set return 1 else 0) - - Vb& operator=( const Vb &vb); - // assignment to another Vb object overloaded - - friend int operator==( const Vb &lhs, const Vb &rhs); - // equivlence operator overloaded - - //-----[ set oid / get oid part]------------------------------------------ - - void set_oid( const Oid& oid); - // set value oid only with another oid - - void get_oid( Oid &oid) const; - // get oid portion - - //-----[ set value part]-------------------------------------------------- - - void set_null(); - // set a Vb null, if its not already - - void set_value( const TimeTicks& ticks); - // returns 0 on success and a value - - void set_value( const Oid& oid); - // returns 0 on success and a value - - void set_value( const Counter32& ctr); - // returns 0 on success and a value - - void set_value( const Counter64& ctr); - // returns 0 on success and a value - - void set_value( const Gauge32& ctr); - // returns 0 on success and a value - - void set_value( const SnmpUInt32& ctr); - // returns 0 on success and a value - - void set_value( const SnmpInt32& ctr); - // returns 0 on success and a value - - void set_value( const OctetStr& oct_str); - // get an octet string object - - //----[ get value ]------------------------------------------------ - - int get_value( TimeTicks& ticks); - // returns 0 on success and a value - - int get_value( Oid& oid); - // returns 0 on success and a value - - int get_value( Counter32& ctr); - // returns 0 on success and a value - - int get_value( Counter64& ctr); - // returns 0 on success and a value - - int get_value( Gauge32& ctr); - // returns 0 on success and a value - - int get_value( SnmpUInt32& ctr); - // returns 0 on success and a value - - int get_value( SnmpInt32& ctr); - // returns 0 on success and a value - - int get_value( OctetStr& oct_str); - // get an octet string object - - // escape hatch - void set_value( const SnmpSyntax &val); - // for other derived types that can be casted - - int get_value( SnmpSyntax &val); - // gets a general value - - SmiUINT32 get_syntax(); - // return the current syntax - // Or.. if a V2 VB exception is present then return the exception value - - friend void set_exception_status( Vb *vb, const SmiUINT32 status); - // set the exception status - - char *to_string(); - // return fomatted version of this object - - char *to_string_value(); - // returns a formatted version of the value - - char *to_string_oid(); - // returns a formatted version of the value - -protected: - char *output_; - // display vb as [ oid / value ] - - Oid iv_vb_oid_; - // a vb is made up of a oid - - SnmpSyntax *iv_vb_value_; - // and a value... - - SmiUINT32 exception_status_; - // are there any vb exceptions?? - - void free_vb(); -}; - -#endif // VB_CLS_ - diff --git a/ASNMP/asnmp/wpdu.cpp b/ASNMP/asnmp/wpdu.cpp deleted file mode 100644 index 6922be7d0be..00000000000 --- a/ASNMP/asnmp/wpdu.cpp +++ /dev/null @@ -1,499 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// wpdu.cpp -// -// = DESCRIPTION -// Adapter class. Converts between raw wire format and Pdu objects -// that can be stuffed out a I/O port or reconstructed -// -// = AUTHOR -// Michael R. MacFaden rework the class api and impl using ACE -// Peter E Mellquist implementation/code from snmp++ snmpmsg class -// -// ============================================================================ - -#include "asnmp/wpdu.h" - -#define DEFINE_TRAP_CONSTANTS_ -#include "asnmp/enttraps.h" - -#define MAX_COMM_STR_LEN 255 -#define V1_COLD_START 0 -#define V1_WARM_START 1 -#define V1_LINK_DOWN 2 -#define V1_LINK_UP 3 -#define V1_AUTH_FAILURE 4 -#define V1_EGP_NEIGHBOR_LOSS 5 -#define V1_ENT_SPECIFIC 6 - -inline -void reset_iov(iovec& iov) -{ - iov.iov_base = 0; - iov.iov_len = 0; -} - -wpdu::wpdu(const Pdu& pdu, const UdpTarget& target): - valid_flag_(SNMP_CLASS_INVALID ), comm_len(MAX_COMM_STR_LEN) -{ - reset_iov(iovec_); - version_ = target.get_version(); - int status; - OctetStr comm_str; - - community_name[0] = 0; - - snmp_pdu *raw_pdu; // create a raw pdu - raw_pdu = cmu_snmp::pdu_create( (int) pdu.get_type()); - if (!raw_pdu) { - valid_flag_ = SNMP_CLASS_RESOURCE_UNAVAIL; - return; - } - - raw_pdu->reqid = pdu.get_request_id(); - raw_pdu->errstat= (unsigned long) pdu.get_error_status(); - raw_pdu->errindex= (unsigned long) pdu.get_error_index(); - - switch (raw_pdu->command) { - case sNMP_PDU_GET: - case sNMP_PDU_GETNEXT: - target.get_read_community(comm_str); - break; - - case sNMP_PDU_SET: - target.get_write_community(comm_str); - break; - - case sNMP_PDU_V1TRAP: - if (set_trap_info(raw_pdu, pdu)) // will free raw_pdu - return; - break; - case sNMP_PDU_RESPONSE: - break; - - default: - ACE_ASSERT(0); - return; - } - - if (load_vbs(raw_pdu, pdu)) { - cmu_snmp::free_pdu( raw_pdu); - valid_flag_ = SNMP_CLASS_RESOURCE_UNAVAIL; - return; - } - - // TODO: determine how big raw_pdu serializes out to - iovec_.iov_len = target.get_max_pdu_size(); - ACE_NEW(iovec_.iov_base, char [iovec_.iov_len]); - - // create raw byte stream - status = cmu_snmp::build( raw_pdu, - (unsigned char *)iovec_.iov_base, - (int *) &iovec_.iov_len, - target.get_version(), - comm_str.data(), comm_str.length()); - if ( status != 0) { - valid_flag_ = SNMP_ERROR_WRONG_ENCODING; - cmu_snmp::free_pdu( raw_pdu); - return; - } - - cmu_snmp::free_pdu( raw_pdu); - valid_flag_ = SNMP_CLASS_SUCCESS; -} - -int wpdu::set_trap_info(snmp_pdu *raw_pdu, const Pdu& pdu) const -{ - Oid enterprise; - Oid trapid; // validate caller has set this correctly - pdu.get_notify_id( trapid); - if ( !trapid.valid() || trapid.length() < 2 ) { - cmu_snmp::free_pdu( raw_pdu); - return SNMP_CLASS_INVALID_NOTIFYID; - } - - - raw_pdu->specific_type=0; - - // TODO: object should emit numeric instead of this kind of mess... - if ( trapid == coldStart) - raw_pdu->trap_type = V1_COLD_START; // cold start - else if ( trapid == warmStart) - raw_pdu->trap_type = V1_WARM_START; // warm start - else if( trapid == linkDown) - raw_pdu->trap_type = V1_LINK_DOWN; // link down - else if ( trapid == linkUp) - raw_pdu->trap_type = V1_LINK_UP; // link up - else if ( trapid == authenticationFailure ) - raw_pdu->trap_type = V1_AUTH_FAILURE; // authentication failure - else if ( trapid == egpNeighborLoss) - raw_pdu->trap_type = V1_EGP_NEIGHBOR_LOSS; // egp neighbor loss - else { - raw_pdu->trap_type = V1_ENT_SPECIFIC; // enterprise specific - // last oid subid is the specific value - // if 2nd to last subid is "0", remove it - // enterprise is always the notify oid prefix - raw_pdu->specific_type = (int) trapid[(int) (trapid.length() - 1)]; - trapid.trim(1); - if ( trapid[(int)(trapid.length() - 1)] == 0 ) - trapid.trim(1); - enterprise = trapid; - } - - if ( raw_pdu->trap_type != 6) // TODO: fix these magic numbers with defines - pdu.get_notify_enterprise( enterprise); - if ( enterprise.length() > 0) { - // note!! - // these are hooks into an SNMP++ oid - // and therefor the raw_pdu enterprise - // should not free them. null them out!! - SmiLPOID rawOid; - rawOid = enterprise.oidval(); - raw_pdu->enterprise = rawOid->ptr; - raw_pdu->enterprise_length = (int) rawOid->len; - } - - TimeTicks timestamp; - pdu.get_notify_timestamp( timestamp); - raw_pdu->time = ( unsigned long) timestamp; - return 0; -} - -wpdu::wpdu(const iovec& iov): valid_flag_(FALSE),comm_len(MAX_COMM_STR_LEN) -{ - community_name[0] = 0; - reset_iov(iovec_); - version_ = version1; // TODO: figure where this should come from - ACE_NEW(iovec_.iov_base, char[iov.iov_len]); - if (!iovec_.iov_base) { - valid_flag_ = SNMP_CLASS_RESOURCE_UNAVAIL; - return; - } - - copy_iovec(iovec_, iov); - valid_flag_ = SNMP_CLASS_SUCCESS; -} - -wpdu::wpdu(): valid_flag_(FALSE), comm_len(MAX_COMM_STR_LEN) -{ - community_name[0] = 0; - reset_iov(iovec_); - version_ = version1; // TODO: figure where this should come from -} - -int wpdu::valid() const -{ - return (valid_flag_ == SNMP_CLASS_SUCCESS); -} - -int wpdu::load_vbs(snmp_pdu *raw_pdu, const Pdu& pdu) -{ - int status = 0; - - // load up the payload - // for all Vbs in list, add them to the pdu - int vb_count; - Vb tempvb; - Oid tempoid; - SmiLPOID smioid; - SmiVALUE smival; - - vb_count = pdu.get_vb_count(); - - for (int z = 0; z < vb_count; z++) { - pdu.get_vb( tempvb, z); - tempvb.get_oid( tempoid); - smioid = tempoid.oidval(); - // what are we trying to convert here (vb oid part or value part) - status = convert_vb_to_smival( tempvb, &smival ); - if ( status != SNMP_CLASS_SUCCESS) - return status; - - // add the var to the raw pdu - cmu_snmp::add_var(raw_pdu, smioid->ptr, (int) smioid->len, &smival); - free_smival_descriptor( &smival); - } - - return status; -} - -// supports overlapped copies -// static -void wpdu::copy_iovec(iovec& dest, const iovec& src) -{ - if (&dest == &src) - return; - - ACE_OS:: memmove( dest.iov_base, src.iov_base, src.iov_len); - dest.iov_len = src.iov_len; -} - -int wpdu::convert_vb_to_smival( Vb &tempvb, SmiVALUE *smival ) -{ - smival->syntax = tempvb.get_syntax(); - - switch ( smival->syntax ) { - - case sNMP_SYNTAX_NULL: - break; - - // case sNMP_SYNTAX_INT32: - case sNMP_SYNTAX_INT: - { - SnmpInt32 tmp; - tempvb.get_value(tmp); - smival->value.sNumber = tmp; - } - break; - - // case sNMP_SYNTAX_UINT32: - case sNMP_SYNTAX_GAUGE32: - case sNMP_SYNTAX_CNTR32: - case sNMP_SYNTAX_TIMETICKS: - { - SnmpUInt32 tmp; - tempvb.get_value(tmp); - smival->value.uNumber = tmp; - } - break; - - // case Counter64 - case sNMP_SYNTAX_CNTR64: - { - Counter64 c64; - tempvb.get_value(c64); - smival->value.hNumber.hipart = c64.high(); - smival->value.hNumber.lopart = c64.low(); - } - break; - - // OID syntax - case sNMP_SYNTAX_OID: - { - Oid tmpoid; - tmpoid.oidval(); - tempvb.get_value(tmpoid); - SmiLPOID smi = tmpoid.oidval(); - smival->value.oid.len = tmpoid.length(); - ACE_NEW_RETURN(smival->value.oid.ptr, - SmiUINT32 [smival->value.oid.len], 1); - ACE_OS::memcpy(smival->value.oid.ptr, smi->ptr, - smival->value.oid.len *sizeof(SmiUINT32)); - } - break; - - case sNMP_SYNTAX_BITS: - case sNMP_SYNTAX_OCTETS: - case sNMP_SYNTAX_IPADDR: - { - OctetStr os; - tempvb.get_value(os); - smival->value.string.ptr = NULL; - smival->value.string.len = os.length(); - if ( smival->value.string.len > 0 ) { - ACE_NEW_RETURN(smival->value.string.ptr, - SmiBYTE [smival->value.string.len], 1); - if ( smival->value.string.ptr ) { - for (int i=0; i<(int) smival->value.string.len ; i++) - smival->value.string.ptr[i] = os[i]; - } - else { - smival->syntax = sNMP_SYNTAX_NULL; // invalidate the smival - return SNMP_CLASS_RESOURCE_UNAVAIL; - } - } - } - break; - - default: - ACE_DEBUG((LM_DEBUG, "wpdu::convert_vb_to_smival did not convert vb\n")); - // ACE_ASSERT(0); - } // switch - - return 0; -} - -// free a SMI value -void wpdu::free_smival_descriptor( SmiVALUE *smival ) -{ - switch ( smival->syntax ) { - case sNMP_SYNTAX_OCTETS: - case sNMP_SYNTAX_OPAQUE: - case sNMP_SYNTAX_IPADDR: - case sNMP_SYNTAX_BITS: // obsoleted in SNMPv2 Draft Std - delete [] smival->value.string.ptr; - break; - - case sNMP_SYNTAX_OID: - delete [] smival->value.oid.ptr; - break; - } - smival->syntax = sNMP_SYNTAX_NULL; -} - - -wpdu::~wpdu() -{ - delete [] iovec_.iov_base; -} - -const iovec& wpdu::get_buffer() const -{ - return iovec_; -} - -// return a pdu from a buffer -int wpdu::get_pdu(Pdu& pdu, snmp_version& version) -{ - if (iovec_.iov_len == 0) - return -1; // NO DATA - - snmp_pdu *raw_pdu; - raw_pdu = cmu_snmp::pdu_create(0); - if (!raw_pdu) { - return SNMP_CLASS_RESOURCE_UNAVAIL; - } - - // max value a client can send us - TODO: replace this with an - // api to get actual string length - int status = cmu_snmp::parse( raw_pdu, (unsigned char *)iovec_.iov_base, - community_name, comm_len, - version, iovec_.iov_len); - if (status != 0) - return SNMP_CLASS_INTERNAL_ERROR; - - community_name[comm_len] = 0; // set null based on returned length - set_request_id( &pdu, raw_pdu->reqid); - set_error_status( &pdu, (int) raw_pdu->errstat); - set_error_index( &pdu, (int) raw_pdu->errindex); - pdu.set_type( raw_pdu->command); - - if (restore_vbs(pdu, raw_pdu)) { - cmu_snmp::free_pdu(raw_pdu); - return SNMP_CLASS_INTERNAL_ERROR; - } - - cmu_snmp::free_pdu(raw_pdu); - return 0; -} - -int wpdu::restore_vbs(Pdu& pdu, const snmp_pdu *raw_pdu) const -{ - Vb tempvb; - Oid tempoid; - struct variable_list *vp; - - for(vp = raw_pdu->variables; vp; vp = vp->next_variable) { - - // extract the oid portion - tempoid.set_data( (unsigned long *)vp->name, - ( unsigned int) vp->name_length); - tempvb.set_oid( tempoid); - - // extract the value portion - switch(vp->type) { - - // octet string - case sNMP_SYNTAX_OCTETS: - case sNMP_SYNTAX_OPAQUE: - { - OctetStr octets( (char *) vp->val.string, - (long) vp->val_len); - tempvb.set_value( octets); - } - break; - - // object id - case sNMP_SYNTAX_OID: - { - Oid oid( (unsigned long*) vp->val.objid, - (int) vp->val_len); - tempvb.set_value( oid); - } - break; - - // timeticks - case sNMP_SYNTAX_TIMETICKS: - { - TimeTicks timeticks( (unsigned long) *(vp->val.integer)); - tempvb.set_value( timeticks); - } - break; - - // 32 bit counter - case sNMP_SYNTAX_CNTR32: - { - Counter32 counter32( (unsigned long) *(vp->val.integer)); - tempvb.set_value( counter32); - } - break; - - // ip address - case sNMP_SYNTAX_IPADDR: - { - char buffer[20]; - sprintf( buffer,"%d.%d.%d.%d", - vp->val.string[0], - vp->val.string[1], - vp->val.string[2], - vp->val.string[3]); - IpAddress ipaddress( buffer); - tempvb.set_value( ipaddress); - } - break; - - // 32 bit integer - case sNMP_SYNTAX_INT: - { - SnmpInt32 int32( (long) *(vp->val.integer)); - tempvb.set_value( int32); - } - break; - - // 32 bit unsigned integer - case sNMP_SYNTAX_UINT32: - { - SnmpUInt32 uint32( (unsigned long) *(vp->val.integer)); - tempvb.set_value( uint32); - } - break; - - // v2 counter 64's - case sNMP_SYNTAX_CNTR64: - break; - - case sNMP_SYNTAX_NULL: - tempvb.set_null(); - break; - - // v2 vb exceptions - case sNMP_SYNTAX_NOSUCHOBJECT: - case sNMP_SYNTAX_NOSUCHINSTANCE: - case sNMP_SYNTAX_ENDOFMIBVIEW: - set_exception_status( &tempvb, vp->type); - break; - - default: - tempvb.set_null(); - - } // end switch - - // append the vb to the pdu - pdu += tempvb; - } - - return 0; -} - -const unsigned char *wpdu::get_community() const -{ - return community_name; -} - - - diff --git a/ASNMP/asnmp/wpdu.h b/ASNMP/asnmp/wpdu.h deleted file mode 100644 index 51b9e4ebe55..00000000000 --- a/ASNMP/asnmp/wpdu.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*-C++-*- */ -#ifndef WPDU_H_ -#define WPDU_H_ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// wpdu.h -// -// = DESCRIPTION -// Adapter class. Converts a Pdu and GenTarget into a format -// that can be stuffed out a I/O port -// -// = AUTHOR -// Michael R. MacFaden re-worked api, use ACE API -// Peter E Mellquist wrote original class snmpmsg -// -// ============================================================================ - -#include "ace/OS.h" -#include "asnmp/asn1.h" -#include "asnmp/pdu.h" -#include "asnmp/target.h" - -// this is an adapter class, it peforms the following transformations -// PDU / Target -> iovec buffer -// iovec buffer -> PDU / Target -struct snmp_pdu; -class ACE_Export wpdu - // = TITLE - // Implement an Adapter pattern between CMU SNMP and HP SNMP++ - // -{ -public: - - wpdu(const Pdu& pdu, const UdpTarget& target); - // construct CMU data from HP SNMP++ objects - wpdu(const iovec& buffer); - // construct HP SNMP++ objects from raw buffer via CMU SNMP datatypes - wpdu(); // same as using iovec? - - ~wpdu(); - - int valid() const; - // constructor completed ok? rc = 1 else 0 - - const iovec& get_buffer() const; - // return raw data stream via CMU code - - int get_pdu(Pdu& pdu, snmp_version& version); - // return HP SNMP++ pdu - - const unsigned char *get_community() const; - // return community strptr - -private: - int convert_vb_to_smival( Vb &tempvb, SmiVALUE *smival ); - int load_vbs(snmp_pdu *raw_pdu, const Pdu& pdu); - int restore_vbs(Pdu& pdu, const snmp_pdu *raw_pdu) const; - void free_smival_descriptor( SmiVALUE *smival ); - static void copy_iovec(iovec& dest, const iovec& src); - int set_trap_info(snmp_pdu *raw_pdu, const Pdu& pdu) const; - - iovec iovec_; - // raw format - - int valid_flag_; - // object construction state - - snmp_version version_; - // snmp version - - unsigned char community_name[MAX_COMM_STR_LEN]; - unsigned long comm_len; // = MAX_COMM_STR_LEN; -}; - -#endif // WPDU_H_ diff --git a/ASNMP/examples/Makefile b/ASNMP/examples/Makefile deleted file mode 100644 index cd06fb9ea08..00000000000 --- a/ASNMP/examples/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the ACE+SNMP examples directory -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -DIRS = get \ - next \ - set \ - trap \ - info \ - walk - -#---------------------------------------------------------------------------- -# 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 diff --git a/ASNMP/examples/get/Makefile b/ASNMP/examples/get/Makefile deleted file mode 100644 index 6849f0d6fd8..00000000000 --- a/ASNMP/examples/get/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for get application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = get get_async -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(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 -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/get/get.cpp b/ASNMP/examples/get/get.cpp deleted file mode 100644 index c6a9d7d0d8a..00000000000 --- a/ASNMP/examples/get/get.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/* -*-C++-*- */ -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// get.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::get API -// to access an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -// -// SNMPv1 Get Application -// -class getapp { - public: - getapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - getapp(const getapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - getapp get(argc, argv); - if (get.valid()) - return get.run(); - else - getapp::usage(); - return 1; -} - -int getapp::valid() const -{ - return valid_; -} -getapp::getapp(int argc, char *argv[]): valid_(0) -{ - Oid req, def_oid("1.3.6.1.2.1.1.1.0"); // default is sysDescr - if ( argc < 2) - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:p:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <get( pdu_, *target_); - first_++; - } - else { - rc = snmp_->get_next( pdu_, *target_); - } - - if (rc != SNMP_CLASS_SUCCESS) { - reason = snmp_->error_string(); - return 0; - } - - // 2. check for problems - if (pdu_.get_error_status()) { - reason = pdu_.agent_error_reason(); - return 0; - } - - // 3. return vb to caller - pdu_.get_vb(vb, 0); - Oid nextoid; - vb.get_oid(nextoid); // and setup next oid to get - Vb nextvb(nextoid); - pdu_.delete_all_vbs(); - pdu_ += nextvb; // can't do set_vb as there are no entries to replace - - return 1; // ok -} - -int walkapp::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " WALK SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - MibIter iter(&snmp_, pdu_, &target_); - char *err_str = 0; - Vb vb; - unsigned ctr = 0; - while (iter.next(vb, err_str)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - ctr++; - } - - if (!err_str) { - cout << "ERROR: walk: " << err_str << endl; - return 0; - } - - cout << "ASNMP:INFO:command completed normally. ACE Rocks...\n"<< endl; - return 0; -} - diff --git a/ASNMP/mibs/RFC1213-MIB.my b/ASNMP/mibs/RFC1213-MIB.my deleted file mode 100644 index f89f8bf125e..00000000000 --- a/ASNMP/mibs/RFC1213-MIB.my +++ /dev/null @@ -1,2618 +0,0 @@ --- ***************************************************************** --- RFC1213-MIB.my: MIB-II MIB file --- --- April 1994, Jeffrey T. Johnson --- --- Copyright (c) 1994-1996 by cisco Systems, Inc. --- All rights reserved. --- --- ***************************************************************** --- --- This mib was extracted from RFC 1213 --- The following changes have been applied: --- The enumerations unknown(4) and dormant(5) have been added to --- ifOperStatus to reflect a change to the ifTable introduced in --- RFC 1573 --- --- The SYNTAX of ifType has been changed to IANAifType, to reflect the --- change to the ifTable introduced in RFC1573. - - RFC1213-MIB DEFINITIONS ::= BEGIN - - IMPORTS - mgmt, NetworkAddress, IpAddress, Counter, Gauge, - TimeTicks - FROM RFC1155-SMI - OBJECT-TYPE - FROM RFC-1212 - TEXTUAL-CONVENTION - FROM SNMPv2-TC - IANAifType - FROM IANAifType-MIB; - - -- This MIB module uses the extended OBJECT-TYPE macro as - -- defined in [14]; - - - -- MIB-II (same prefix as MIB-I) - - mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } - - -- textual conventions - - DisplayString ::= - OCTET STRING - -- This data type is used to model textual information taken - -- from the NVT ASCII character set. By convention, objects - -- with this syntax are declared as having - -- - -- SIZE (0..255) - - PhysAddress ::= - OCTET STRING - -- This data type is used to model media addresses. For many - -- types of media, this will be in a binary representation. - -- For example, an ethernet address would be represented as - -- a string of 6 octets. - - - -- groups in MIB-II - - system OBJECT IDENTIFIER ::= { mib-2 1 } - - interfaces OBJECT IDENTIFIER ::= { mib-2 2 } - - at OBJECT IDENTIFIER ::= { mib-2 3 } - - ip OBJECT IDENTIFIER ::= { mib-2 4 } - - icmp OBJECT IDENTIFIER ::= { mib-2 5 } - - tcp OBJECT IDENTIFIER ::= { mib-2 6 } - - udp OBJECT IDENTIFIER ::= { mib-2 7 } - - egp OBJECT IDENTIFIER ::= { mib-2 8 } - - -- historical (some say hysterical) - -- cmot OBJECT IDENTIFIER ::= { mib-2 9 } - - transmission OBJECT IDENTIFIER ::= { mib-2 10 } - - snmp OBJECT IDENTIFIER ::= { mib-2 11 } - - - -- the System group - - -- Implementation of the System group is mandatory for all - -- systems. If an agent is not configured to have a value - -- for any of these variables, a string of length 0 is - -- returned. - - sysDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A textual description of the entity. This value - should include the full name and version - identification of the system's hardware type, - software operating-system, and networking - software. It is mandatory that this only contain - printable ASCII characters." - ::= { system 1 } - - sysObjectID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The vendor's authoritative identification of the - network management subsystem contained in the - entity. This value is allocated within the SMI - enterprises subtree (1.3.6.1.4.1) and provides an - easy and unambiguous means for determining `what - kind of box' is being managed. For example, if - vendor `Flintstones, Inc.' was assigned the - subtree 1.3.6.1.4.1.4242, it could assign the - identifier 1.3.6.1.4.1.4242.1.1 to its `Fred - Router'." - ::= { system 2 } - - sysUpTime OBJECT-TYPE - SYNTAX TimeTicks - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The time (in hundredths of a second) since the - network management portion of the system was last - re-initialized." - ::= { system 3 } - - sysContact OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The textual identification of the contact person - for this managed node, together with information - on how to contact this person." - ::= { system 4 } - - sysName OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An administratively-assigned name for this - managed node. By convention, this is the node's - fully-qualified domain name." - ::= { system 5 } - - sysLocation OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The physical location of this node (e.g., - `telephone closet, 3rd floor')." - ::= { system 6 } - - sysServices OBJECT-TYPE - SYNTAX INTEGER (0..127) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A value which indicates the set of services that - this entity primarily offers. - - The value is a sum. This sum initially takes the - value zero, Then, for each layer, L, in the range - 1 through 7, that this node performs transactions - for, 2 raised to (L - 1) is added to the sum. For - example, a node which performs primarily routing - functions would have a value of 4 (2^(3-1)). In - contrast, a node which is a host offering - application services would have a value of 72 - (2^(4-1) + 2^(7-1)). Note that in the context of - the Internet suite of protocols, values should be - calculated accordingly: - - layer functionality - 1 physical (e.g., repeaters) - 2 datalink/subnetwork (e.g., bridges) - 3 internet (e.g., IP gateways) - 4 end-to-end (e.g., IP hosts) - 7 applications (e.g., mail relays) - - For systems including OSI protocols, layers 5 and - 6 may also be counted." - ::= { system 7 } - - -- the Interfaces group - - -- Implementation of the Interfaces group is mandatory for - -- all systems. - - ifNumber OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of network interfaces (regardless of - their current state) present on this system." - ::= { interfaces 1 } - - - -- the Interfaces table - - -- The Interfaces table contains information on the entity's - -- interfaces. Each interface is thought of as being - -- attached to a `subnetwork'. Note that this term should - -- not be confused with `subnet' which refers to an - -- addressing partitioning scheme used in the Internet suite - -- of protocols. - - ifTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A list of interface entries. The number of - entries is given by the value of ifNumber." - ::= { interfaces 2 } - - ifEntry OBJECT-TYPE - SYNTAX IfEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "An interface entry containing objects at the - subnetwork layer and below for a particular - interface." - INDEX { ifIndex } - ::= { ifTable 1 } - - IfEntry ::= - SEQUENCE { - ifIndex - INTEGER, - ifDescr - DisplayString, - ifType - IANAifType, - ifMtu - INTEGER, - ifSpeed - Gauge, - ifPhysAddress - PhysAddress, - ifAdminStatus - INTEGER, - ifOperStatus - INTEGER, - ifLastChange - TimeTicks, - ifInOctets - Counter, - ifInUcastPkts - Counter, - ifInNUcastPkts - Counter, - ifInDiscards - Counter, - ifInErrors - Counter, - ifInUnknownProtos - Counter, - ifOutOctets - Counter, - ifOutUcastPkts - Counter, - ifOutNUcastPkts - Counter, - ifOutDiscards - Counter, - ifOutErrors - Counter, - ifOutQLen - Gauge, - ifSpecific - OBJECT IDENTIFIER - } - - ifIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A unique value for each interface. Its value - ranges between 1 and the value of ifNumber. The - value for each interface must remain constant at - least from one re-initialization of the entity's - network management system to the next re- - initialization." - ::= { ifEntry 1 } - - ifDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A textual string containing information about the - interface. This string should include the name of - the manufacturer, the product name and the version - of the hardware interface." - ::= { ifEntry 2 } - - ifType OBJECT-TYPE - SYNTAX IANAifType - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The type of interface. Additional values for ifType - are assigned by the Internet Assigned Numbers - Authority (IANA), through updating the syntax of the - IANAifType textual convention." - ::= { ifEntry 3 } - - - ifMtu OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The size of the largest datagram which can be - sent/received on the interface, specified in - octets. For interfaces that are used for - transmitting network datagrams, this is the size - of the largest network datagram that can be sent - on the interface." - ::= { ifEntry 4 } - - ifSpeed OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "An estimate of the interface's current bandwidth - in bits per second. For interfaces which do not - vary in bandwidth or for those where no accurate - estimation can be made, this object should contain - the nominal bandwidth." - ::= { ifEntry 5 } - - ifPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interface's address at the protocol layer - immediately `below' the network layer in the - protocol stack. For interfaces which do not have - such an address (e.g., a serial line), this object - should contain an octet string of zero length." - ::= { ifEntry 6 } - - ifAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The desired state of the interface. The - testing(3) state indicates that no operational - packets can be passed." - ::= { ifEntry 7 } - - ifOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), - dormant(5) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The current operational state of the interface. - The testing(3) state indicates that no operational - packets can be passed." - ::= { ifEntry 8 } - - ifLastChange OBJECT-TYPE - SYNTAX TimeTicks - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The value of sysUpTime at the time the interface - entered its current operational state. If the - current state was entered prior to the last re- - initialization of the local network management - subsystem, then this object contains a zero - value." - ::= { ifEntry 9 } - - ifInOctets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of octets received on the - interface, including framing characters." - ::= { ifEntry 10 } - - ifInUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of subnetwork-unicast packets - delivered to a higher-layer protocol." - ::= { ifEntry 11 } - - ifInNUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of non-unicast (i.e., subnetwork- - broadcast or subnetwork-multicast) packets - delivered to a higher-layer protocol." - ::= { ifEntry 12 } - - ifInDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of inbound packets which were chosen - to be discarded even though no errors had been - detected to prevent their being deliverable to a - higher-layer protocol. One possible reason for - discarding such a packet could be to free up - buffer space." - ::= { ifEntry 13 } - - ifInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of inbound packets that contained - errors preventing them from being deliverable to a - higher-layer protocol." - ::= { ifEntry 14 } - - ifInUnknownProtos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of packets received via the interface - which were discarded because of an unknown or - unsupported protocol." - ::= { ifEntry 15 } - - ifOutOctets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of octets transmitted out of the - interface, including framing characters." - ::= { ifEntry 16 } - - ifOutUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of packets that higher-level - protocols requested be transmitted to a - subnetwork-unicast address, including those that - were discarded or not sent." - ::= { ifEntry 17 } - - ifOutNUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of packets that higher-level - protocols requested be transmitted to a non- - unicast (i.e., a subnetwork-broadcast or - subnetwork-multicast) address, including those - that were discarded or not sent." - ::= { ifEntry 18 } - - ifOutDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of outbound packets which were chosen - to be discarded even though no errors had been - detected to prevent their being transmitted. One - possible reason for discarding such a packet could - be to free up buffer space." - ::= { ifEntry 19 } - - ifOutErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of outbound packets that could not be - transmitted because of errors." - ::= { ifEntry 20 } - - ifOutQLen OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The length of the output packet queue (in - packets)." - ::= { ifEntry 21 } - - ifSpecific OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A reference to MIB definitions specific to the - particular media being used to realize the - interface. For example, if the interface is - realized by an ethernet, then the value of this - object refers to a document defining objects - specific to ethernet. If this information is not - present, its value should be set to the OBJECT - IDENTIFIER { 0 0 }, which is a syntactically valid - object identifier, and any conformant - implementation of ASN.1 and BER must be able to - generate and recognize this value." - ::= { ifEntry 22 } - - - -- the Address Translation group - - -- Implementation of the Address Translation group is - -- mandatory for all systems. Note however that this group - -- is deprecated by MIB-II. That is, it is being included - -- solely for compatibility with MIB-I nodes, and will most - -- likely be excluded from MIB-III nodes. From MIB-II and - -- onwards, each network protocol group contains its own - -- address translation tables. - - -- The Address Translation group contains one table which is - -- the union across all interfaces of the translation tables - -- for converting a NetworkAddress (e.g., an IP address) into - -- a subnetwork-specific address. For lack of a better term, - -- this document refers to such a subnetwork-specific address - -- as a `physical' address. - - -- Examples of such translation tables are: for broadcast - -- media where ARP is in use, the translation table is - -- equivalent to the ARP cache; or, on an X.25 network where - -- non-algorithmic translation to X.121 addresses is - -- required, the translation table contains the - -- NetworkAddress to X.121 address equivalences. - - atTable OBJECT-TYPE - SYNTAX SEQUENCE OF AtEntry - ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "The Address Translation tables contain the - NetworkAddress to `physical' address equivalences. - Some interfaces do not use translation tables for - determining address equivalences (e.g., DDN-X.25 - has an algorithmic method); if all interfaces are - of this type, then the Address Translation table - is empty, i.e., has zero entries." - ::= { at 1 } - - atEntry OBJECT-TYPE - SYNTAX AtEntry - ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "Each entry contains one NetworkAddress to - `physical' address equivalence." - INDEX { atIfIndex, - atNetAddress } - ::= { atTable 1 } - - AtEntry ::= - SEQUENCE { - atIfIndex - INTEGER, - atPhysAddress - PhysAddress, - atNetAddress - NetworkAddress - } - - atIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS deprecated - DESCRIPTION - "The interface on which this entry's equivalence - is effective. The interface identified by a - particular value of this index is the same - interface as identified by the same value of - ifIndex." - ::= { atEntry 1 } - - atPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-write - STATUS deprecated - DESCRIPTION - "The media-dependent `physical' address. - - Setting this object to a null string (one of zero - length) has the effect of invaliding the - corresponding entry in the atTable object. That - is, it effectively disassociates the interface - identified with said entry from the mapping - identified with said entry. It is an - implementation-specific matter as to whether the - agent removes an invalidated entry from the table. - Accordingly, management stations must be prepared - to receive tabular information from agents that - corresponds to entries not currently in use. - Proper interpretation of such entries requires - examination of the relevant atPhysAddress object." - ::= { atEntry 2 } - - atNetAddress OBJECT-TYPE - SYNTAX NetworkAddress - ACCESS read-write - STATUS deprecated - DESCRIPTION - "The NetworkAddress (e.g., the IP address) - corresponding to the media-dependent `physical' - address." - ::= { atEntry 3 } - - - -- the IP group - - -- Implementation of the IP group is mandatory for all - -- systems. - - ipForwarding OBJECT-TYPE - SYNTAX INTEGER { - forwarding(1), -- acting as a gateway - not-forwarding(2) -- NOT acting as a gateway - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The indication of whether this entity is acting - as an IP gateway in respect to the forwarding of - datagrams received by, but not addressed to, this - entity. IP gateways forward datagrams. IP hosts - do not (except those source-routed via the host). - - Note that for some managed nodes, this object may - take on only a subset of the values possible. - Accordingly, it is appropriate for an agent to - return a `badValue' response if a management - station attempts to change this object to an - inappropriate value." - ::= { ip 1 } - - ipDefaultTTL OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The default value inserted into the Time-To-Live - field of the IP header of datagrams originated at - this entity, whenever a TTL value is not supplied - by the transport layer protocol." - ::= { ip 2 } - - ipInReceives OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of input datagrams received from - interfaces, including those received in error." - ::= { ip 3 } - - ipInHdrErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of input datagrams discarded due to - errors in their IP headers, including bad - checksums, version number mismatch, other format - errors, time-to-live exceeded, errors discovered - in processing their IP options, etc." - ::= { ip 4 } - - ipInAddrErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of input datagrams discarded because - the IP address in their IP header's destination - field was not a valid address to be received at - this entity. This count includes invalid - addresses (e.g., 0.0.0.0) and addresses of - unsupported Classes (e.g., Class E). For entities - which are not IP Gateways and therefore do not - forward datagrams, this counter includes datagrams - discarded because the destination address was not - a local address." - ::= { ip 5 } - - ipForwDatagrams OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of input datagrams for which this - entity was not their final IP destination, as a - result of which an attempt was made to find a - route to forward them to that final destination. - In entities which do not act as IP Gateways, this - counter will include only those packets which were - Source-Routed via this entity, and the Source- - Route option processing was successful." - ::= { ip 6 } - - ipInUnknownProtos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally-addressed datagrams - received successfully but discarded because of an - unknown or unsupported protocol." - ::= { ip 7 } - - ipInDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of input IP datagrams for which no - problems were encountered to prevent their - continued processing, but which were discarded - (e.g., for lack of buffer space). Note that this - counter does not include any datagrams discarded - while awaiting re-assembly." - ::= { ip 8 } - - ipInDelivers OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of input datagrams successfully - delivered to IP user-protocols (including ICMP)." - ::= { ip 9 } - - ipOutRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of IP datagrams which local IP - user-protocols (including ICMP) supplied to IP in - requests for transmission. Note that this counter - does not include any datagrams counted in - ipForwDatagrams." - ::= { ip 10 } - - ipOutDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of output IP datagrams for which no - problem was encountered to prevent their - transmission to their destination, but which were - discarded (e.g., for lack of buffer space). Note - that this counter would include datagrams counted - in ipForwDatagrams if any such packets met this - (discretionary) discard criterion." - ::= { ip 11 } - - ipOutNoRoutes OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams discarded because no - route could be found to transmit them to their - destination. Note that this counter includes any - packets counted in ipForwDatagrams which meet this - `no-route' criterion. Note that this includes any - datagrams which a host cannot route because all of - its default gateways are down." - ::= { ip 12 } - - ipReasmTimeout OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The maximum number of seconds which received - fragments are held while they are awaiting - reassembly at this entity." - ::= { ip 13 } - - ipReasmReqds OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP fragments received which needed - to be reassembled at this entity." - ::= { ip 14 } - - ipReasmOKs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams successfully re- - assembled." - ::= { ip 15 } - - ipReasmFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of failures detected by the IP re- - assembly algorithm (for whatever reason: timed - out, errors, etc). Note that this is not - necessarily a count of discarded IP fragments - since some algorithms (notably the algorithm in - RFC 815) can lose track of the number of fragments - by combining them as they are received." - ::= { ip 16 } - - ipFragOKs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams that have been - successfully fragmented at this entity." - ::= { ip 17 } - - ipFragFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams that have been - discarded because they needed to be fragmented at - this entity but could not be, e.g., because their - Don't Fragment flag was set." - ::= { ip 18 } - - ipFragCreates OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagram fragments that have - been generated as a result of fragmentation at - this entity." - ::= { ip 19 } - - - - -- the IP address table - - -- The IP address table contains this entity's IP addressing - -- information. - - ipAddrTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpAddrEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The table of addressing information relevant to - this entity's IP addresses." - ::= { ip 20 } - - ipAddrEntry OBJECT-TYPE - SYNTAX IpAddrEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The addressing information for one of this - entity's IP addresses." - INDEX { ipAdEntAddr } - ::= { ipAddrTable 1 } - - IpAddrEntry ::= - SEQUENCE { - ipAdEntAddr - IpAddress, - ipAdEntIfIndex - INTEGER, - ipAdEntNetMask - IpAddress, - ipAdEntBcastAddr - INTEGER, - ipAdEntReasmMaxSize - INTEGER (0..65535) - } - - ipAdEntAddr OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The IP address to which this entry's addressing - information pertains." - ::= { ipAddrEntry 1 } - - - ipAdEntIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The index value which uniquely identifies the - interface to which this entry is applicable. The - interface identified by a particular value of this - index is the same interface as identified by the - same value of ifIndex." - ::= { ipAddrEntry 2 } - - ipAdEntNetMask OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The subnet mask associated with the IP address of - this entry. The value of the mask is an IP - address with all the network bits set to 1 and all - the hosts bits set to 0." - ::= { ipAddrEntry 3 } - - ipAdEntBcastAddr OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The value of the least-significant bit in the IP - broadcast address used for sending datagrams on - the (logical) interface associated with the IP - address of this entry. For example, when the - Internet standard all-ones broadcast address is - used, the value will be 1. This value applies to - both the subnet and network broadcasts addresses - used by the entity on this (logical) interface." - ::= { ipAddrEntry 4 } - - ipAdEntReasmMaxSize OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The size of the largest IP datagram which this - entity can re-assemble from incoming IP fragmented - datagrams received on this interface." - ::= { ipAddrEntry 5 } - - -- the IP routing table - - -- The IP routing table contains an entry for each route - -- presently known to this entity. - - ipRouteTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpRouteEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "This entity's IP Routing table." - ::= { ip 21 } - - ipRouteEntry OBJECT-TYPE - SYNTAX IpRouteEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A route to a particular destination." - INDEX { ipRouteDest } - ::= { ipRouteTable 1 } - - IpRouteEntry ::= - SEQUENCE { - ipRouteDest - IpAddress, - ipRouteIfIndex - INTEGER, - ipRouteMetric1 - INTEGER, - ipRouteMetric2 - INTEGER, - ipRouteMetric3 - INTEGER, - ipRouteMetric4 - INTEGER, - ipRouteNextHop - IpAddress, - ipRouteType - INTEGER, - ipRouteProto - INTEGER, - ipRouteAge - INTEGER, - ipRouteMask - IpAddress, - ipRouteMetric5 - INTEGER, - ipRouteInfo - OBJECT IDENTIFIER - } - - ipRouteDest OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The destination IP address of this route. An - entry with a value of 0.0.0.0 is considered a - default route. Multiple routes to a single - destination can appear in the table, but access to - such multiple entries is dependent on the table- - access mechanisms defined by the network - management protocol in use." - ::= { ipRouteEntry 1 } - - ipRouteIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The index value which uniquely identifies the - local interface through which the next hop of this - route should be reached. The interface identified - by a particular value of this index is the same - interface as identified by the same value of - ifIndex." - ::= { ipRouteEntry 2 } - - ipRouteMetric1 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The primary routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 3 } - - ipRouteMetric2 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 4 } - - ipRouteMetric3 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 5 } - - ipRouteMetric4 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 6 } - - ipRouteNextHop OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The IP address of the next hop of this route. - (In the case of a route bound to an interface - which is realized via a broadcast media, the value - of this field is the agent's IP address on that - interface.)" - ::= { ipRouteEntry 7 } - - ipRouteType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - invalid(2), -- an invalidated route - -- route to directly - direct(3), -- connected (sub-)network - - -- route to a non-local - indirect(4) -- host/network/sub-network - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The type of route. Note that the values - direct(3) and indirect(4) refer to the notion of - direct and indirect routing in the IP - architecture. - - Setting this object to the value invalid(2) has - the effect of invalidating the corresponding entry - in the ipRouteTable object. That is, it - effectively disassociates the destination - identified with said entry from the route - identified with said entry. It is an - implementation-specific matter as to whether the - agent removes an invalidated entry from the table. - Accordingly, management stations must be prepared - to receive tabular information from agents that - corresponds to entries not currently in use. - Proper interpretation of such entries requires - examination of the relevant ipRouteType object." - ::= { ipRouteEntry 8 } - - ipRouteProto OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - -- non-protocol information, - -- e.g., manually configured - local(2), -- entries - - -- set via a network - netmgmt(3), -- management protocol - - -- obtained via ICMP, - icmp(4), -- e.g., Redirect - - -- the remaining values are - -- all gateway routing - -- protocols - egp(5), - ggp(6), - hello(7), - rip(8), - is-is(9), - es-is(10), - ciscoIgrp(11), - bbnSpfIgp(12), - ospf(13), - bgp(14) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The routing mechanism via which this route was - learned. Inclusion of values for gateway routing - protocols is not intended to imply that hosts - should support those protocols." - ::= { ipRouteEntry 9 } - - ipRouteAge OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The number of seconds since this route was last - updated or otherwise determined to be correct. - Note that no semantics of `too old' can be implied - except through knowledge of the routing protocol - by which the route was learned." - ::= { ipRouteEntry 10 } - - ipRouteMask OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "Indicate the mask to be logical-ANDed with the - destination address before being compared to the - value in the ipRouteDest field. For those systems - that do not support arbitrary subnet masks, an - agent constructs the value of the ipRouteMask by - determining whether the value of the correspondent - ipRouteDest field belong to a class-A, B, or C - network, and then using one of: - - mask network - 255.0.0.0 class-A - 255.255.0.0 class-B - 255.255.255.0 class-C - - If the value of the ipRouteDest is 0.0.0.0 (a - default route), then the mask value is also - 0.0.0.0. It should be noted that all IP routing - subsystems implicitly use this mechanism." - ::= { ipRouteEntry 11 } - - ipRouteMetric5 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 12 } - - ipRouteInfo OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A reference to MIB definitions specific to the - particular routing protocol which is responsible - for this route, as determined by the value - specified in the route's ipRouteProto value. If - this information is not present, its value should - be set to the OBJECT IDENTIFIER { 0 0 }, which is - a syntactically valid object identifier, and any - conformant implementation of ASN.1 and BER must be - able to generate and recognize this value." - ::= { ipRouteEntry 13 } - - - -- the IP Address Translation table - - -- The IP address translation table contain the IpAddress to - -- `physical' address equivalences. Some interfaces do not - -- use translation tables for determining address - -- equivalences (e.g., DDN-X.25 has an algorithmic method); - -- if all interfaces are of this type, then the Address - -- Translation table is empty, i.e., has zero entries. - - ipNetToMediaTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpNetToMediaEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The IP Address Translation table used for mapping - from IP addresses to physical addresses." - ::= { ip 22 } - - ipNetToMediaEntry OBJECT-TYPE - SYNTAX IpNetToMediaEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Each entry contains one IpAddress to `physical' - address equivalence." - INDEX { ipNetToMediaIfIndex, - ipNetToMediaNetAddress } - ::= { ipNetToMediaTable 1 } - - IpNetToMediaEntry ::= - SEQUENCE { - ipNetToMediaIfIndex - INTEGER, - ipNetToMediaPhysAddress - PhysAddress, - ipNetToMediaNetAddress - IpAddress, - ipNetToMediaType - INTEGER - } - - ipNetToMediaIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The interface on which this entry's equivalence - is effective. The interface identified by a - particular value of this index is the same - interface as identified by the same value of - ifIndex." - ::= { ipNetToMediaEntry 1 } - - ipNetToMediaPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The media-dependent `physical' address." - ::= { ipNetToMediaEntry 2 } - - ipNetToMediaNetAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The IpAddress corresponding to the media- - dependent `physical' address." - ::= { ipNetToMediaEntry 3 } - - ipNetToMediaType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - invalid(2), -- an invalidated mapping - dynamic(3), - static(4) - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The type of mapping. - - Setting this object to the value invalid(2) has - the effect of invalidating the corresponding entry - in the ipNetToMediaTable. That is, it effectively - disassociates the interface identified with said - entry from the mapping identified with said entry. - It is an implementation-specific matter as to - whether the agent removes an invalidated entry - from the table. Accordingly, management stations - must be prepared to receive tabular information - from agents that corresponds to entries not - currently in use. Proper interpretation of such - entries requires examination of the relevant - ipNetToMediaType object." - ::= { ipNetToMediaEntry 4 } - - - -- additional IP objects - - ipRoutingDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of routing entries which were chosen - to be discarded even though they are valid. One - possible reason for discarding such an entry could - be to free-up buffer space for other routing - entries." - ::= { ip 23 } - - - -- the ICMP group - - -- Implementation of the ICMP group is mandatory for all - -- systems. - - icmpInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of ICMP messages which the - entity received. Note that this counter includes - all those counted by icmpInErrors." - ::= { icmp 1 } - - icmpInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP messages which the entity - received but determined as having ICMP-specific - errors (bad ICMP checksums, bad length, etc.)." - ::= { icmp 2 } - - icmpInDestUnreachs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Destination Unreachable - messages received." - ::= { icmp 3 } - - icmpInTimeExcds OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Time Exceeded messages - received." - ::= { icmp 4 } - - - icmpInParmProbs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Parameter Problem messages - received." - ::= { icmp 5 } - - icmpInSrcQuenchs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Source Quench messages - received." - ::= { icmp 6 } - - icmpInRedirects OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Redirect messages received." - ::= { icmp 7 } - - icmpInEchos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo (request) messages - received." - ::= { icmp 8 } - - icmpInEchoReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo Reply messages received." - ::= { icmp 9 } - - icmpInTimestamps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp (request) messages - received." - ::= { icmp 10 } - - icmpInTimestampReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp Reply messages - received." - ::= { icmp 11 } - - icmpInAddrMasks OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Request messages - received." - ::= { icmp 12 } - - icmpInAddrMaskReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Reply messages - received." - ::= { icmp 13 } - - icmpOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of ICMP messages which this - entity attempted to send. Note that this counter - includes all those counted by icmpOutErrors." - ::= { icmp 14 } - - icmpOutErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP messages which this entity did - not send due to problems discovered within ICMP - such as a lack of buffers. This value should not - include errors discovered outside the ICMP layer - such as the inability of IP to route the resultant - datagram. In some implementations there may be no - types of error which contribute to this counter's - value." - ::= { icmp 15 } - - icmpOutDestUnreachs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Destination Unreachable - messages sent." - ::= { icmp 16 } - - icmpOutTimeExcds OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Time Exceeded messages sent." - ::= { icmp 17 } - - icmpOutParmProbs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Parameter Problem messages - sent." - ::= { icmp 18 } - - icmpOutSrcQuenchs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Source Quench messages sent." - ::= { icmp 19 } - - icmpOutRedirects OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Redirect messages sent. For a - host, this object will always be zero, since hosts - do not send redirects." - ::= { icmp 20 } - - icmpOutEchos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo (request) messages sent." - ::= { icmp 21 } - - icmpOutEchoReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo Reply messages sent." - ::= { icmp 22 } - - icmpOutTimestamps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp (request) messages - sent." - ::= { icmp 23 } - - icmpOutTimestampReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp Reply messages - sent." - ::= { icmp 24 } - - icmpOutAddrMasks OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Request messages - sent." - ::= { icmp 25 } - - - icmpOutAddrMaskReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Reply messages - sent." - ::= { icmp 26 } - - - -- the TCP group - - -- Implementation of the TCP group is mandatory for all - -- systems that implement the TCP. - - -- Note that instances of object types that represent - -- information about a particular TCP connection are - -- transient; they persist only as long as the connection - -- in question. - - tcpRtoAlgorithm OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - constant(2), -- a constant rto - rsre(3), -- MIL-STD-1778, Appendix B - vanj(4) -- Van Jacobson's algorithm [10] - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The algorithm used to determine the timeout value - used for retransmitting unacknowledged octets." - ::= { tcp 1 } - - tcpRtoMin OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The minimum value permitted by a TCP - implementation for the retransmission timeout, - measured in milliseconds. More refined semantics - for objects of this type depend upon the algorithm - used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), - an object of this type has the semantics of the - LBOUND quantity described in RFC 793." - ::= { tcp 2 } - - - tcpRtoMax OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The maximum value permitted by a TCP - implementation for the retransmission timeout, - measured in milliseconds. More refined semantics - for objects of this type depend upon the algorithm - used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), - an object of this type has the semantics of the - UBOUND quantity described in RFC 793." - ::= { tcp 3 } - - tcpMaxConn OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The limit on the total number of TCP connections - the entity can support. In entities where the - maximum number of connections is dynamic, this - object should contain the value -1." - ::= { tcp 4 } - - tcpActiveOpens OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the SYN-SENT state from the - CLOSED state." - ::= { tcp 5 } - - tcpPassiveOpens OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the SYN-RCVD state from the - LISTEN state." - ::= { tcp 6 } - - tcpAttemptFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the CLOSED state from either - the SYN-SENT state or the SYN-RCVD state, plus the - number of times TCP connections have made a direct - transition to the LISTEN state from the SYN-RCVD - state." - ::= { tcp 7 } - - tcpEstabResets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the CLOSED state from either - the ESTABLISHED state or the CLOSE-WAIT state." - ::= { tcp 8 } - - tcpCurrEstab OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of TCP connections for which the - current state is either ESTABLISHED or CLOSE- - WAIT." - ::= { tcp 9 } - - tcpInSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments received, including - those received in error. This count includes - segments received on currently established - connections." - ::= { tcp 10 } - - tcpOutSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments sent, including - those on current connections but excluding those - containing only retransmitted octets." - ::= { tcp 11 } - - tcpRetransSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments retransmitted - that - is, the number of TCP segments transmitted - containing one or more previously transmitted - octets." - ::= { tcp 12 } - - - -- the TCP Connection table - - -- The TCP connection table contains information about this - -- entity's existing TCP connections. - - tcpConnTable OBJECT-TYPE - SYNTAX SEQUENCE OF TcpConnEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A table containing TCP connection-specific - information." - ::= { tcp 13 } - - tcpConnEntry OBJECT-TYPE - SYNTAX TcpConnEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about a particular current TCP - connection. An object of this type is transient, - in that it ceases to exist when (or soon after) - the connection makes the transition to the CLOSED - state." - INDEX { tcpConnLocalAddress, - tcpConnLocalPort, - tcpConnRemAddress, - tcpConnRemPort } - ::= { tcpConnTable 1 } - - TcpConnEntry ::= - SEQUENCE { - tcpConnState - INTEGER, - tcpConnLocalAddress - IpAddress, - tcpConnLocalPort - INTEGER (0..65535), - tcpConnRemAddress - IpAddress, - tcpConnRemPort - INTEGER (0..65535) - } - - tcpConnState OBJECT-TYPE - SYNTAX INTEGER { - closed(1), - listen(2), - synSent(3), - synReceived(4), - established(5), - finWait1(6), - finWait2(7), - closeWait(8), - lastAck(9), - closing(10), - timeWait(11), - deleteTCB(12) - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The state of this TCP connection. - - The only value which may be set by a management - station is deleteTCB(12). Accordingly, it is - appropriate for an agent to return a `badValue' - response if a management station attempts to set - this object to any other value. - - If a management station sets this object to the - value deleteTCB(12), then this has the effect of - deleting the TCB (as defined in RFC 793) of the - corresponding connection on the managed node, - resulting in immediate termination of the - connection. - - As an implementation-specific option, a RST - segment may be sent from the managed node to the - other TCP endpoint (note however that RST segments - are not sent reliably)." - ::= { tcpConnEntry 1 } - - tcpConnLocalAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local IP address for this TCP connection. In - the case of a connection in the listen state which - is willing to accept connections for any IP - interface associated with the node, the value - 0.0.0.0 is used." - ::= { tcpConnEntry 2 } - - tcpConnLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local port number for this TCP connection." - ::= { tcpConnEntry 3 } - - tcpConnRemAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The remote IP address for this TCP connection." - ::= { tcpConnEntry 4 } - - tcpConnRemPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The remote port number for this TCP connection." - ::= { tcpConnEntry 5 } - - - -- additional TCP objects - - tcpInErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments received in error - (e.g., bad TCP checksums)." - ::= { tcp 14 } - - tcpOutRsts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of TCP segments sent containing the - RST flag." - ::= { tcp 15 } - - - -- the UDP group - - -- Implementation of the UDP group is mandatory for all - -- systems which implement the UDP. - - udpInDatagrams OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of UDP datagrams delivered to - UDP users." - ::= { udp 1 } - - udpNoPorts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of received UDP datagrams for - which there was no application at the destination - port." - ::= { udp 2 } - - udpInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of received UDP datagrams that could - not be delivered for reasons other than the lack - of an application at the destination port." - ::= { udp 3 } - - udpOutDatagrams OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of UDP datagrams sent from this - entity." - ::= { udp 4 } - - - -- the UDP Listener table - - -- The UDP listener table contains information about this - -- entity's UDP end-points on which a local application is - -- currently accepting datagrams. - - udpTable OBJECT-TYPE - SYNTAX SEQUENCE OF UdpEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A table containing UDP listener information." - ::= { udp 5 } - - udpEntry OBJECT-TYPE - SYNTAX UdpEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about a particular current UDP - listener." - INDEX { udpLocalAddress, udpLocalPort } - ::= { udpTable 1 } - - UdpEntry ::= - SEQUENCE { - udpLocalAddress - IpAddress, - udpLocalPort - INTEGER (0..65535) - } - - udpLocalAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local IP address for this UDP listener. In - the case of a UDP listener which is willing to - accept datagrams for any IP interface associated - with the node, the value 0.0.0.0 is used." - ::= { udpEntry 1 } - - udpLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local port number for this UDP listener." - ::= { udpEntry 2 } - - - -- the EGP group - - -- Implementation of the EGP group is mandatory for all - -- systems which implement the EGP. - - egpInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received without - error." - ::= { egp 1 } - - egpInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received that proved - to be in error." - ::= { egp 2 } - - egpOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of locally generated EGP - messages." - ::= { egp 3 } - - egpOutErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages not - sent due to resource limitations within an EGP - entity." - ::= { egp 4 } - - - -- the EGP Neighbor table - - -- The EGP neighbor table contains information about this - -- entity's EGP neighbors. - - egpNeighTable OBJECT-TYPE - SYNTAX SEQUENCE OF EgpNeighEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The EGP neighbor table." - ::= { egp 5 } - - egpNeighEntry OBJECT-TYPE - SYNTAX EgpNeighEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about this entity's relationship with - a particular EGP neighbor." - INDEX { egpNeighAddr } - ::= { egpNeighTable 1 } - - EgpNeighEntry ::= - SEQUENCE { - egpNeighState - INTEGER, - egpNeighAddr - IpAddress, - egpNeighAs - INTEGER, - egpNeighInMsgs - Counter, - egpNeighInErrs - Counter, - egpNeighOutMsgs - Counter, - egpNeighOutErrs - Counter, - egpNeighInErrMsgs - Counter, - egpNeighOutErrMsgs - Counter, - egpNeighStateUps - Counter, - egpNeighStateDowns - Counter, - egpNeighIntervalHello - INTEGER, - egpNeighIntervalPoll - INTEGER, - egpNeighMode - INTEGER, - egpNeighEventTrigger - INTEGER - } - - egpNeighState OBJECT-TYPE - SYNTAX INTEGER { - idle(1), - acquisition(2), - down(3), - up(4), - cease(5) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The EGP state of the local system with respect to - this entry's EGP neighbor. Each EGP state is - represented by a value that is one greater than - the numerical value associated with said state in - RFC 904." - ::= { egpNeighEntry 1 } - - egpNeighAddr OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The IP address of this entry's EGP neighbor." - ::= { egpNeighEntry 2 } - - egpNeighAs OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The autonomous system of this EGP peer. Zero - should be specified if the autonomous system - number of the neighbor is not yet known." - ::= { egpNeighEntry 3 } - - egpNeighInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received without error - from this EGP peer." - ::= { egpNeighEntry 4 } - - egpNeighInErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received from this EGP - peer that proved to be in error (e.g., bad EGP - checksum)." - ::= { egpNeighEntry 5 } - - egpNeighOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages to - this EGP peer." - ::= { egpNeighEntry 6 } - - egpNeighOutErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages not - sent to this EGP peer due to resource limitations - within an EGP entity." - ::= { egpNeighEntry 7 } - - egpNeighInErrMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP-defined error messages received - from this EGP peer." - ::= { egpNeighEntry 8 } - - egpNeighOutErrMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP-defined error messages sent to - this EGP peer." - ::= { egpNeighEntry 9 } - - egpNeighStateUps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP state transitions to the UP - state with this EGP peer." - ::= { egpNeighEntry 10 } - - egpNeighStateDowns OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP state transitions from the UP - state to any other state with this EGP peer." - ::= { egpNeighEntry 11 } - - egpNeighIntervalHello OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interval between EGP Hello command - retransmissions (in hundredths of a second). This - represents the t1 timer as defined in RFC 904." - ::= { egpNeighEntry 12 } - - egpNeighIntervalPoll OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interval between EGP poll command - retransmissions (in hundredths of a second). This - represents the t3 timer as defined in RFC 904." - ::= { egpNeighEntry 13 } - - egpNeighMode OBJECT-TYPE - SYNTAX INTEGER { active(1), passive(2) } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The polling mode of this EGP entity, either - passive or active." - ::= { egpNeighEntry 14 } - - egpNeighEventTrigger OBJECT-TYPE - SYNTAX INTEGER { start(1), stop(2) } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "A control variable used to trigger operator- - initiated Start and Stop events. When read, this - variable always returns the most recent value that - egpNeighEventTrigger was set to. If it has not - been set since the last initialization of the - network management subsystem on the node, it - returns a value of `stop'. - - When set, this variable causes a Start or Stop - event on the specified neighbor, as specified on - pages 8-10 of RFC 904. Briefly, a Start event - causes an Idle peer to begin neighbor acquisition - and a non-Idle peer to reinitiate neighbor - acquisition. A stop event causes a non-Idle peer - to return to the Idle state until a Start event - occurs, either via egpNeighEventTrigger or - otherwise." - ::= { egpNeighEntry 15 } - - - -- additional EGP objects - - egpAs OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The autonomous system number of this EGP entity." - ::= { egp 6 } - - -- the Transmission group - - -- Based on the transmission media underlying each interface - -- on a system, the corresponding portion of the Transmission - -- group is mandatory for that system. - - -- When Internet-standard definitions for managing - -- transmission media are defined, the transmission group is - -- used to provide a prefix for the names of those objects. - - -- Typically, such definitions reside in the experimental - -- portion of the MIB until they are "proven", then as a - -- part of the Internet standardization process, the - -- definitions are accordingly elevated and a new object - -- identifier, under the transmission group is defined. By - -- convention, the name assigned is: - -- - -- type OBJECT IDENTIFIER ::= { transmission number } - -- - -- where "type" is the symbolic value used for the media in - -- the ifType column of the ifTable object, and "number" is - -- the actual integer value corresponding to the symbol. - - - -- the SNMP group - - -- Implementation of the SNMP group is mandatory for all - -- systems which support an SNMP protocol entity. Some of - -- the objects defined below will be zero-valued in those - -- SNMP implementations that are optimized to support only - -- those functions specific to either a management agent or - -- a management station. In particular, it should be - -- observed that the objects below refer to an SNMP entity, - -- and there may be several SNMP entities residing on a - -- managed node (e.g., if the node is hosting acting as - -- a management station). - - snmpInPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of Messages delivered to the - SNMP entity from the transport service." - ::= { snmp 1 } - - snmpOutPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages which were - passed from the SNMP protocol entity to the - transport service." - ::= { snmp 2 } - - snmpInBadVersions OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages which were - delivered to the SNMP protocol entity and were for - an unsupported SNMP version." - ::= { snmp 3 } - - snmpInBadCommunityNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages delivered to - the SNMP protocol entity which used a SNMP - community name not known to said entity." - ::= { snmp 4 } - - snmpInBadCommunityUses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages delivered to - the SNMP protocol entity which represented an SNMP - operation which was not allowed by the SNMP - community named in the Message." - ::= { snmp 5 } - - snmpInASNParseErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of ASN.1 or BER errors - encountered by the SNMP protocol entity when - decoding received SNMP Messages." - ::= { snmp 6 } - - -- { snmp 7 } is not used - - snmpInTooBigs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `tooBig'." - ::= { snmp 8 } - - snmpInNoSuchNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `noSuchName'." - ::= { snmp 9 } - - snmpInBadValues OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `badValue'." - ::= { snmp 10 } - - snmpInReadOnlys OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number valid SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `readOnly'. It should be noted that it is a - protocol error to generate an SNMP PDU which - contains the value `readOnly' in the error-status - field, as such this object is provided as a means - of detecting incorrect implementations of the - SNMP." - ::= { snmp 11 } - - snmpInGenErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `genErr'." - ::= { snmp 12 } - - snmpInTotalReqVars OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of MIB objects which have been - retrieved successfully by the SNMP protocol entity - as the result of receiving valid SNMP Get-Request - and Get-Next PDUs." - ::= { snmp 13 } - - snmpInTotalSetVars OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of MIB objects which have been - altered successfully by the SNMP protocol entity - as the result of receiving valid SNMP Set-Request - PDUs." - ::= { snmp 14 } - - snmpInGetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 15 } - - snmpInGetNexts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have - been accepted and processed by the SNMP protocol - entity." - ::= { snmp 16 } - - snmpInSetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 17 } - - snmpInGetResponses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 18 } - - snmpInTraps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Trap PDUs which have - been accepted and processed by the SNMP protocol - entity." - ::= { snmp 19 } - - snmpOutTooBigs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `tooBig.'" - ::= { snmp 20 } - - snmpOutNoSuchNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status is - `noSuchName'." - ::= { snmp 21 } - - snmpOutBadValues OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `badValue'." - ::= { snmp 22 } - - -- { snmp 23 } is not used - - snmpOutGenErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `genErr'." - ::= { snmp 24 } - - snmpOutGetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 25 } - - snmpOutGetNexts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 26 } - - snmpOutSetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 27 } - - snmpOutGetResponses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 28 } - - snmpOutTraps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Trap PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 29 } - - snmpEnableAuthenTraps OBJECT-TYPE - SYNTAX INTEGER { enabled(1), disabled(2) } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "Indicates whether the SNMP agent process is - permitted to generate authentication-failure - traps. The value of this object overrides any - configuration information; as such, it provides a - means whereby all authentication-failure traps may - be disabled. - - Note that it is strongly recommended that this - object be stored in non-volatile memory so that it - remains constant between re-initializations of the - network management system." - ::= { snmp 30 } - -END diff --git a/ASNMP/tests/Address_Test.cpp b/ASNMP/tests/Address_Test.cpp deleted file mode 100644 index a10705ce78b..00000000000 --- a/ASNMP/tests/Address_Test.cpp +++ /dev/null @@ -1,556 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Address_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Address family: -// GenAddress, MacAddress, IpxAddress, IpAddress, UdpAddress -// all which derive from abstract base class Address. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - -#include "asnmp/address.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -// test the GenAddress interface -/* - */ -static void TestGenAddr() -{ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress: Tests: var(expected) [actual]\n")); - - // the constructors and destructors - GenAddress *ga1 = new GenAddress("1.2.3.4"); // use ipv4 address - ACE_ASSERT(ga1->valid() == 1); - GenAddress ga2(*ga1); // copy constructor; - ACE_ASSERT(ga2.valid() == 1); - GenAddress ga3("localhost"); - ACE_ASSERT(ga3.valid() == 1); - GenAddress ga4; // default constructor - ACE_ASSERT(ga4.valid() == 0); - GenAddress ga5; // default constructor - ACE_ASSERT(ga5.valid() == 0); - GenAddress ga6("127.0.0.1:7"); // udp address - ACE_ASSERT(ga6.valid() == 1); - GenAddress ga7("01234567.89ABcDeF0123"); // ipx address - ACE_ASSERT(ga7.valid() == 1); - IpAddress ip("1.2.3.4"); - ACE_ASSERT(ip.valid() == 1); - GenAddress ga8(ip); // Address conversion - ACE_ASSERT(ga8.valid() == 1); - - const char *ptr = (const char *)ga8; - - ACE_ASSERT(ga1 != 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga1(\"1.2.3.4\") [%s]\n", - ga1->to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga2(ga1) [%s]\n", - ga2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga3(\"localhost\") [%s]\n", - ga3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga4(\"\") [%s]\n", - ga4.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga6(\"127.0.0.1:7\") [%s]\n", - ga6.to_string())); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga7(\"01234567.89ABcDeF0123\") [%s]\n", - ga7.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga8(\"1.2.3.4\") [%s]\n", - ga8.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga8(\"1.2.3.4\") [%s]\n", - ptr)); - - // Test Assignment x = y, y = x - ga5 = ga3; // regular assignment - ga3 = ga3; // self assignment - ACE_ASSERT(ga5 == ga3); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga5=ga3(\"localhost\") [%s]\n", - ga5.to_string())); - - addr_type a = ga2.get_type(); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga2.get_type(\"0\") [%d]\n", - a)); - // udp address string - a = ga6.get_type(); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga2.get_type(\"2\") [%d]\n", - a)); - - // udp address string - a = ga7.get_type(); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) GenAddress:ga2.get_type(\"1\") [%d]\n", - a)); - - delete ga1, ga1 = 0; -} - -/* public methods - IpAddress( const char *inaddr = ""); - IpAddress( const IpAddress &ipaddr); - IpAddress( const GenAddress &genaddr); - ~IpAddress(); - SnmpSyntax& operator=( SnmpSyntax &val); - IpAddress& operator=( const IpAddress &ipaddress); - SnmpSyntax *clone() const; - char *resolve_hostname(int &status); - virtual char *to_string() ; - virtual operator const char *() const; - void mask( const IpAddress& ipaddr); - virtual addr_type get_type() const; - virtual SmiUINT32 get_syntax(); - int is_loopback() const; - int is_multicast() const; - int is_broadcast() const; - int is_arpanet() const; - */ -static void TestIpAddress() -{ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress: Tests\n")); - - // constructors - GenAddress ga("255.255.255.255"); - IpAddress ia1; - IpAddress ia2("224.2.3.4"); - ACE_ASSERT(ia2.is_multicast()); - ACE_ASSERT(!ia2.is_loopback()); - IpAddress ia3("localhost"); - ACE_ASSERT(ia3.is_loopback()); - ACE_ASSERT(!ia3.is_multicast()); - IpAddress ia4(ia3); - ACE_ASSERT(ia4.is_loopback()); - ACE_ASSERT(!ia4.is_multicast()); - IpAddress ia5(ga); - ACE_ASSERT(ia5.is_broadcast()); - IpAddress ia6 = IpAddress("10.0.0.2"); - ACE_ASSERT(ia6.is_private()); - ACE_ASSERT(!ia6.is_multicast()); - ACE_ASSERT(!ia6.is_loopback()); - - IpAddress ia7("172.16.0.1"); - ACE_ASSERT(ia7.is_private()); - - IpAddress ia8("192.168.0.1"); - ACE_ASSERT(ia8.is_private()); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia1(\"\") [%s]\n", - ia1.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia2(\"1.2.3.4\") [%s]\n", - ia2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia3(\"127.0.0.1\") [%s]\n", - ia3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia4(\"ia3\") [%s]\n", - ia4.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia5(\"255.255.255.255\") [%s]\n", - ia5.to_string())); - - // other routines - int status = 1; - const char *ptr = ia5.resolve_hostname(status); - ACE_ASSERT(status == 0); - ACE_ASSERT(ptr != 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia5.resolve_hostname():(\"\") [%s]\n", - ptr)); - - // now lets try one we setup with a hostname - ptr = ia3.resolve_hostname(status); - ACE_ASSERT(status == 0); - ACE_ASSERT(ptr != 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:ia3.resolve_hostname()(\"localhost\") [%s]\n", - ptr)); - - ptr = (const char *)ia5; - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpAddress:(const char *)(\"255.255.255.255\") [%s]\n", - ptr)); - - ia2 = ia3; - ACE_ASSERT(ia2 == ia3); - - ia4.mask(ia3); // mask with equal value should return same - ACE_ASSERT(ia2 == ia3); - - ACE_ASSERT(ia1.get_type() == type_ip); - ACE_ASSERT(ia1.valid() == 0); - ACE_ASSERT(ia2.get_type() == type_ip); - ACE_ASSERT(ia2.valid() == 1); - ACE_ASSERT(ia3.get_type() == type_ip); - ACE_ASSERT(ia3.valid() == 1); - ACE_ASSERT(ia4.get_type() == type_ip); - ACE_ASSERT(ia4.valid() == 1); - ACE_ASSERT(ia5.get_type() == type_ip); - ACE_ASSERT(ia5.valid() == 1); -} - - -// --------------- Netbios --------------- -/* - NetbiosAddress( const char *inaddr = ""); - NetbiosAddress( const NetbiosAddress& nbaddr); - NetbiosAddress( const GenAddress& genaddr); - ~NetbiosAddress(); - virtual char *to_string(); - NetbiosAddress& operator=( const NetbiosAddress &nbaddr); - nb_service get_service_type() const; - void set_service_type(nb_service nbservice); - virtual operator const char *() const; - virtual SmiUINT32 get_syntax(); - SnmpSyntax& operator=( SnmpSyntax &val); - SnmpSyntax *clone() const; - */ -static void TestNetbiosAddress() -{ - NetbiosAddress n1; - ACE_ASSERT(n1.valid() == 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NetbiosAddress:n1(\"\") [%s]\n", - n1.to_string())); - - NetbiosAddress n2(n1); - ACE_ASSERT(n2.valid() == 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NetbiosAddress:n2(n1) [%s]\n", - n2.to_string())); - - NetbiosAddress n3("pcname"); - ACE_ASSERT(n3.valid() == 1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NetbiosAddress:n3(\"pcname\") [%s]\n", - n3.to_string())); - - NetbiosAddress n4("abcdefghigjklmn"); - n4.set_service_type(nb_workstation); - ACE_ASSERT(n4.valid() == 1); - ACE_ASSERT(n4.get_service_type() == nb_workstation); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NetbiosAddress:n4(\"abcdefghigjklmn\") [%s]\n", - n4.to_string())); - - NetbiosAddress n5("abcdefghigjklmno0xx"); - ACE_ASSERT(n5.valid() == 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NetbiosAddress:n4(\"abcdefghigjklmno0xx\") [%s]\n", - n5.to_string())); - - n1 = n4; - ACE_ASSERT(n1 == n4); - ACE_ASSERT(strcmp((const char *)n1, (const char *)n4) == 0); - - n1.set_service_type(nb_server); - nb_service x = n1.get_service_type(); - ACE_ASSERT(x == nb_server); -} - -// --------------- IPX --------------- -/* - IpxAddress( void); - IpxAddress( const char *inaddr); - IpxAddress( const IpxAddress &ipxaddr); - IpxAddress( const GenAddress &genaddr); - ~IpxAddress(); - virtual SmiUINT32 get_syntax(); - SnmpSyntax& operator=( SnmpSyntax &val); - IpxAddress& operator=( const IpxAddress &ipxaddress); - int get_hostid( MacAddress& mac); - SnmpSyntax *clone() const; - virtual operator const char *() const; - virtual addr_type get_type() const; - -Ipx Address semantics: Total length must be 21 -// Must have a separator in it -// First string length must be 8 -// Second string length must be 12 -// Each char must take on value 0-F -// -// -// Input formats recognized -// -// XXXXXXXX.XXXXXXXXXXXX -// XXXXXXXX:XXXXXXXXXXXX -// XXXXXXXX-XXXXXXXXXXXX -// XXXXXXXX.XXXXXX-XXXXXX -// XXXXXXXX:XXXXXX-XXXXXX -// XXXXXXXX-XXXXXX-XXXXXX - - */ - -static void TestIpxAddress() -{ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress: Tests\n")); - IpxAddress xa1; - ACE_ASSERT(xa1.valid() == 0); - ACE_ASSERT(xa1.get_type() == type_ipx); - GenAddress gen("01234567.0123456789AB"); - ACE_ASSERT(gen.valid() == 1); - IpxAddress xa2("01234567.0123456789AB"); - ACE_ASSERT(xa2.get_type() == type_ipx); - ACE_ASSERT(xa2.valid() == 1); - IpxAddress xa3("01234567:0123456789AB"); - ACE_ASSERT(xa3.get_type() == type_ipx); - ACE_ASSERT(xa3.valid() == 1); - IpxAddress xa4("01234567-0123456789AB"); - ACE_ASSERT(xa4.get_type() == type_ipx); - ACE_ASSERT(xa4.valid() == 1); - IpxAddress xa5("01234567.012345-6789AB"); - ACE_ASSERT(xa5.get_type() == type_ipx); - ACE_ASSERT(xa5.valid() == 1); - IpxAddress xa6("01234567:012345-6789AB"); - ACE_ASSERT(xa6.get_type() == type_ipx); - ACE_ASSERT(xa6.valid() == 1); - IpxAddress xa7("01234567-012345-6789AB"); - ACE_ASSERT(xa7.get_type() == type_ipx); - ACE_ASSERT(xa7.valid() == 1); - IpxAddress xa8("01234567."); - ACE_ASSERT(xa8.get_type() == type_ipx); - ACE_ASSERT(xa8.valid() == 0); - IpxAddress xa9(gen); - ACE_ASSERT(xa9.valid() == 1); - IpxAddress *xa10 = new IpxAddress(xa9); - ACE_ASSERT(xa10->get_type() == type_ipx); - ACE_ASSERT(xa10->valid() == 1); - delete xa10; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa1(\"\") [%s]\n", - xa1.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa2(\"01234567.0123456789AB\") [%s]\n", - xa2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa3(\"01234567:0123456789A\") [%s]\n", - xa3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa4(\"01234567-0123456789AB\") [%s]\n", - xa4.to_string())); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa5(\"01234567.012345-6789AB\") [%s]\n", - xa5.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa6(\"01234567:012345-6789AB\") [%s]\n", - xa6.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa7(\"01234567-012345-6789AB\") [%s]\n", - xa7.to_string())); - - // assignment - xa1 = xa3; - ACE_ASSERT(xa1 == xa3); - MacAddress mac; - ACE_ASSERT(xa4.get_hostid(mac) == 1); - ACE_ASSERT(mac.valid() == 1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa4:get_hostid(\"01:23:45:67:89:ab\") [%s]\n", mac.to_string())); - - const char *ptr = (const char *)xa7; - ACE_DEBUG ((LM_DEBUG, "(%P|%t) IpxAddress:xa7-ptr(\"01234567-012345-6789AB\") [%s]\n", ptr)); - -} - -/* - MacAddress( void); - - MacAddress( const char *inaddr); - MacAddress( const MacAddress &macaddr); - MacAddress( const GenAddress &genaddr); - ~MacAddress(); -* SmiUINT32 get_syntax(); -* SnmpSyntax& operator=( SnmpSyntax &val); - MacAddress& operator=( const MacAddress &macaddress); -* SnmpSyntax *clone() const; - virtual char *to_string(); - virtual operator const char *() const; - virtual addr_type get_type() const; - unsigned int hashFunction() const; - -// MAC address format -// -// MAC ADDRESS -// 01 02 03 04 05 06 -// XX:XX:XX:XX:XX:XX -// Valid input format -// -// XXXXXXXXXXXX -// Total length must be 17 -// Each char must take on value 0-F -// - -*/ - -static void TestMacAddress() -{ - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress: Tests\n")); - - MacAddress ma1; - ACE_ASSERT(ma1.valid() == 0); - ACE_ASSERT(ma1.get_type() == type_mac); - MacAddress ma2("01:23:45:67:89:AB"); - ACE_ASSERT(ma2.valid() == 1); - ACE_ASSERT(ma2.get_type() == type_mac); - MacAddress ma3("0123456789ABCEFGHI"); // invalid string - ACE_ASSERT(ma3.valid() == 0); - ACE_ASSERT(ma3.get_type() == type_mac); - GenAddress ga("01:23:45:67:89:AB"); // mac address - MacAddress ma4(ma2); - ACE_ASSERT(ma4.valid() == 1); - ACE_ASSERT(ma4.get_type() == type_mac); - MacAddress ma5(ga); - ACE_ASSERT(ma5.valid() == 0); - ACE_ASSERT(ma5.get_type() == type_mac); - - ma1 = ma2; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma1(\"01:23:45:67:89:AB\") [%s]\n", - ma1.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma2(\"01:23:45:67:89:AB\") [%s]\n", - ma2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma3(\"\") [%s]\n", - ma3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma4(\"01:23:45:67:89:AB\") [%s]\n", - ma4.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma5(\"\") [%s]\n", - ma5.to_string())); - const char * ptr = (const char *)ma5; - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma5(\"\") [%s]\n", - ptr)); - - // hashFunction crashes if not usedwith valid fn - int x = ma2.hashFunction(); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) MacAddress:ma2.hashFunction(\"483201\") [%d]\n", - x)); -} - -/* - UdpAddress( void); - UdpAddress( const char *inaddr); - UdpAddress( const UdpAddress &udpaddr); - UdpAddress( const GenAddress &genaddr); - UdpAddress( const IpAddress &ipaddr); - ~UdpAddress(); - SmiUINT32 get_syntax(); - SnmpSyntax& operator=( SnmpSyntax &val); - UdpAddress& operator=( const UdpAddress &udpaddr); - SnmpSyntax *clone() const; - virtual char *to_string() ; - virtual operator const char *() const; - void set_port( const unsigned short p); - unsigned short get_port() const; - virtual addr_type get_type() const; - - // look for port info @ the end of the string - // port can be delineated by a ':' or a '/' - // if neither are present then just treat it - // like a normal IpAddress - - */ - -static void TestUdpAddress() -{ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress: Tests\n")); - - UdpAddress ua1; - ACE_ASSERT(ua1.valid() == 0); - ACE_ASSERT(ua1.get_type() == type_udp); - - // semantics of not setting the port here are bizzare? - UdpAddress ua2("127.0.0.1:161"); - ACE_ASSERT(ua2.valid() == 1); - ACE_ASSERT(ua2.get_type() == type_udp); - - UdpAddress ua3(ua2); - ACE_ASSERT(ua3.valid() == 1); - ACE_ASSERT(ua3.get_type() == type_udp); - - GenAddress ga("localhost"); - UdpAddress ua4(ga); - ACE_ASSERT(ua4.valid() == 1); - ACE_ASSERT(ua4.get_type() == type_udp); - - IpAddress ia("localhost"); - UdpAddress ua5(ga); - ACE_ASSERT(ua5.valid() == 1); - ACE_ASSERT(ua5.get_type() == type_udp); - - UdpAddress *ua6 = new UdpAddress("localhost:161"); - ACE_ASSERT(ua6->valid() == 1); - ACE_ASSERT(ua6->get_type() == type_udp); - - UdpAddress ua7 = UdpAddress("localhost/162"); - ACE_ASSERT(ua7.valid() == 1); - ACE_ASSERT(ua7.get_type() == type_udp); - - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua1(\"\") [%s]\n", - ua1.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua2(\"127.0.0.1:161\") [%s]\n", - ua2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua3(ua2)(\"127.0.0.1:161\") [%s]\n", - ua3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua4(GenAddress)(\"127.0.0.1\") [%s]\n", - ua4.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua5(IpAddress)(\"127.0.0.1\") [%s]\n", - ua5.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua6()(\"localhost:161\") [%s]\n", - ua6->to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua7()(\"localhost/162\") [%s]\n", - ua7.to_string())); - - delete ua6; // destructor - - // assignement tests. - ua1 = ua2; - ACE_ASSERT(ua1 == ua2); - ACE_ASSERT(ua1.valid() == 1); - ua1 = ua1; - ACE_ASSERT(ua1 == ua1); - ACE_ASSERT(ua1.valid() == 1); - - // set/get port - ua1.set_port(333); - ACE_ASSERT(ua1.get_port() == 333); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpAddress:ua1.set_port()(\"333\") [%s]\n", - (const char *)ua1)); - -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Address_Test"); - - TestGenAddr(); - TestIpAddress(); - TestUdpAddress(); - TestMacAddress(); - TestNetbiosAddress(); - TestIpxAddress(); - - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Counter64_Test.cpp b/ASNMP/tests/Counter64_Test.cpp deleted file mode 100644 index 506c8a85873..00000000000 --- a/ASNMP/tests/Counter64_Test.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Counter64_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Counter64 class. An Object -// representing an ASN.1 Counter64 SMI 64 bit Integer SYNTAX. -// (SNMPv2c) -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - -#include "ace/OS.h" -#include "asnmp/ctr64.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -// TODO: verify this with ACE folks -#if defined(_WIN32) -#define LLONG __int64 -#else -#define LLONG long long -#define ULLONG unsigned long long -#endif - -/* - Counter64( unsigned long long llw = 0); - Counter64( unsigned long hiparm, unsigned long loparm); - Counter64( const Counter64 &ctr64); - ~Counter64(); - SmiUINT32 get_syntax(); - long double to_long_double() const; - Counter64& assign( long double ld); - unsigned long high() const; - unsigned long low() const; - void set_high( const unsigned long h); - void set_low( const unsigned long l); - Counter64& operator=( const unsigned long long rhs); - Counter64& operator=( const Counter64 &rhs); - char *to_string(); - SnmpSyntax *clone() const; - SnmpSyntax& operator=( SnmpSyntax &val); - int valid() const; - operator unsigned long long(); - */ - -static void TestCounter64() -{ - static unsigned long ul = ULONG_MAX; - LLONG ll = (LLONG) 0x7fffffffffffffff; - LLONG mll = (LLONG) ((-ll) - 1); - ULLONG ull = (ULLONG) 0xffffffffffffffff; - long double ld = (LLONG) ll; - - cerr << "max unsigned long long is " << ull << endl; - cerr << "max long long is " << ll << endl; - cerr << "min long long is " << mll << endl; - - Counter64 c1; - ACE_ASSERT(c1.valid() == 1); - Counter64 c2(ul, ul); - ACE_ASSERT(c2.valid() == 1); - ACE_ASSERT(c2.high() == ul); - ACE_ASSERT(c2.low() == ul); - - Counter64 c3(ul); - ACE_ASSERT(c3.valid() == 1); - ACE_ASSERT(c3.low() == ul); - - Counter64 c4(c2); - ACE_ASSERT(c4.valid() == 1); - ACE_ASSERT(c4.high() == ul); - ACE_ASSERT(c4.low() == ul); - - Counter64 c5(0); - ACE_ASSERT(c5.valid() == 1); - - Counter64 c6; - c6.assign(ld); - ACE_ASSERT(c6.to_long_double() == ld); - - Counter64 c7(ull); - ACE_ASSERT(c7 == ull); - - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c1(\"\") [%s]\n", - c1.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c2(LONG_MAX,LONG_MAX) [%s]\n", - c2.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c3(LONG_MAX) [%s]\n", - c3.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c4(c2) [%s]\n", - c4.to_string())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c5(0) [%s]\n", - c5.to_string())); - - // misc routines - c1.set_low(1); - c1.set_high(2); - ACE_ASSERT(c1.low() == 1); - ACE_ASSERT(c1.high() == 2); - // assignment - c5 = c4; - ACE_ASSERT(c5 == c4); - c4 = c4; - ACE_ASSERT(c5 == c4); - c5 = ll; - ACE_ASSERT(c5 == ll); - // try simple arithmetic (needs more test cases) - c5 = mll; - c5 = c5 + (ULLONG) 10; - ACE_ASSERT(c5 == (mll + 10)); -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Counter64_Test"); - - TestCounter64(); - - ACE_END_TEST; - return 0; -} - - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Counter_Test.cpp b/ASNMP/tests/Counter_Test.cpp deleted file mode 100644 index 061f469f6a5..00000000000 --- a/ASNMP/tests/Counter_Test.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Counter_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Counter class. An Object -// representing an ASN.1 Counter SMI COUNTER SYNTAX. -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - -#include "ace/OS.h" -#include "asnmp/counter.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - - -/* - Counter32( void); - Counter32( const unsigned long i); - Counter32( const Counter32 &c); -* SmiUINT32 get_syntax(); -* SnmpSyntax *clone() const; -* SnmpSyntax& operator=( SnmpSyntax &val); - Counter32& operator=( const Counter32 &uli); - Counter32& operator=( const unsigned long i); - operator unsigned long(); - - -- comments tyis type appears to be a wrapper class and not - a true SNMP counter. Practical for nms side,yet may lead to - some confusion if implementing an agent with this class. - - Per RFC 1155 sec 3.2.3.3 - This application-wide type represents a non-negative integer which - monotonically increases until it reaches a maximum value, when it - wraps around and starts increasing again from zero. This memo - specifies a maximum value of 2^32-1 for counters -*/ - -static void TestCounter() -{ - long l = LONG_MAX, nl = LONG_MIN; // limits.h - unsigned long ul = ULONG_MAX, def = 0; - int i = INT_MAX, ni = INT_MIN; - unsigned int ui = UINT_MAX; - unsigned short us = 10; - short si = 65535; - - // constructors - Counter32 c1; - ACE_ASSERT(c1 == def); - Counter32 c2(l); - ACE_ASSERT(c2 == l); - Counter32 c3(nl); - ACE_ASSERT(c3 == nl); - Counter32 c4(ul); - ACE_ASSERT(c4 == ul); - Counter32 c5(i); - ACE_ASSERT(c5 == i); - Counter32 c6(ni); - ACE_ASSERT(c6 == ni); - Counter32 c7(ui); - ACE_ASSERT(c7 == ui); - Counter32 *c8 = new Counter32(c5); - ACE_ASSERT(c8 != 0); - delete c8; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c1(\"\") [%u]\n", - (unsigned long)c1)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c2(\"%u\") [%u]\n", - l, (unsigned long)c2)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c3(\"%u\") [%u]\n", - nl, (unsigned long)c3)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c4(\"%u\") [%u]\n", - ul, (unsigned long)c4)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c5(\"%u\") [%u]\n", - i, (unsigned long)c5)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c6(\"%u\") [%u]\n", - ni, (unsigned long)c6)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) c7(\"%u\") [%u]\n", - ui, (unsigned long)c7)); - - // assignent - c1 = c2; // obj - ACE_ASSERT(c1 == c2); - c1 = c1; // self - ACE_ASSERT(c1 == c1); - c1 = def; // unsigned long - ACE_ASSERT(c1 == def); - c1 = us; // unsigned short - ACE_ASSERT(c1 == us); - c1 = si; // unsigned short - ACE_ASSERT(c1 == si); - -} - - -int -main (int, char *[]) -{ - ACE_START_TEST ("Counter_Test"); - - TestCounter(); - - ACE_END_TEST; - return 0; -} - - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Gauge_Test.cpp b/ASNMP/tests/Gauge_Test.cpp deleted file mode 100644 index 9594f9b3b4d..00000000000 --- a/ASNMP/tests/Gauge_Test.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Guage_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Guage class. An Object -// representing an ASN.1 Counter SMI GUAGE SYNTAX. -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - -#include "ace/OS.h" -#include "asnmp/gauge.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - Gauge32( void); - Gauge32( const unsigned long i); - Gauge32 ( const Gauge32 &g); - ~Gauge32(); - SmiUINT32 get_syntax(); - SnmpSyntax *clone() const; - Gauge32& operator=( const Gauge32 &uli); - Gauge32& operator=( const unsigned long i); - operator unsigned long(); - SnmpSyntax& operator=( SnmpSyntax &val); - --- What is a Gauge? According to RFC 1155 section: 3.2.3.4 - This application-wide type represents a non-negative integer - which may increase or decreae, but which latches at a maximum - value of 2^32-1 (4294967295 dec) for gauges. - */ -static void TestGuage() -{ - long l = LONG_MAX, nl = LONG_MIN; // limits.h - unsigned long ul = ULONG_MAX, def = 0; - int i = INT_MAX, ni = INT_MIN; - unsigned int ui = UINT_MAX; - unsigned short us = 10; - short si = 65535; - - // constructors - Gauge32 g1; - ACE_ASSERT(g1 == def); - Gauge32 g2(l); - ACE_ASSERT(g2 == l); - Gauge32 g3(nl); - ACE_ASSERT(g3 == nl); - Gauge32 g4(ul); - ACE_ASSERT(g4 == ul); - Gauge32 g5(i); - ACE_ASSERT(g5 == i); - Gauge32 g6(ni); - ACE_ASSERT(g6 == ni); - Gauge32 g7(ui); - ACE_ASSERT(g7 == ui); - Gauge32 *g8 = new Gauge32(g5); - ACE_ASSERT(g8 != 0); - delete g8; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g1(\"\") [%u]\n", - (unsigned long)g1)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g2(\"%u\") [%u]\n", - l, (unsigned long)g2)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g3(\"%u\") [%u]\n", - nl, (unsigned long)g3)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g4(\"%u\") [%u]\n", - ul, (unsigned long)g4)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g5(\"%u\") [%u]\n", - i, (unsigned long)g5)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g6(\"%u\") [%u]\n", - ni, (unsigned long)g6)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) g7(\"%u\") [%u]\n", - ui, (unsigned long)g7)); - - // assignent - g1 = g2; // obj - ACE_ASSERT(g1 == g2); - g1 = g1; // self - ACE_ASSERT(g1 == g1); - g1 = def; // unsigned long - ACE_ASSERT(g1 == def); - g1 = us; // unsigned short - ACE_ASSERT(g1 == us); - g1 = si; // unsigned short - ACE_ASSERT(g1 == si); -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Guage_Test"); - - TestGuage(); - - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Integer_Test.cpp b/ASNMP/tests/Integer_Test.cpp deleted file mode 100644 index c42afdc42ef..00000000000 --- a/ASNMP/tests/Integer_Test.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Integer_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Integer class. An Object -// representing an ASN.1 Integer64 SMI 32 bit Integer SYNTAX. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - -#include "ace/OS.h" -#include "asnmp/integer.h" -#include "test_config.h" - -static long l = LONG_MAX, nl = LONG_MIN; // limits.h -static unsigned long ul = ULONG_MAX, def = 0; -static int i = INT_MAX, ni = INT_MIN; -static unsigned int ui = UINT_MAX; -static unsigned short us = 10; -static short si = 65535; - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - SnmpInt32( void); - SnmpInt32 (const long i); - SnmpInt32 (const SnmpInt32 &c); - virtual ~SnmpInt32(); - virtual SmiUINT32 get_syntax(); - SnmpInt32& operator=( const long i); - SnmpInt32& operator=( const SnmpInt32 &li); - operator long(); - char *to_string(); - SnmpSyntax *clone() const; - SnmpSyntax& operator=( SnmpSyntax &val); - int valid() const; - */ - -static void TestInteger32() -{ - - // constructors - SnmpInt32 i1; - ACE_ASSERT(i1 == def); - SnmpInt32 i2(l); - ACE_ASSERT(i2 == l); - SnmpInt32 i3(nl); - ACE_ASSERT(i3 == nl); - SnmpInt32 i4(ul); - ACE_ASSERT(i4 == ul); - SnmpInt32 i5(i); - ACE_ASSERT(i5 == i); - SnmpInt32 i6(ni); - ACE_ASSERT(i6 == ni); - SnmpInt32 i7(ui); - ACE_ASSERT(i7 == ui); - SnmpInt32 *i8 = new SnmpInt32(i5); - ACE_ASSERT(i8 != 0); - delete i8; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i1(\"\") [%u]\n", - (unsigned long)i1)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i2(\"%u\") [%u]\n", - l, (unsigned long)i2)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i3(\"%u\") [%u]\n", - nl, (unsigned long)i3)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i4(\"%u\") [%u]\n", - ul, (unsigned long)i4)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i5(\"%u\") [%u]\n", - i, (unsigned long)i5)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i6(\"%u\") [%u]\n", - ni, (unsigned long)i6)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) i7(\"%u\") [%u]\n", - ui, (unsigned long)i7)); - - // assignent - i1 = i2; // obj - ACE_ASSERT(i1 == i2); - i1 = i1; // self - ACE_ASSERT(i1 == i1); - i1 = def; // unsigned long - ACE_ASSERT(i1 == def); - i1 = us; // unsigned short - ACE_ASSERT(i1 == us); - i1 = si; // unsigned short - ACE_ASSERT(i1 == si); -} - -/* - SnmpUInt32( void); - SnmpUInt32 (const unsigned long i); - SnmpUInt32( const SnmpUInt32 &c); - virtual ~SnmpUInt32(); - virtual SmiUINT32 get_syntax(); - SnmpUInt32& operator=( const unsigned long i); - SnmpUInt32& operator=( const SnmpUInt32 &uli); - operator unsigned long(); - virtual char *to_string(); - virtual SnmpSyntax *clone() const; - SnmpSyntax& operator=( SnmpSyntax &val); - int valid() const; - */ -static void TestUnsignedInteger32() -{ - // constructors - SnmpUInt32 u1; - ACE_ASSERT(u1 == def); - SnmpUInt32 u2(l); - ACE_ASSERT(u2 == l); - SnmpUInt32 u3(nl); - ACE_ASSERT(u3 == nl); - SnmpUInt32 u4(ul); - ACE_ASSERT(u4 == ul); - SnmpUInt32 u5(i); - ACE_ASSERT(u5 == i); - SnmpUInt32 u6(ni); - ACE_ASSERT(u6 == ni); - SnmpUInt32 u7(ui); - ACE_ASSERT(u7 == ui); - SnmpUInt32 *u8 = new SnmpUInt32(u5); - ACE_ASSERT(u8 != 0); - delete u8; - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u1(\"\") [%u]\n", - (unsigned long)u1)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u2(\"%u\") [%u]\n", - l, (unsigned long)u2)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u3(\"%u\") [%u]\n", - nl, (unsigned long)u3)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u4(\"%u\") [%u]\n", - ul, (unsigned long)u4)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u5(\"%u\") [%u]\n", - i, (unsigned long)u5)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u6(\"%u\") [%u]\n", - ni, (unsigned long)u6)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) u7(\"%u\") [%u]\n", - ui, (unsigned long)u7)); - - // assignent - u1 = u2; // obj - ACE_ASSERT(u1 == u2); - u1 = u1; // self - ACE_ASSERT(u1 == u1); - u1 = def; // unsigned long - ACE_ASSERT(u1 == def); - u1 = us; // unsigned short - ACE_ASSERT(u1 == us); - u1 = si; // unsigned short - ACE_ASSERT(u1 == si); -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Integer_Test"); - - TestInteger32(); - - TestUnsignedInteger32(); - - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Makefile b/ASNMP/tests/Makefile deleted file mode 100644 index cb45092ebec..00000000000 --- a/ASNMP/tests/Makefile +++ /dev/null @@ -1,223 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for all the ACE+SNMP ``one-button' tests -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -# ACE+SNMP before -lACE - -BIN = Oid_Test \ - Counter_Test \ - Counter64_Test \ - Integer_Test \ - Octet_Test \ - Gauge_Test \ - Address_Test \ - Target_Test \ - Varbind_Test -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ - -LSRC = $(addsuffix .cpp,$(BIN)) -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(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 -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -Address_Test.o: Address_Test.cpp \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Counter64_Test.o: Counter64_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Counter_Test.o: Counter_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Gauge_Test.o: Gauge_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Integer_Test.o: Integer_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Octet_Test.o: Octet_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Oid_Test.o: Oid_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Target_Test.o: Target_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/target.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Addr.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/INET_Addr.i \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i -Varbind_Test.o: Varbind_Test.cpp \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/streams.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/OS.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Trace.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Msg.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/ACE.i \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Priority.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Log_Record.i \ - /home/cs/guest/mrm/ASNMP/asnmp/oid.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smival.h \ - /home/cs/guest/mrm/ASNMP/asnmp/smi.h \ - /home/cs/guest/mrm/ASNMP/asnmp/vb.h \ - /home/cs/guest/mrm/ASNMP/asnmp/snmperrs.h \ - /home/cs/guest/mrm/ASNMP/asnmp/timetick.h \ - /home/cs/guest/mrm/ASNMP/asnmp/integer.h \ - /home/cs/guest/mrm/ASNMP/asnmp/counter.h \ - /home/cs/guest/mrm/ASNMP/asnmp/gauge.h \ - /home/cs/guest/mrm/ASNMP/asnmp/ctr64.h \ - /home/cs/guest/mrm/ASNMP/asnmp/octet.h \ - /home/cs/guest/mrm/ASNMP/asnmp/address.h test_config.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.h \ - /project/adaptive/ACE_wrappers/build/SunOS5.5/ace/Containers.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/ASNMP/tests/Octet_Test.cpp b/ASNMP/tests/Octet_Test.cpp deleted file mode 100644 index 618893e57dd..00000000000 --- a/ASNMP/tests/Octet_Test.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Octet_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the OCTET class. An Object -// representing an ASN.1 Integer64 SMI OCTET STRING SYNTAX. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ - -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - - -#include "ace/OS.h" -#include "asnmp/octet.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - OctetStr( const char *string, long size = -1); - OctetStr ( const OctetStr &octet); - ~OctetStr(); - - SmiUINT32 get_syntax(); - void set_data( const SmiBYTE* string, long int size = -1); - OctetStr& operator=( const char *string); - OctetStr& operator=( const OctetStr &octet); - - int operator==( const OctetStr &lhs, const OctetStr &rhs); - int operator!=( const OctetStr &lhs, const OctetStr &rhs); - int operator<( const OctetStr &lhs, const OctetStr &rhs); - int operator<=( const OctetStr &lhs,const OctetStr &rhs); - int operator>( const OctetStr &lhs, const OctetStr &rhs); - int operator>=( const OctetStr &lhs, const OctetStr &rhs); - int operator==( const OctetStr &lhs,const char *rhs); - int operator!=( const OctetStr &lhs,const char *rhs); - int operator<( const OctetStr &lhs,const char *rhs); - int operator<=( const OctetStr &lhs,char *rhs); - int operator>( const OctetStr &lhs,const char *rhs); - int operator>=( const OctetStr &lhs,const char *rhs); - OctetStr& operator+=( const SmiBYTE *a); - OctetStr& operator+=( const char c); - OctetStr& operator+=( const OctetStr& octetstr); - SmiBYTE& operator[]( int position); - int nCompare( const long n, const OctetStr &o) const; - size_t length() const ; - int valid() const; - SmiBYTE *data() const; - char *to_string(); - char *to_string_hex(); - SnmpSyntax *clone() const; - SnmpSyntax& operator=( SnmpSyntax &val); - */ - -static void TestOctet() -{ - char *str = "A test of octet strings...!@@#$%^&*()_+|~{}:,./<>?"; - OctetStr o1; - ACE_ASSERT(o1.valid() == 1); - ACE_ASSERT(o1.length() == 0); - ACE_ASSERT(o1.data() != (unsigned char *)0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o1(\"\") [%s]\n", - o1.to_string())); - o1.set_data((SmiBYTE *)str); - ACE_ASSERT(!ACE_OS::strcmp(str, (char *)o1.data())); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o1(\"str\") [%s]\n", - o1.to_string())); - - OctetStr o2(str); - ACE_ASSERT(o2.valid() == 1); - ACE_ASSERT(o2.data() != (unsigned char *)0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o2(\"str\") [%s]\n", - o2.to_string())); - - OctetStr o3(str, 4); // test setting less than full string length - ACE_ASSERT(o3.valid() == 1); - ACE_ASSERT(o3.length() == 4); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o3(\"A te\") [%s]\n", - o3.to_string())); - - OctetStr o4(o3); // test setting less than full string length - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o4(\"A te\") [%s]\n", - o4.to_string())); - ACE_ASSERT(o4.valid() == 1); - ACE_ASSERT(o4.length() == 4); - - OctetStr o5; - o5 = str; - ACE_ASSERT(o5.valid() == 1); - ACE_ASSERT(o5.length() == ACE_OS::strlen(str)); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o5(\"str\") [%s]\n", - o5.to_string())); - - OctetStr o6; - o6 = o5; - ACE_ASSERT(o6.valid() == 1); - ACE_ASSERT(o5.length() == o6.length()); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o6(\"str\") [%s]\n", - o6.to_string())); - - o6 += o3; - o6 = ""; - o6 += str; - o6 += '#'; - ACE_ASSERT(o6[0] == (SmiBYTE) 'A'); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Octet:o6(\"str\") [%s]\n", - o6.to_string())); - - ACE_ASSERT(!(o3 < o3)); - ACE_ASSERT(!(o3 > o3)); - ACE_ASSERT(o3 >= o3); - ACE_ASSERT(o3 <= o3); - ACE_ASSERT(o3 == o3); - ACE_ASSERT(!(o3 != o3)); - -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Octet_Test"); - - TestOctet(); - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Oid_Test.cpp b/ASNMP/tests/Oid_Test.cpp deleted file mode 100644 index 56af2271b3f..00000000000 --- a/ASNMP/tests/Oid_Test.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// Oid_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Oid class. An Object -// representing an ASN.1 Integer64 SMI OID SYNTAX. -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - -#include "ace/OS.h" -#include "asnmp/oid.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - Oid( const char * dotted_oid_string = "", size_t size = -1); - Oid ( const Oid &oid); - Oid(const unsigned long *raw_oid, size_t oid_len); - ~Oid(); - - SmiUINT32 get_syntax(); - Oid& operator=( const Oid &oid); - int operator==( const Oid &lhs,const Oid &rhs); - int operator!=( const Oid &lhs,const Oid &rhs); - int operator<( const Oid &lhs,const Oid &rhs); - int operator<=( const Oid &lhs,const Oid &rhs); - int operator>( const Oid &lhs,const Oid &rhs); - int operator>=( const Oid &lhs,const Oid &rhs); - Oid& operator+=( const char *a); - Oid& operator+=( const unsigned long i); - Oid& operator+=( const Oid &o); - unsigned long & operator[]( size_t position); - SmiLPOID oidval(); - void set_data( const char *dotted_oid_string); - void set_data( const unsigned long *raw_oid, const size_t oid_len); - size_t length() const; - void trim( const size_t how_many = 1); - int suboid( const size_t start, const size_t end, Oid& new_oid); - int left_comparison( const unsigned long n, const Oid &o) const; - int right_comparison( const unsigned long n, const Oid &o) const; - int valid() const; - char *to_string(); - SnmpSyntax *clone() const; - SnmpSyntax& operator=( SnmpSyntax &val); - */ - -static void OidTest() -{ - Oid d1; - ACE_ASSERT(d1.valid() == 0); - ACE_ASSERT(d1.length() == 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d1(\"\") [%s]\n", - d1.to_string())); - - Oid d2("1.2.3"); - ACE_ASSERT(d2.valid() == 1); - ACE_ASSERT(d2.length() == 3); - ACE_ASSERT(d2[0] == (unsigned long) 1); - ACE_ASSERT(d2[1] == (unsigned long) 2); - ACE_ASSERT(d2[2] == (unsigned long) 3); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d2(\"1.2.3\") [%s]\n", - d2.to_string())); - - Oid d3(d2); - ACE_ASSERT(d3.valid() == 1); - ACE_ASSERT(d3.length() == 3); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d3(\"d2\") [%s]\n", - d3.to_string())); - - unsigned long t[3] = {2,3,4}; - Oid d4((unsigned long *)&t, sizeof(t)/sizeof(long)); - ACE_ASSERT(d4.valid() == 1); - ACE_ASSERT(d4.length() == 3); - ACE_ASSERT(d4[0] == (unsigned long) 2); - ACE_ASSERT(d4[1] == (unsigned long) 3); - ACE_ASSERT(d4[2] == (unsigned long) 4); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d4(\"long(2.3.4)\") [%s]\n", - d4.to_string())); - - // suboid - Oid d5; - ACE_ASSERT(d4.suboid(d5, 1,1) == 0); // 2,3,4, 1,1 == 3 - ACE_ASSERT(d5.length() == 1); - ACE_ASSERT(d5.valid() == 1); - ACE_ASSERT(d5[0] == 3); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d6::suboid(d5,1,1) [%s]\n", - d5.to_string())); - - // trim - Oid d7(d4); - ACE_ASSERT(d7.valid() == 1); - d7.trim(); - ACE_ASSERT(d7.length() == d4.length() -1); - - // compare methods - ACE_ASSERT(d7.left_comparison( d7.length(), d7) == 0); - ACE_ASSERT(d4.right_comparison( d4.length(), d4) == 0); - - // assignment - d1 = d4; - ACE_ASSERT(d1.valid() == 1); - ACE_ASSERT(d1 == d4); - d2 = "5.6.7"; - ACE_ASSERT(d2.valid() == 1); - ACE_ASSERT(d2[2] == (unsigned long) 7); - d1 = "8.9.10"; - ACE_ASSERT(d1.valid() == 1); - - // concat - unsigned long ll = ULONG_MAX; - d1 = ""; - d1 += (unsigned long)0; - d1 += ll; - d1 += ll; - d1 += "0"; - ACE_ASSERT(d1.valid() == 1); - ACE_ASSERT(d1.length() == 4); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:d1(0,max,max,0) [%s]\n", - d1.to_string())); - ACE_ASSERT(d1[0] == (unsigned long)0); - ACE_ASSERT(d1[1] == ll); - ACE_ASSERT(d1[2] == ll); - ACE_ASSERT(d1[3] == (unsigned long)0); - - d2 += d1; - ACE_ASSERT(d2.valid() == 1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Oid:(5.6.7.8.9.10) [%s]\n", - d2.to_string())); - - // test out max Oid string... - - // relational operators oid,oid - ACE_ASSERT(d2 == d2); - ACE_ASSERT(!(d2 != d2)); - ACE_ASSERT(!(d2 < d2)); - ACE_ASSERT(!(d2 > d2)); - ACE_ASSERT(d2 >= d2); - ACE_ASSERT(d2 <= d2); - -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Oid_Test"); - OidTest(); - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Target_Test.cpp b/ASNMP/tests/Target_Test.cpp deleted file mode 100644 index d843057215d..00000000000 --- a/ASNMP/tests/Target_Test.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Target_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Target class. -// Not sure if this object is really required or not in the new framework -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ - -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - -#include "ace/OS.h" -#include "asnmp/octet.h" -#include "asnmp/target.h" -#include "test_config.h" - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - Percieved Problems with this CTarget aka UdpTarget Interface: - - 1) can't set snmp version during constructor (default value?) - 2) doesn't use ANSI C++ String class (still uses char *) - 3) Makes it easy to mix up read and write comm strs (could be diff types) - 3) so many get/set's, leads one to rethink the design/use of UdpTarget - 4) Use of resolve_to_C smells like a HACK... - 5) No valid() member function returns 1 even if no address given.. - 6) No to_string()?! (Fixed) - 7) can't access retry, timeout parameters... - 8) can't assign or equate two UdpTargets - - UdpTarget( void); - UdpTarget( const Address &address); - UdpTarget( const UdpTarget &target); - UdpTarget( const Address &address, // address - const char *read_community_name, // read community name - const char *write_community_name); // write community name - UdpTarget( const Address &address, // address - const OctetStr &read_community_name, // read community - const OctetStr &write_community_name); // write community - ~UdpTarget(); - - SnmpTarget *clone() const; - void get_readcommunity( OctetStr& read_community_oct); - void set_readcommunity( const OctetStr& read_community); - void get_writecommunity( OctetStr &write_community_oct); - void set_writecommunity( const OctetStr& write_community); - void get_address( UdpAddress & address); - int set_address( Address &address); - snmp_version get_version(); - void set_version( const snmp_version v); - - UdpTarget& operator=( const UdpTarget& target); - friend int operator==( const UdpTarget &lhs, const UdpTarget &rhs); - - */ - -static void TestSnmpTarget() -{ - OctetStr rd("rd_comm"), wr("wr_comm"); - ACE_ASSERT(rd.valid() == 1); - ACE_ASSERT(wr.valid() == 1); - char *crd = "rd_comm", *cwr = "wr_comm"; - - // constructor and get tests - UdpAddress ga; - ACE_ASSERT(ga.valid() == 0); - - UdpTarget c1; - ACE_ASSERT(c1.valid() == 0); - OctetStr a, b("public"), c("private"); - c1.get_read_community(a); - ACE_ASSERT(a == b); - c1.get_write_community(a); - ACE_ASSERT(a == c); - c1.get_address (ga); - ACE_ASSERT(c1.get_version() == version1); - - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpTarget:c1(\"\") [%s]\n", - c1.to_string())); - - IpAddress ip("127.0.0.1"); - UdpTarget c2(ip); - ACE_ASSERT(c2.valid() == 1); - c2.get_address (ga); - ACE_ASSERT(ga.valid() == 1); - ACE_ASSERT(c2.get_version() == version1); - ACE_ASSERT(ga.valid() == 1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpTarget:c2(\"\") [%s]\n", - c2.to_string())); - - UdpTarget *c5 = new UdpTarget(c2); - ACE_ASSERT(c5 != 0); - ACE_ASSERT(c5->valid() == 1); - c5->get_address (ga); - ACE_ASSERT(ga.valid() == 1); - ACE_ASSERT(c5->get_version() == version1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) UdpTarget:c5(\"\") [%s]\n", - c5->to_string())); - delete c5; - -// these are not supported yet -// ACE_ASSERT(c5 == c5); -// c5 = c2; -// ACE_ASSERT(c5 == c2); -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("Target_Test"); - TestSnmpTarget(); - - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/Varbind_Test.cpp b/ASNMP/tests/Varbind_Test.cpp deleted file mode 100644 index a4d9c77113a..00000000000 --- a/ASNMP/tests/Varbind_Test.cpp +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// Varbind_Test.cpp -// -// = DESCRIPTION -// Test all the member functions of the Varbind class. -// A varbind is a list of { oids and associated values } -// -// = AUTHOR -// Michael R. MacFaden -// -// ============================================================================ - -/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -Copyright 1997 Cisco Systems, Inc. - -Permission to use, copy, modify, and distribute this software for any -purpose and without fee is hereby granted, provided that this -copyright and permission notice appear on all copies of the software and -supporting documentation, the name of Cisco Systems, Inc. not be used -in advertising or publicity pertaining to distribution of the -program without specific prior permission, and notice be given -in supporting documentation that modification, copying and distribution is by -permission of Cisco Systems, Inc. - -Cisco Systems, Inc. makes no representations about the suitability of this -software for any purpose. THIS SOFTWARE IS PROVIDED ``AS IS'' -AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT -LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT AND -FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL CISCO SYSTEMS, INC. BE -LIABLE FOR ANY DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE -SOFTWARE INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT OR CONSEQUENTIAL -DAMAGES. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ - - -#include "ace/OS.h" -#include "asnmp/oid.h" -#include "asnmp/vb.h" -#include "test_config.h" - - -// hack: do this so when linking SUNC 4.x compiler will instantiate template -#include "ace/Containers.h" -ACE_Unbounded_Set x; - -/* - Vb( void); - Vb( const Oid &oid); - Vb( const Vb &vb); - Vb( const Oid& vb, const SnmpSyntax &val, const SmiUINT32=SNMP_CLASS_SUCCESS); - ~Vb(); - int valid() const; - Vb& operator=( const Vb &vb); - void set_oid( const Oid& oid); - void get_oid( Oid &oid) const; - void set_null(); - void set_value( const TimeTicks& ticks); - void set_value( const Oid& oid); - void set_value( const Counter32& ctr); - void set_value( const Counter64& ctr); - void set_value( const Gauge32& ctr); - void set_value( const SnmpUInt32& ctr); - void set_value( const SnmpInt32& ctr); - void set_value( const OctetStr& oct_str); - int get_value( TimeTicks& ticks); - int get_value( Oid& oid); - int get_value( Counter32& ctr); - int get_value( Counter64& ctr); - int get_value( Gauge32& ctr); - int get_value( SnmpUInt32& ctr); - int get_value( SnmpInt32& ctr); - int get_value( OctetStr& oct_str); - int get_value( SnmpSyntax &val); - void set_value( const SnmpSyntax &val); - int get_value( const SnmpSyntax &val); - SmiUINT32 get_syntax(); - friend void set_exception_status( Vb *vb, const SmiUINT32 status); - char *to_string(); - char *to_string_value(); - char *to_string_oid(); - */ - -static void VbTest() -{ - Vb v1; - ACE_ASSERT(v1.valid() == 0); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) VarBinad:v1(\"/\") [%s]\n", - v1.to_string())); - - // purpose of this routine?? - set_exception_status( &v1, 10); - - Vb v2(v1); - ACE_ASSERT(v2.valid() == 0); - Oid o1("1.2.3"), o2; - v2.set_oid(o1); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) VarBinad:v2(\"1.2.3/\") [%s]\n", - v2.to_string())); - - v2.get_oid(o2); - ACE_ASSERT(o2 == o1); - ACE_ASSERT(v2.valid() == 0); - v2.set_null(); - ACE_ASSERT(v2.valid() == 0); - v2.get_oid(o2); - - Vb v3; - TimeTicks t(0), t1; - v3.set_oid(o1); - v3.set_value(t); - ACE_ASSERT(v3.valid() == 1); - v3.get_value(t1); - ACE_ASSERT(t == t1); - - Vb v4; - v4.set_oid(o1); - v4.set_value(o1); - ACE_ASSERT(v4.valid() == 1); - v4.get_value(o2); - ACE_ASSERT(o1 == o2); - - Vb v5; - Counter32 c1(12), c2; - v5.set_oid(o1); - v5.set_value(c1); - ACE_ASSERT(v5.valid() == 1); - v5.get_value(c2); - ACE_ASSERT(c1 == c2); - - Vb v6; - Counter64 c3(12345678901234), c4; - v6.set_oid(o1); - v6.set_value(c3); - ACE_ASSERT(v6.valid() == 1); - v6.get_value(c4); - ACE_ASSERT(c3 == c4); - - Vb v7; - Gauge32 g1(0123456), g2; - v7.set_oid(o1); - v7.set_value(g1); - ACE_ASSERT(v7.valid() == 1); - v7.get_value(g2); - ACE_ASSERT(g1 == g2); - - Vb v8; - SnmpInt32 i1(0123456), i2; - v8.set_oid(o1); - v8.set_value(i1); - ACE_ASSERT(v8.valid() == 1); - v8.get_value(i2); - ACE_ASSERT(i1 == i2); - - Vb v9; - SnmpUInt32 u1(0123456), u2; - v9.set_oid(o1); - v9.set_value(u1); - ACE_ASSERT(v9.valid() == 1); - v9.get_value(u2); - ACE_ASSERT(u1 == u2); - - Vb v10; - OctetStr s1(" abcdefghighlmnopqrstuvwxyz!@#$%^&*()"), s2; - v10.set_oid(o1); - v10.set_value(s1); - ACE_ASSERT(v10.valid() == 1); - v10.get_value(s2); - ACE_ASSERT(s1 == s2); - ACE_ASSERT(s1.length() == s2.length()); - - // test assignment over all datatypes - v10 = v5; - ACE_ASSERT(v10 == v5); - - - Vb v11(o1, s1, SNMP_CLASS_SUCCESS); - ACE_ASSERT(v11.valid() == 1); - v11.get_oid(o2); - ACE_ASSERT(o1 == o2); - v11.get_value(s2); - ACE_ASSERT(s1 == s2); -} - -int -main (int, char *[]) -{ - ACE_START_TEST ("VbTest"); - VbTest(); - ACE_END_TEST; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Set; -#endif diff --git a/ASNMP/tests/run_tests.bat b/ASNMP/tests/run_tests.bat deleted file mode 100644 index 985f88b51db..00000000000 --- a/ASNMP/tests/run_tests.bat +++ /dev/null @@ -1,44 +0,0 @@ -@echo off -rem To use this either give it no arguments to run all the tests or -rem pass it the test name (without the extention) to run only one -rem test - -if not "%1" == "" goto runtest - -call run_tests - -call run_tests Address_Test -call run_tests Counter64_Test -call run_tests Counter_Test -call run_tests Gauge_Test -call run_tests Integer_Test -call run_tests Octet_Test -call run_tests Oid_Test -call run_tests Target_Test -call run_tests Varbind_Test - -goto done - -:runtest - -echo Running %1 -%1.exe -if errorlevel 0 goto fine -echo. -echo %1 has FAILED!!! -echo. -type %temp%\log\%1.log | find /I "assertion failed" -type %temp%\log\%1.log | find /I "not supported" -type %temp%\log\%1.log | find /I "no such file or directory" -type %temp%\log\%1.log | find /I "invalid argument" -type %temp%\log\%1.log | find /I "timeout" -type %temp%\log\%1.log | find /I "bad file number" -echo. - -goto done -:fine - -rem We should check the log files here to make sure the test ended correctly -rem type %temp%\log\%1.log | find "Ending" - -:done diff --git a/ASNMP/tests/run_tests.sh b/ASNMP/tests/run_tests.sh deleted file mode 100755 index f8ebb06fdd4..00000000000 --- a/ASNMP/tests/run_tests.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -f -# This is the UNIX version of the one-button ACE tests. -# Contributed by Michael Rueger -# mrm@cisco.com - Change to for loop script could be more generic if we put -# this in the bin dir and fed it a file to read from - -IFS="|" -tmp=/tmp - -# these patterns should not be included in log file -ERROR_MSGS="assertion failed|not supported|No such file or directory|Invalid argument|timeout|Bad file number" - -# these patterns must be included in log file -SUCCESS_MSGS="starting|Ending" - -run() -{ - echo running $1 - /bin/rm -f core - - ./$1 - status=$? - - if [ $status -ne 0 ]; then - echo \"$1\" FAILED with exit status $status!!!! - fi - - if [ -f core ]; then - echo \"$1\" dumped core!!!! - fi - - for i in $SUCCESS_MSGS; do - grep $i log/$1.log >/dev/null - if [ $? -eq 1 ]; then - echo Error in log file no line with $i - fi - done - - for i in $ERROR_MSGS; do - grep $i log/$1.log - done -} - -echo "Starting tests..." -FILES=`ls *_Test 2>/dev/null` -if [ "$FILES" = "" ]; then - echo "ERROR: no test programs generated matching pattern *_Test." - echo "ERROR: Try compiling the test programs first." - exit 1 -fi - -for i in *_Test -do - run $i -done - -echo "Tests complete..." - - -# EOF diff --git a/ASNMP/tests/test_config.h b/ASNMP/tests/test_config.h deleted file mode 100644 index cec49951d40..00000000000 --- a/ASNMP/tests/test_config.h +++ /dev/null @@ -1,223 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// = FILENAME -// test_config.h -// -// = AUTHOR -// Prashant Jain , Tim Harrison -// , and David Levine -// -// ============================================================================ - -#if !defined (ACE_TEST_CONFIG_H) -#define ACE_TEST_CONFIG_H - -#include -#include - -#if !defined (ACE_HAS_TEMPLATE_SPECIALIZATION) -class KEY -// ============================================================================ -// = TITLE -// Define a key for use with the Map_Manager_Test. -// -// = DESCRIPTION -// This class is put into the test_config.h header file to work -// around AIX C++ compiler "features" related to template -// instantiation... It is only used by Map_Manager_Test.cpp -// ============================================================================ -{ -public: - KEY (size_t v = 0): value_ (v) - { } - - size_t hash (void) const { return this->value_; } - operator size_t () const { return this->value_; } - -private: - size_t value_; -}; -#else -typedef size_t KEY; -#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ - -#if defined (ACE_WIN32) - -#define ACE_DEFAULT_TEST_FILE_A "C:\\temp\\ace_test_file" -#define ACE_TEMP_FILE_NAME_A "C:\\temp\\ace_temp_file" -#define ACE_LOG_DIRECTORY_A "C:\\temp\\log\\" -#define MAKE_PIPE_NAME_A(X) "\\\\.\\pipe\\"#X - -#define ACE_DEFAULT_TEST_FILE_W L"C:\\temp\\ace_test_file" -#define ACE_TEMP_FILE_NAME_W L"C:\\temp\\ace_temp_file" -#define ACE_LOG_DIRECTORY_W L"C:\\temp\\log\\" -#define MAKE_PIPE_NAME_W(X) L"\\\\.\\pipe\\"#X - -#else - -#define ACE_DEFAULT_TEST_FILE_A "/tmp/ace_test_file" -#define ACE_TEMP_FILE_NAME_A "/tmp/ace_temp_file" -#define ACE_LOG_DIRECTORY_A "log/" -#define MAKE_PIPE_NAME_A(X) X - -#if defined (ACE_HAS_UNICODE) -#define ACE_DEFAULT_TEST_FILE_W L"/tmp/ace_test_file" -#define ACE_TEMP_FILE_NAME_W L"/tmp/ace_temp_file" -#define ACE_LOG_DIRECTORY_W L"log/" -#define MAKE_PIPE_NAME_W(X) L##X -#else -#define ACE_DEFAULT_TEST_FILE_W "/tmp/ace_test_file" -#define ACE_TEMP_FILE_NAME_W "/tmp/ace_temp_file" -#define ACE_LOG_DIRECTORY_W "log/" -#define MAKE_PIPE_NAME_W(X) X -#endif /* ACE_HAS_UNICODE */ - -#endif /* ACE_WIN32 */ - -#if defined (UNICODE) -#define ACE_DEFAULT_TEST_FILE ACE_DEFAULT_TEST_FILE_W -#define ACE_TEMP_FILE_NAME ACE_TEMP_FILE_NAME_W -#define ACE_LOG_DIRECTORY ACE_LOG_DIRECTORY_W -#define MAKE_PIPE_NAME MAKE_PIPE_NAME_W -#else -#define ACE_DEFAULT_TEST_FILE ACE_DEFAULT_TEST_FILE_A -#define ACE_TEMP_FILE_NAME ACE_TEMP_FILE_NAME_A -#define ACE_LOG_DIRECTORY ACE_LOG_DIRECTORY_A -#define MAKE_PIPE_NAME MAKE_PIPE_NAME_A -#endif /* UNICODE */ - -#define ACE_START_TEST(NAME) \ - const char *program = NAME; \ - ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM); \ - if (ace_file_stream.set_output (program) != 0) \ - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "set_output failed"), -1); \ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) starting %s test at %T\n", program)); - -#define ACE_END_TEST \ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Ending %s test at %T\n", program)); \ - ace_file_stream.close (); - -#define ACE_NEW_THREAD \ -do {\ - ACE_LOG_MSG->msg_ostream (ace_file_stream.output_file ()); \ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER ); \ - ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); \ -} while (0) - -#define ACE_APPEND_LOG(NAME) \ - const char *program = NAME; \ - ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM); \ - if (ace_file_stream.set_output (program, 1) != 0) \ - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "set_output failed"), -1); \ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Starting %s test at %T\n", program)); - -#define ACE_END_LOG \ - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Ending %s test at %T\n\n", program)); \ - ace_file_stream.close (); - -#define ACE_INIT_LOG(NAME) \ - char temp[BUFSIZ]; \ - ACE_OS::sprintf (temp, "%s%s%s", \ - ACE_LOG_DIRECTORY_A, \ - ACE::basename (NAME, ACE_DIRECTORY_SEPARATOR_CHAR_A), \ - ".log"); \ - ACE_DEBUG ((LM_DEBUG, "Deleting old log file %s (if any)\n\n", temp)); \ - ACE_OS::unlink (temp); - - -const int ACE_NS_MAX_ENTRIES = 1000; -const int ACE_MAX_TIMERS = 4; -const int ACE_MAX_THREADS = 4; -const int ACE_MAX_DELAY = 10; -const int ACE_MAX_INTERVAL = 0; -const int ACE_MAX_ITERATIONS = 10; -const int ACE_MAX_PROCESSES = 10; - -char ACE_ALPHABET[] = "abcdefghijklmnopqrstuvwxyz"; - -class ACE_Test_Output -{ -public: - ACE_Test_Output (void); - ~ACE_Test_Output (void); - int set_output (const char *filename, int append = 0); - ofstream *output_file (void); - void close (void); - -private: - ofstream output_file_; -}; - -static ACE_Test_Output ace_file_stream; - -ACE_Test_Output::ACE_Test_Output (void) -{ -} - -ACE_Test_Output::~ACE_Test_Output (void) -{ -} - -int -ACE_Test_Output::set_output (const char *filename, int append) -{ - char temp[BUFSIZ]; - // Ignore the error value since the directory may already exist. - ACE_OS::mkdir (ACE_LOG_DIRECTORY_A); - ACE_OS::sprintf (temp, "%s%s%s", - ACE_LOG_DIRECTORY_A, - ACE::basename (filename, ACE_DIRECTORY_SEPARATOR_CHAR_A), - ".log"); - - int flags = ios::out; - if (append) - flags |= ios::app; - - this->output_file_.open (temp, flags); - if (this->output_file_.bad ()) - return -1; - - ACE_LOG_MSG->msg_ostream (ace_file_stream.output_file ()); - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER ); - ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); - - return 0; -} - -ofstream * -ACE_Test_Output::output_file (void) -{ - return &this->output_file_; -} - -void -ACE_Test_Output::close (void) -{ - this->output_file_.flush (); - this->output_file_.close (); -} - -void -randomize (int array[], size_t size) -{ - size_t i; - - for (i = 0; i < size; i++) - array [i] = i; - - ACE_OS::srand (ACE_OS::time (0L)); - - // Generate an array of random numbers from 0 .. size - 1. - - for (i = 0; i < size; i++) - { - int index = ACE_OS::rand() % size--; - int temp = array [index]; - array [index] = array [size]; - array [size] = temp; - } -} - -#endif /* ACE_TEST_CONFIG_H */ diff --git a/BIBLIOGRAPHY b/BIBLIOGRAPHY deleted file mode 100644 index 6ee6da4dd94..00000000000 --- a/BIBLIOGRAPHY +++ /dev/null @@ -1,752 +0,0 @@ -The following articles document and describe various aspects of the -object-oriented network programming components and the underlying -design patterns included in ACE, TAO, and JAWS. A complete list of -publications is available at - -http://www.cs.wustl.edu/~schmidt/resume.html - -======================================== - -@article{Schmidt:97r, - AUTHOR = {Douglas C. Schmidt and Chris Cleeland}, - TITLE = "{Applying Patterns to Develop Extensible and Maintainable ORB Middleware}", - JOURNAL = "Communications of the ACM (Special Issue on - Software Maintenance)", - EDITORS={W. Tsai}, - VOLUME = 40, - NUMBER = 12, - YEAR = 1997, - MONTH = "December" -} - -@article{Schmidt:97q, - AUTHOR = {Douglas C. Schmidt and David L. Levine and Sumedh Mungee}, - TITLE = "{The Design and Performance of Real-Time Object Request Brokers}", - JOURNAL = "Computer Communications", - YEAR = 1997, -} - -@incollection{Schmidt:97n, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Applying Design Patterns and Frameworks to Develop - Object-Oriented Communication Software}", - BOOKTITLE = "Handbook of Programming Languages", - EDITOR="Peter Salus", - PUBLISHER = "MacMillan Computer Publishing", - YEAR = 1997 -} - -@inproceedings{Schmidt:97m, - AUTHOR = "Douglas C. Schmidt and Tim Harrison and Nat Pryce", - TITLE = "{Thread-Specific Storage -- An Object Behavioral - Pattern for Accessing per-Thread State Efficiently}", - BOOKTITLE = "Submitted to the $4^{th}$ Pattern - Languages of Programming Conference", - LOCATION="Allerton Park, IL", - YEAR = 1997, - MONTH = "September", -} - -@inproceedings{Schmidt:97l, - AUTHOR = "Tim Harrison and Irfan Pyrarli and Douglas C. Schmidt and Thomas Jordan", - TITLE = "{Proactor -- An Object Behavioral Pattern for - Dispatching Asynchronous Event Handlers}", - BOOKTITLE="The $4^{th}$ Pattern Languages of Programming Conference", - YEAR = 1997, - MONTH = "September", - ABSTRACT = "" -} - -@inproceedings{Schmidt:97k, - AUTHOR = "James Hu and Irfan Pyrarli and Douglas C. Schmidt", - TITLE = "{Measuring the Impact of Event Dispatching and Concurrency Models on Web - Server Performance Over High-speed Networks}", - BOOKTITLE="Proceedings of the $2^{nd}$ Global Internet Conference", - ORGANIZATION={IEEE}, - YEAR = 1997, - MONTH = "November", - ABSTRACT = "", -} - -@inproceedings{Schmidt:97j, - AUTHOR = "Aniruddha Gokhale and Douglas C. Schmidt", - TITLE = "{Evaluating the Performance of Demultiplexing Strategies for Real-time CORBA}", - BOOKTITLE="Proceedings of GLOBECOM '97", - ADDRESS={Phoenix, AZ}, - ORGANIZATION="IEEE", - YEAR = 1997, - MONTH = "November", - ABSTRACT = "" -} - -@inproceedings{Schmidt:97i, - AUTHOR = "Timothy H. Harrison and David L. Levine and Douglas C. Schmidt", - TITLE = "{The Design and Performance of a Real-time CORBA Event Service}", - BOOKTITLE="Proceedings of OOPSLA '97", - ADDRESS={Atlanta, GA}, - ORGANIZATION="ACM", - YEAR = 1997, - MONTH = "October", - ABSTRACT = "", -} - -@inproceedings{Schmidt:97g, - AUTHOR = "James Hu and Sumedh Mungee and Douglas C. Schmidt", - TITLE = "{Principles for Developing and Measuring - High-performance Web Servers over ATM}", - BOOKTITLE="Submitted to INFOCOM '97 (Washington University Technical Report \#WUCS-97-10)", - YEAR = 1997, - MONTH = "February", - ABSTRACT = "" -} - -@inproceedings{Schmidt:97f, - AUTHOR = "Aniruddha Gokhale and Douglas C. Schmidt", - TITLE = "{Principles for Optimizing CORBA Internet - Inter-ORB Protocol Performance}", - BOOKTITLE="Submitted to the Hawaiian International Conference on System Sciences (Washington University Technical Report \#WUCS-97-10)", - YEAR = 1998, - MONTH = "January", - ABSTRACT = "" -} - -@incollection{Schmidt:97e, - AUTHOR = "Chris Cleeland and Tim Harrison and Douglas C. Schmidt", - TITLE = "{External Polymorphism -- An - Object Structural Pattern for Transparently Extending Concrete - Data Types}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="Robert Martin and Frank Buschmann and Dirk Riehle", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1997, -} - -@incollection{Schmidt:97d, - AUTHOR = "Douglas C. Schmidt and Tim Harrison", - TITLE = "{Double-Checked Locking -- An Object Behavioral - Pattern for Initializing and Accessing Thread-safe Objects - Efficiently}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="Robert Martin and Frank Buschmann and Dirk Riehle", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1997, -} - -@incollection{Schmidt:97c, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Acceptor and Connector: - Design Patterns for Initializing Communication Services}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="Robert Martin and Frank Buschmann and Dirk Riehle", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1997, - ANNOTE = http://www.cs.wustl.edu/~schmidt/, -} - -@inproceedings{Schmidt:97b, - AUTHOR = "Prashant Jain and Douglas C. Schmidt", - TITLE = "{Service Configurator: - A Pattern for Dynamic Configuration of Services}", - BOOKTITLE="Proceedings of the $3^{rd}$ Conference on - Object-Oriented Technologies and Systems", - PUBLISHER = "USENIX", - LOCATION="Portland, OR", - YEAR = 1997, - MONTH = "June", -} - -@incollection{Schmidt:97a, - AUTHOR = "Irfan Pyarali and Timothy H. Harrison and Douglas C. Schmidt", - TITLE = "{Asynchronous Completion Token: an Object Behavioral Pattern for - Efficient Asynchronous Event Handling}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="Robert Martin and Frank Buschmann and Dirk Riehle", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1997, -} - -@article{Schmidt:96v, - AUTHOR = "Prashant Jain and Douglas Schmidt", - TITLE = "{Experiences Converting a C++ Communication Software - Framework to Java}", - JOURNAL = "C++ Report", - YEAR = 1997, - VOLUME = 9, - NUMBER = 1, - MONTH = "January", - ABSTRACT = "" -} - -@incollection{Schmidt:96n, - AUTHOR = "Irfan Pyarali and Timothy H. Harrison and Douglas C. Schmidt", - TITLE="{Design and Performance of an Object-Oriented Framework - for High-Performance Electronic Medical Imaging}", - BOOKTITLE="USENIX Computing Systems", - PUBLISHER="MIT Press", - YEAR = 1996, - MONTH = "November/December", - EDITOR={Douglas C. Schmidt}, - ABSTRACT = "" -} - -@inproceedings{Schmidt:96g, - AUTHOR = "Aniruddha Gokhale and Douglas C. Schmidt", - TITLE = "{Performance of the CORBA Dynamic Invocation Interface and - Internet Inter-ORB Protocol over High-Speed ATM Networks}", - BOOKTITLE="Proceedings of GLOBECOM '96", - ADDRESS={London, England}, - ORGANIZATION="IEEE", - YEAR = 1996, - MONTH = "November", - ABSTRACT = "" -} - -@inproceedings{Schmidt:96f, - AUTHOR = "Aniruddha Gokhale and Douglas C. Schmidt", - TITLE = "{Measuring the Performance of Communication Middleware on - High-Speed Networks}", - BOOKTITLE="Proceedings of SIGCOMM '96", - ADDRESS={Stanford, CA}, - ORGANIZATION="ACM", - YEAR = 1996, - MONTH = "August", - ABSTRACT = "" -} - -@inproceedings{Schmidt:96e, - AUTHOR = "Irfan Pyarali and Timothy H. Harrison and Douglas C. Schmidt", - TITLE="{Design and Performance of an Object-Oriented Framework - for High-Performance Electronic Medical Imaging}", - BOOKTITLE="Proceedings of the $2^{nd}$ Conference on - Object-Oriented Technologies and Systems", - ADDRESS={Toronto, Canada}, - ORGANIZATION="USENIX", - YEAR = 1996, - MONTH = "June", - ABSTRACT = "" -} - -@inproceedings{Schmidt:96d, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{A Family of Design Patterns For Flexibly - Configuring Network Services in Distributed Systems}", - BOOKTITLE = "International Conference on Configurable - Distributed Systems", - LOCATION="Annapolis, Maryland", - YEAR = 1996, - MONTH = "May 6--8", -} - -@inproceedings{Schmidt:96c, - AUTHOR = "Tim Harrison and Douglas C. Schmidt", - TITLE = "{Thread-Specific Storage -- An Object Behavioral - Pattern for Accessing per-Thread State Efficiently}", - BOOKTITLE = "Submitted to the $3^{rd}$ Pattern Languages of Programming - Conference", - LOCATION="Allerton Park, Illinois", - YEAR = 1996, - MONTH = "September", - ABSTRACT = "http://www.cs.wustl.edu/~schmidt/TSS-pattern.ps.gz" -} - -@inproceedings{Schmidt:96b, - AUTHOR = "R. Greg Lavender and Douglas C. Schmidt", - TITLE = "{Active Object: an Object Behavioral Pattern for - Concurrent Programming}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="James O. Coplien and John Vlissides and Norm Kerth", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1996, -} - -@inproceedings{Schmidt:96a, - AUTHOR = "Douglas C. Schmidt and Charles D. Cranor", - TITLE = "{Half-Sync/Half-Async: an Architectural Pattern for - Efficient and Well-structured Concurrent I/O}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="James O. Coplien and John Vlissides and Norm Kerth", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1996, -} - -@article{Schmidt:95p, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Connector: a Design Pattern for Actively - Initializing Network Services}", - JOURNAL = "C++ Report", - YEAR = 1996, - VOLUME = 8, - NUMBER = 1, - MONTH = "January" -} - -@inproceedings{Schmidt:95o, - AUTHOR = "Douglas C. Schmidt and Timothy H. Harrison and Irfan Pyarali", - TITLE = "{Experience Developing an Object-Oriented Framework - for High-Performance Electronic Medical Imaging using CORBA - and C++}", - BOOKTITLE = "Proceedings of the ``Software Technology Applied to Imaging and Multimedia - Applications mini-conference'' at the Symposium on Electronic - Imaging in the International Symposia Photonics West", - ORGANIZATION={SPIE}, - LOCATION="San Jose, CA", - YEAR = 1996, - MONTH = "January" -} - -@article{Schmidt:95m, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Design Patterns for Initializing Network Services: - Introducing the Acceptor and Connector Patterns}", - JOURNAL = "C++ Report", - YEAR = 1995, - VOLUME = 7, - NUMBER = 9, - MONTH = "November/December" -} - -@inproceedings{Schmidt:95k, - AUTHOR = "Tim Harrison and Douglas C. Schmidt", - TITLE = "{Thread-Specific Storage: A Pattern for Reducing Locking Overhead in Concurrent Programs}", - BOOKTITLE = "OOPSLA Workshop on Design Patterns for Concurrent, Parallel, and Distributed Systems", - ORGANIZATION={ACM}, - LOCATION="Austin, TX", - YEAR = 1995, - MONTH = "October" -} - -@article{Schmidt:95j, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Experience Using Design Patterns to Develop - Reuseable Object-Oriented Communication Software}", - BOOKTITLE = "Communications of the ACM (Special Issue on - Object-Oriented Experiences)", - VOLUME = 38, - NUMBER = 10, - YEAR = 1995, - MONTH = "October" -} - -@inproceedings{Schmidt:95h, - AUTHOR = "Douglas C. Schmidt and Charles D. Cranor", - TITLE = "{Half-Sync/Half-Async: an Architectural Pattern for - Efficient and Well-structured Concurrent I/O}", - BOOKTITLE = "Proceedings of the $2^{nd}$ Annual Conference on - the Pattern Languages of Programs", - ADDRESS={Monticello, Illinois}, - PAGES="1--10", - YEAR = 1995, - MONTH = "September" -} - -@inproceedings{Schmidt:95i, - AUTHOR = "R. Greg Lavender and Douglas C. Schmidt", - TITLE = "{Active Object: an Object Behavioral Pattern for - Concurrent Programming}", - BOOKTITLE = "Proceedings of the $2^{nd}$ - Annual Conference on the Pattern Languages of Programs", - ADDRESS={Monticello, Illinois}, - PAGES="1--7", - YEAR = 1995, - MONTH = "September" -} - -@article{Schmidt:95g, - AUTHOR = "Douglas C. Schmidt", - TITLE="{A Family of Design Patterns for - Application-level Gateways}", - JOURNAL="The Theory and Practice of - Object Systems (Special Issue on Patterns and Pattern Languages)", - EDITOR={Stephen P. Berczuk}, - PUBLISHER="Wiley and Sons", - YEAR = 1996, - VOLUME = 2, - NUMBER = 1, - ABSTRACT = "" -} - -@book{Schmidt:95f, - TITLE = "{Pattern Languages of Program Design}", - EDITOR="James O. Coplien and Douglas C. Schmidt", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1995, -} - -@inproceedings{Schmidt:95e, - AUTHOR = "Douglas C. Schmidt and Tim Harrison and Ehab Al-Shaer", - TITLE="{Object-Oriented Components for High-speed Network Programming}", - BOOKTITLE="Proceedings of the Conference on Object-Oriented Technologies", - ADDRESS={Monterey, CA}, - ORGANIZATION="USENIX", - YEAR = 1995, - MONTH = "June", -} - -@inproceedings{Schmidt:95d, - AUTHOR = "Douglas C. Schmidt", - TITLE="{Acceptor and Connector: Design Patterns for Active and Passive Establishment - of Network Connections}", - BOOKTITLE=" Workshop on Pattern Languages of Object-Oriented - Programs at ECOOP '95", - MONTH={August}, - YEAR=1995, - ADDRESS={Aarhus, Denmark}, - ABSTRACT = "" -} - -@article{Schmidt:95c, - AUTHOR = "Douglas C. Schmidt and Paul Stephenson", - TITLE="{Using Design Patterns to Evolve System Software from - UNIX to Windows NT}", - JOURNAL = "C++ Report", - YEAR = 1995, - VOLUME = 7, - NUMBER = 3, - MONTH = "March/April", - ABSTRACT = "This is a different version of the ECOOP paper that - goes into a lot more gory details about how the - Reactor and Acceptor patterns were implemented - on Windows NT and UNIX." -} - -@inproceedings{Schmidt:95b, - AUTHOR = "Douglas C. Schmidt and Paul Stephenson", - TITLE="{Experiences Using Design Patterns to - Evolve System Software Across Diverse OS Platforms}", - BOOKTITLE="Proceedings of the $9^{th}$ European Conference on - Object-Oriented Programming", - ADDRESS={Aarhus, Denmark}, - MONTH={August}, - YEAR=1995 -} - -@incollection{Schmidt:95a, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Reactor: An Object Behavioral Pattern for Concurrent - Event Demultiplexing and Event Handler Dispatching}", - BOOKTITLE = "Pattern Languages of Program Design", - EDITOR="James O. Coplien and Douglas C. Schmidt", - PUBLISHER = "Addison-Wesley", - ADDRESS={Reading, MA}, - YEAR = 1995, - MONTH = "June" - ABSTRACT = "This is a polished up version of the PLoP paper" -} - -@inproceedings{Schmidt:94l, - AUTHOR = "Douglas C. Schmidt and Paul Stephenson", - TITLE="{Achieving Reuse Through Design Patterns}", - BOOKTITLE="Proceedings of the Third C++ World Conference", - ORGANIZATION="SIGS", - ADDRESS={Austin, Texas}, - MONTH=Nov, - YEAR=1994 -} - -@inproceedings{Schmidt:94i, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Reactor: An Object Behavioral Pattern for Concurrent - Event Demultiplexing and Dispatching}", - BOOKTITLE = "Proceedings of the $1^{st}$ Annual Conference on the - Pattern Languages of Programs (PLoP)", - ADDRESS={Monticello, Illinois}, - YEAR = 1994, - MONTH = "August" -} - -@inproceedings{Schmidt:94j, - AUTHOR = "Douglas C. Schmidt", - TITLE="{The ADAPTIVE Communication Environment: - An Object-Oriented Network Programming Toolkit for Developing - Communication Software}", - BOOKTITLE="Proceedings of the $12^{th}$ Annual Sun Users Group - Conference", - ORGANIZATION="SUG", - ADDRESS={San Francisco, CA}, - PAGES="214-225", - MONTH={June}, - YEAR=1994, -} - -@article{Schmidt:94g, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Transparently Parameterizing Synchronization into a - Concurrent Distributed Application}", - JOURNAL = "C++ Report", - YEAR = 1994, - VOLUME = July/August, - NUMBER = 6, - MONTH = "March/April", -} - -@article{Schmidt:94d, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{A Domain Analysis of Network Daemon Design Dimensions}", - JOURNAL = "C++ Report", - YEAR = 1994, - VOLUME = 6, - NUMBER = 3, - MONTH = "March/April", -} - -@inproceedings{Schmidt:94a, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{ASX: an Object-Oriented Framework for Developing - Distributed Applications}", - BOOKTITLE = "Proceedings of the $6^{th}$ USENIX C++ Technical Conference", - ORGANIZATION="USENIX", - ADDRESS={Cambridge, Massachusetts}, - MONTH = "April", - YEAR = {1994} -} - -@inproceedings{Schmidt:93i, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE="{The Service Configurator Framework: An Extensible - Architecture for Dynamically Configuring Concurrent, Multi-Service - Network Daemons}", - BOOKTITLE="The Proceedings of the Second International Workshop on - Configurable Distributed Systems", - ORGANIZATION="IEEE", - ADDRESS={Pittsburgh, PA}, - MONTH=mar, - YEAR=1994, -} - -@inproceedings{Schmidt:93k, - AUTHOR = "Douglas C. Schmidt", - TITLE="{The ADAPTIVE Communication Environment: - Object-Oriented Network Programming Components for Developing - Client/Server Applications}", - BOOKTITLE="Proceedings of the $11^{th}$ Annual Sun Users Group Conference", - ORGANIZATION="SUG", - ADDRESS={San Jose, CA}, - MONTH=Dec, - YEAR=1993, -} - -@inproceedings{Schmidt:93j, - AUTHOR = "Douglas C. Schmidt", - TITLE="{Object-Oriented Techniques for Developing Extensible - Network Servers}", - BOOKTITLE="Proceedings of the Second C++ World Conference", - ORGANIZATION="SIGS", - ADDRESS={Dallas, Texas}, - MONTH=Oct, - YEAR=1993, -} - -@inproceedings{Schmidt:93h, - AUTHOR = "Douglas C. Schmidt and Paul Stephenson", - TITLE="{An Object-Oriented Framework for Developing - Network Server Daemons}", - BOOKTITLE="Proceedings of the Second C++ World Conference", - ORGANIZATION="SIGS", - ADDRESS={Dallas, Texas}, - MONTH=Oct, - YEAR=1993, -} - -@article{Schmidt:93c, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{The Object-Oriented Design and Implementation of the - Reactor: A C++ Wrapper for UNIX I/O Multiplexing (Part 2 of 2)}", - JOURNAL = "C++ Report", - YEAR = 1993, - MONTH = "September/October", - ABSTRACT = "" -} - -@article{Schmidt:93b, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{The Reactor: An Object-Oriented Interface for - Event-Driven UNIX I/O Multiplexing (Part 1 of 2)}", - JOURNAL = "C++ Report", - YEAR = 1993, - MONTH = "February", - ABSTRACT = "" -} - -@article{Schmidt:92e, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{IPC_SAP: An Object-Oriented Interface to - Interprocess Communication Services}", - JOURNAL = "C++ Report", - YEAR = 1992, - MONTH = "November/December", - ABSTRACT = "" -} - -@article{Schmidt:92d, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Systems Programming with C++ Wrappers: Encapsulating - Interprocess Communication Services with Object-Oriented Interfaces}", - JOURNAL = "C++ Report", - YEAR = 1992, - MONTH = "September/October", - ABSTRACT = "" -} - ----------------------------------------- -In addition, here are some articles that discuss various aspects of -the ADAPTIVE project. - -@inproceedings{Schmidt:94r, - AUTHOR = {Douglas C. Schmidt}, - TITLE = "{High-Performance Event Filtering for Dynamic Multi-point Applications}", - BOOKTITLE= "$1^{st}$ Workshop on High Performance Protocol - Architectures (HIPPARCH)", - MONTH={December}, - YEAR = {1994}, - ADDRESS={Sophia Antipolis, France}, - ORGANIZATION = {INRIA} -} - -@inproceedings{Schmidt:94p, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "Measuring the Performance of Parallel Message-based - Process Architectures," - BOOKTITLE = "{\em Proceedings of the INFOCOM Conference on Computer Communications}", - ORGANIZATION= "IEEE", - ADDRESS="Boston, MA", - MONTH = "April", - YEAR = {1995} -} - -@article{Schmidt:94k, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "{An Object-Oriented Framework for Dynamically - Configuring Extensible Distributed Communication Systems}", - JOURNAL = "IEE Distributed Systems Engineering Journal - (Special Issue on Configurable Distributed Systems)", - YEAR = 1994, - MONTH = "December" -} - -@inproceedings{Schmidt:94e, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Experiences with an Object-Oriented Architecture for - Developing Extensible Network Management Software}", - BOOKTITLE = "Globecom Conference", - ORGANIZATION="IEEE", - ADDRESS={San Francisco, CA}, - MONTH = "November", - YEAR = {1994} -} - -@inproceedings{Schmidt:94h, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "{Measuring the Impact of Alternative Parallel Process - Architectures on Communication Subsystem Performance}", - BOOKTITLE = "Proceedings of the $4^{th}$ International Workshop - on Protocols for High-Speed Networks", - ORGANIZATION="IFIP", - ADDRESS={Vancouver, British Columbia}, - YEAR = 1994, - MONTH = "August" -} - -@inproceedings{Schmidt:94b, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "{The ADAPTIVE Service eXecutive: an Object-Oriented - Architecture for Configuring Concurrent Distributed Applications}", - BOOKTITLE = "The proceedings of the $8^{th}$ International Working - Conference on Upper Layer Protocols, Architectures, and - Applications", - ORGANIZATION="IFIP", - ADDRESS={Barcelona, Spain}, - MONTH = "June", - YEAR = {1994} -} - -@inproceedings{Schmidt:93g, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE="{A Framework for Developing and Experimenting with - Parallel Process Architectures to Support High-Performance - Transport Systems}", - ORGANIZATION="IEEE", - BOOKTITLE="Proceedings of the Second Workshop on the - Architecture and Implementation of High Performance - Communication Subsystems", - ADDRESS={Williamsburg, Virgina}, - MONTH={September}, - YEAR=1993, -} - -@inproceedings{Schmidt:93f, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "{ADAPTIVE: A Framework for Experimenting with - High-Performance Transport System Process Architectures}", - BOOKTITLE="{Proceedings of the $2^{\rm nd}$ International - Conference on Computer Communication Networks}", - ORGANIZATION="ISCA", - ADDRESS={San Diego, California}, - YEAR=1993, - MONTH=jun, - PAGES="", - ABSTRACT="" -} - -@article{Schmidt:93a, - AUTHOR = "Douglas C. Schmidt and Donald F. Box and Tatsuya Suda", - TITLE = "{ADAPTIVE: A Dynamically Assembled Protocol - Transformation, Integration, and eValuation Environment}", - JOURNAL="Journal of Concurrency: Practice and - Experience", - YEAR = 1993, - MONTH=jun, - ABSTRACT = "" -} - -@inproceedings{Box:93a, - AUTHOR="Donald F. Box and Douglas C. Schmidt and Tatsuya Suda", - TITLE="{ADAPTIVE: An Object-Oriented Framework for Flexible - and Adaptive Communication Protocols}", - BOOKTITLE="{Proceedings of the 4$^{th}$ IFIP Conference on High - Performance Networking}", - ORGANIZATION="IFIP", - ADDRESS="Liege, Belgium", - YEAR=1993, - ABSTRACT = "" -} - -@inproceedings{Schmidt:92f, - AUTHOR = "Douglas C. Schmidt", - TITLE = "{Hosting the ADAPTIVE System in the {\em - x}-Kernel and System V STREAMS}", - BOOKTITLE = "Proceedings of the {\em x}-kernel Workshop", - MONTH = {November}, - ADDRESS = {Tucson, Arizona}, - YEAR = 1992, -} - -@inproceedings{Schmidt:92c, - AUTHOR = "Douglas C. Schmidt and Donald F. Box and Tatsuya - Suda", - TITLE = "{ADAPTIVE: A Flexible and Adaptive Transport System - Architecture to Support Lightweight Protocols for Multimedia - Applications on High-Speed Networks}", - BOOKTITLE = "Proceedings of the First Symposium on High Performance - Distributed Computing", - MONTH = {September}, - ORGANIZATION = {IEEE}, - ADDRESS = {Syracuse, New York}, - YEAR = 1992, -} - -@article{Schmidt:92a, - AUTHOR = "Douglas C. Schmidt and Tatsuya Suda", - TITLE = "{Transport System Architecture Services for - High-Speed Communications Systems}", - JOURNAL="IEEE Journal on Selected Areas in Communication", - MONTH=may, - YEAR = 1993, -} - diff --git a/COPYING b/COPYING deleted file mode 100644 index cc021e42434..00000000000 --- a/COPYING +++ /dev/null @@ -1,35 +0,0 @@ -COPYRIGHT INFORMATION FOR ACE - -ACE is copyrighted by Douglas C. Schmidt and his research group at -Washington University, Copyright (c) 1993-1997, all rights reserved. -You are free to do anything you like with the ACE source code (and -object code produced from the source). For instance, you can include -it in commercial software, as long as you include this copyright -statement along with code built using ACE. - -You are under no obligation to freely redistribute any of your source -code that is built using ACE. Please note, however, that you may not -do anything to the ACE code that will prevent it from being -distributed freely (such as copyrighting it yourself or claiming -authorship of the ACE code). - -ACE is provided as is with no warranties of any kind including the -warranties of design, merchantibility and fitness for a particular -purpose, noninfringement, or arising from a course of dealing, usage -or trade practice. - -ACE is provided with no support and without any obligation on the part -of Washington University, its employees, or students to assist in its -use, correction, modification or enhancement. - -Washington University, its employees, and students shall have no -liability with respect to the infringement of copyrights, trade -secrets or any patents by ACE or any part thereof. - -In no event will Washington University, its employees, or students be -liable for any lost revenue or profits or other special, indirect and -consequential damages. - - Douglas C. Schmidt - schmidt@cs.wustl.edu - diff --git a/ChangeLog-93 b/ChangeLog-93 deleted file mode 100644 index 0beb8e6321f..00000000000 --- a/ChangeLog-93 +++ /dev/null @@ -1,52 +0,0 @@ -Wed Dec 15 16:47:19 1993 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Added a new parameter to the constructor and open() member - functions in the SOCK_Listener and LSOCK_Listener classes. This - parameter indicates that the SO_REUSEADDR option needs to be - applied before attempting to bind an address. - -Sun Nov 21 14:46:18 1993 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Added a new file called "testconfig.h" in the include directory. - This file gives defaults for the hostname and server port - numbers used in the ./tests directory. - -Wed Nov 3 18:41:14 1993 Douglas C. Schmidt (schmidt@cupid.ics.uci.edu) - - * Released version 2.12. - - * Included Olaf Kruger's fix for templates/shared libs on Sun OS - 4. This solves a bunch of weird problems. Now, most of the - tests compile and run correctly on Sun OS 4! - -Mon Nov 1 17:47:30 1993 Douglas C. Schmidt (schmidt@cupid.ics.uci.edu) - - * Split the release into two parts: (1) the documentation and - papers and (2) the library source code and test examples. - - * Renamed and lightly redesigned the IPC_SAP* hierarchy. Now the - overall C++ wrapper abstraction for local and remote IPC is - called IPC_SAP. The specific wrappers for sockets, TLI, named - pipes, and STREAM pipes are called SOCK_SAP, TLI_SAP, FIFO_SAP, - and SPIPE_SAP, respectively. This cleans up the interfaces, - shares more code, and is much easier to explain. - - In addition, the Server_Daemon framework has been renamed the - Service Configurator framework, and the Server_Daemon class has - been renamed Service_Config. The documentation is being updated - to reflect these changes, as well. - - Note, the easiest way to upgrade existing apps is simply to use - perl as follows: - - % perl -p -i -e 's/Local_IPC/LSOCK/g;' *.[Chi] % perl -p -i -e - 's/IPC_SAP_FIFO/FIFO/g;' *.[Chi] % perl -p -i -e - 's/IPC_SAP_SPIPE/SPIPE/g;' *.[Chi] % perl -p -i -e - 's/IPC_SAP/SOCK_SAP/g;' *.[Chi] % perl -p -i -e 's/SAP_//g;' - *.[Chi] % perl -p -i -e 's/Server_Daemon/Service_Config/g;' - *.[Chi] - - etc. Note that the order in which you do this is important! In - addition, you need to check out your Makefiles, to be sure that - -lIPC_SAP linker lines are changed to include the appropriate - components. diff --git a/ChangeLog-94 b/ChangeLog-94 deleted file mode 100644 index 09465ce823f..00000000000 --- a/ChangeLog-94 +++ /dev/null @@ -1,1027 +0,0 @@ -Fri Dec 23 01:50:50 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/ASX: Changed the behavior of Map_Manager::Map_Manager() - to allocate a default-sized buffer. - - * libsrc/Reactor/Reactor.C (dispatch): Made the poll-based Reactor - smarter about detecting POLLERR error conditions. When POLLERR - is detected, the Reactor now shutdown down that fd... - -Wed Dec 21 18:29:15 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/IPC_SAP/SPIPE_SAP: Changed the name of class SPIPE_Msg to - SPIPE_IO to reflect the fact that I/O over named pipes need not - be message-oriented... - - * Changed all occurrences of {SOCK,TLI,SPIPE}_Listener to - {SOCK,TLI,SPIPE}_Acceptor. This is a more accurate name for the - function these classes perform. In addition, it is easier to - explain in the context of the Acceptor and Connector patterns. - Note that the *.h files are also changed, as well. - - * Changed the implementation of {SOCK,TLI,SPIPE}_SAP so that there - is now a *_Connector class to go along with the *_Acceptor - class. The *_Connector is a factory that produces *_Stream - objects *actively*, in a similar way to how the *_Acceptor is a - factory that produces *_Stream objects *passively*. This makes - everything much more orthogonal, though it will break existing - code... The easiest way to fix existing code is to do the - following: - - 1. Find places in the code that define objects of - type SOCK_Stream, LSOCK_Stream, TLI_Stream, - or SPIPE_Msg (now called SPIPE_IO). - - 2. Replace #include "SOCK_Stream.h" with - #include "SOCK_Connector.h" (or whatever - C++ wrapper you have). - - 3. Replace definitions of the form: - - INET_Addr addr (port, host); - SOCK_Stream foo (addr); - - with - - INET_Addr addr (port, host); - SOCK_Stream foo; - SOCK_Connector con (foo, addr); - - If you don't want to have an extra variable named "con", - you can replace this with: - - INET_Addr addr (port, host); - SOCK_Stream foo; - SOCK_Connector (foo, addr); // Calls the constructor. - -Tue Dec 20 21:34:10 1994 Douglas C. Schmidt (schmidt@tango) - - * Renamed the ./{libsrc,tests}/{Semaphores,Message_Queues} - directories to SV_Semaphores and SV_Message_Queues to better - reflect their true behavior and in order to prevent clashes with - the new ASX names. - - * libsrc/ASX: Renamed Queue to Task to better reflect its true - functionality. In addition, renamed Message_List to - Message_Queue. - -Mon Dec 19 23:04:52 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed "private" to "protected" in ASX/Message_List.h at the - request of Troy Warner (tnw1@core01.osi.com). - -Mon Dec 12 23:47:01 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/IPC_SAP/SOCK_SAP: changed the name of the global utility - function "bind_port()" to ace_bind_port() to avoid polluting the - global symbol namespace. - - * Fixed a descriptor leak in SOCK_Dgram::shared_open() and - SOCK_CODgram::shared_open(). The original version didn't - automatically close down the socket descriptor if bind failed. - The new version does close the descriptor down. - -Sat Dec 10 00:53:20 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Reactor/Reactor.C (mask_ops): Fixed a stupid bug... The - test should have been - - if (this->invalid_handle (handle) || - this->poll_handles_[handle].fd == -1) - - rather than: - - if (this->invalid_handle (handle) || - this->poll_handles_[handle].fd != -1) - - * libsrc/Reactor/Reactor: Modified the semantics of - Reactor::remove_handler() such that calling it with a value of - Event_Handler::DONT_CALL or'd into the Reactor_Mask instructs - the Reactor to remove the handler *without* calling the object's - handle_close() method! - -Fri Dec 9 12:53:31 1994 Douglas C. Schmidt (schmidt@tango) - - * include/Synch: some C++ compilers (e.g., Centerline) barf when - the see the following in an inline function: - - if (foo == bar) - { - errno = result; - return -1; - } - result result; - - I fixed this by doing the following: - - if (foo == bar) - { - errno = result; - result = -1; - } - result result; - -Wed Dec 7 22:23:47 1994 Douglas C. Schmidt (schmidt@tango) - - * include/Synch.h: Added additional methods in the Null_Mutex - class in order to be consistent with the RW_Mutex interfaces... - - * libsrc/ASX/Message_List: Added new a set of methods called - "try_enqueue_head" and "try_enqueue_tail" that will only insert - a message into the queue if it is not already full. If it is - full, return EWOULDBLOCK. - -Tue Dec 6 13:58:28 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Reactor/Event_Handler: added default values of -1 to the - handle_input(), handle_output(), and handle_exception() methods. - -Mon Dec 5 23:30:28 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/ASX/Message_List: Added a new method called set_length to - Message_Block. This method sets the length of the "active" - portion of the message. This is defined as the offset from - RD_PTR to WR_PTR. - -Sat Dec 3 20:40:53 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Threads/Synch: Added two new class called Write_Guard and - Read_Guard, which provide functionality a la the Guard class, - only that they acquire and release readers/writer locks. - - * libsrc/Threads/Synch: For interface uniformity with other - synchronization wrappers I added an acquire() method. This is - implemented as a write-lock to be on the safe-side... - -Fri Dec 2 13:33:39 1994 Douglas C. Schmidt (schmidt@tango) - - * include/Synch.i (Mutex::tryacquire): Modified the behavior of - Mutex::tryacquire so that it will return -1 and set errno to the - appropriate return value of tryacquire(3T) if various types of - "problems" occur (such as the Mutex already being held). - - * include/Message_List.i: Rearranged the order of the - Message_Block::get_rd_ptr and Message_Block::set_wr_ptr methods - to deal with inlining problems that some cfront-based C++ - compilers have... - - * libsrc/Reactor/Signal.[hi]: Changed set_handler/get_handler to - "handler" to avoid a collision with Rogue Wave libraries. This - new version is more consistent with other usage in ACE anyhow... - - * Modified the behavior of Service_Config::Service_Config() so - that it makes the initialize size of the Reactor be the same - size as the Service_Repository. This was done at the suggestion - of Bob Sayle and Steve Warwick at ARINC Research. - -Sun Nov 20 00:59:06 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/ASX/Message_List: Added two new methods - (is_full() and is_empty()) to the public interface - of Message_List. These methods check whether the queue is full - or empty *while holding the lock*. - - * libsrc/ASX/Queue.h: Made the svc() method a pure virtual - function. This is much cleaner than not doing it, particularly - when we've already got to define open(), close(), and put()... - - * Added a new method to the IPC_SAP/Addr inheritance hierarchy. - The method is called addr_to_string() and it converts the - address of a subclass (e.g., either UNIX domain or Internet - domain) into a string. This functionality is particularly - useful in parameterized types (such as Acceptor), which should - be oblivious of the type of communication domain they are - using... - - * Reorganized the ./apps/Logger/Service_Configurator_Logger - directory in order to reuse more code. Now, all the Acceptor - pattern classes have been moved to a new subdirectory called - ./libsrc/Acceptor. In addition, this code has been generalized - to work with the ASX framework! - -Sat Nov 19 15:19:19 1994 Douglas C. Schmidt (schmidt@tango) - - * Released version 2.15.5 (added a couple of minor fixes and some - additional software to the release. In particular, I've added - the RPC++ C++ wrappers for Sun RPC. See the README file for - more info on this. - - * apps/Synch-Benchmarks: Reorganized all the synchronization tests - so that they would be easier to understand and extend. - - * include/sysincludes.h (ACE_NONBLOCK): Fixed a stupid typo in the - ./include/makeinclude/wrapper_macros.GNU file that accidentally - used ACE_NONBLOCKING instead of ACE_NONBLOCK... Jaysus - - * Fixed up the Service_Config.[Chi] source so that it no longer - allocates statically linked services via static variables. - Stacy Mahlon (mcs@contour.mayo.edu) recommended this change to - workaround bugs in compilers that fail to initialize static - objects appropriately. - -Tue Nov 15 11:55:03 1994 Douglas C. Schmidt (schmidt@tango) - - * Fixed a portability problem in the ./libsrc/Service_Configurator - that was caused by certain compilers failing to initialize - global variables correctly. In particular, the Obstack object - ace_obstack is now a pointer that is allocated dynamically by - Service_Config.process_directive(). Thanks to Stacy Mahlon - (mcs@contour.mayo.edu) for noticing this! - -Mon Nov 14 12:16:14 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Threads/Thread.h: added C++ wrappers for - thr_getconcurrency() and thr_setconcurrency(). - - * Fixed a dumb typo in ./tests/IPC_SAP/SOCK_SAP/CPP-nbclient.C - that failed to conditionally compile for different variants of - siginfo... - - * Added some test programs that benchmark the performance of - Solaris synchronization mechanisms. See ./apps/Synch-Benchmarks - for details... - - * Extended the methods of the Queue class to take advantage of the - new Message_List methods that perform timed waits! This - involves changing many of the existing methods in this class to - add an extra parameter of type timestruc_t *, which defaults to - 0. - - * Added some new comments in the - ./include/makeinclude/wrapper_macros.GNU file that indicate what - the various macros defined by the Makefile scheme actually mean. - This should help people who are porting to a new system... - - * Fixed a dumb bug in ./tests/Shared_Memory that directly included - system header files. Everything in ACE should include - "sysincludes.h" instead... Thanks to Stacy Mahlon - (mcs@contour.mayo.edu) for noticing this! - - * include/Memory_Pool.i (round_up): Fixed a typo where PAGESIZE - should have been ACE_PAGE_SIZE. - -Sat Nov 12 01:32:52 1994 Douglas C. Schmidt (schmidt@tango) - - * Generalized the Shared_Memory_Pool class for Malloc so that it - doesn't require the base addresses for multiple processes to all - start at the same location. - - * libsrc/Service_Configurator/Thread_Spawn.i (Thread_Spawn): - - Fixed a stupid bug in the constructor. Note that we should - be checking if this->tm_ == 0, rather than != 0... - -Fri Nov 11 00:11:41 1994 Douglas C. Schmidt (schmidt@tango) - - * Released version 2.15.4 (added a couple of minor fixes). - - * Added a new test program in the ./tests/ASX/Message_List - directory. This program illustrates how thread-safe - Message_Lists work using ASX. - - * libsrc/Threads/Thr_Manager.i: Added a new method called - insert_thr() to Thr_Manager that is used in conjunction with - Thr_Cntl::Thr_Cntl to make sure that a thread is added to the - Thr_Manager's table correctly. - -Thu Nov 10 20:14:11 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Log_Msg/Log_Record.C (print): Fixed the following very - subtle (and very stupid) bug: - - return ::fprintf (fp, this->msg_data_); - - if this->msg_data_ contains '%', then this call will - fail since fprintf tries to treat the percent sign as - a format code. The obvious fix is: - - return ::fprintf (fp, "%s", this->msg_data_); - - * libsrc/ASX/Message_List.i (is_empty): Fixed a braino that failed - to check if there was a 0-sized buffer in the list. It is now - possible to enqueue a 0-sized buffer, which is helpful for - things like signaling end of transmission by a producer. - - * libsrc/ASX/Message_List.C: Improved the robustness of the - Message_List abstraction by detecting the case where the newly - inserted Message_Block is a NULL pointer. Before, this would - crash the program, where now it returns -1 from the - enqueue_head() or enqueue_tail() methods. - - * libsrc/Threads/Synch.h: added timedwait_signal() and timedwait() - methods to class Condition. These are wrappers around the - cond_t cond_timedwait() function. - - * Improved the documentation of the class interfaces in the - Synch.h C++ wrapper for Solaris 2.x threads mechanisms. - - * Changed the name of class Condition methods wait_signal() and - timedwait_signal() to wait_alert() and timedwait_alert() to - remove confusion with UNIX signals and the regular condition - variable signal. - -Wed Nov 9 23:49:24 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/IPC_SAP/Addr/UNIX_Addr.i (UNIX_Addr): Fixed another - couple brainos in UNIX_Addr.i (thanks for Irfan - (ip1@cs.wustl.edu) for noticing this). - - * libsrc/IPC_SAP/SOCK_SAP/SOCK.i (get_local_addr): Fixed a braino - that didn't reset the Addr size after a call to getsockname(). - -Tue Nov 8 00:25:02 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Service_Configurator/Svc_Conf.y (create_service_type): - Fixed a bug on lines 323 and 324, and 330 and 331. The "#if - defined" needs to be INSIDE the "case" statements. Thanks to - mcs@contour.mayo.edu for finding this! - - * Improved the interfaces for all the synchronization wrappers so - that they can be given all the parameters for the underlying - SunOS 5.x *_init calls. Default values are given to keep the - normal usage concise... - -Mon Nov 7 21:41:13 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed all occurrences of Mutex_Rec to Recursive_Lock. This is - much more descriptive since by using templates, the recursive - logic applies to a number of synchronization mechanisms (e.g., - Semaphores, RW_Mutex, Mutex, Null_Mutex, etc.) rather than just - the Mutex class. - - * Changed all occurrences of Mutex_Block to Guard. This is more - standard terminology and reflects Booch's terms more closely, as - well. - -Sun Nov 6 14:31:44 1994 Douglas C. Schmidt (schmidt@tango) - - * Majorly improved the modularity and structure of the Reactor - class. Much duplicate code has been coalesced and several new - features have been added. - - * Changed the name of the Reactor method set_ready() to - ready_ops(). Added a new method called mask_ops(). These - methods make it possible to manipulate the "dispatch masks" and - the "ready masks" (e.g., READ_MASK, WRITE_MASK, etc.) at a much - finer level of granularity without loss of efficiency or - correctness. - -Sat Nov 5 16:48:55 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed the name of three methods in the Semaphore class to - mirror the terms used for Mutex and RW_Mutex. This will help - support the use of semaphores along with templates (e.g., - Rec_Lock) much better... The old names were "wait", "trywait", - and "signal". The new names are "acquire", "tryacquire", and - "release." - - * Added a new class called Signal_Block in Signal.[hiC] This class - operates similar to Mutex_Block, in that it holds a set of - signals over the duration of a C++ statement block. The - constructor masks out the signals and the destructor restores - the signals. - - * Changed the name of files Signal_Handler.[hiC] to Signal.[hiC] - to reflect a broadening of the functionality of the ACE wrappers - for Signals. For example, the new C++ classes wrap the sigset_t - API, as well as the struct sigaction structure. - -Fri Nov 4 00:41:48 1994 Douglas C. Schmidt (schmidt@tango) - - * Yow, got the new Shared_Malloc/Malloc class to work correctly on - SunOS 4.x, as well as SunOS 5.x. It's a bit more clunky on - SunOS 4.x since we have to use System V semaphores rather than - Solaris synchronization mechanisms. However, it now seems to - function correctly! - - * Added a new method called "tryacquire" to Semaphore_Complex and - Semaphore_Simple. This method provides the same "non-blocking" - semantics as it does in the Mutex, Semaphore, and RW_Mutex - classes. - - * Added a new method called "remove()" to all the C++ wrappers in - the Synch.[hi] file. This improves the symmetry with the System - V semaphore wrappers, and also gets around a nasty bug with - cfront 3.x and its handling of templates and explicitly called - destructors... - - * Added a new C++ wrapper class for Threads (Thread.h). The - eventual purpose of this class is to hide the differences - between POSIX pthreads and Solaris threads. - - * Added new parameters to Thr_Manager::spawn to enable the stack - and stack_size to be passed in. - - * Modified the Synch.h file so that the Null_Mutex and Mutex_Block - classes will both be compiled, even if we are building ACE on a - platform that doesn't support threads! - - * Added a timed event-loop method to the public interface of the - Service_Config class. This basically forwards the request to - the underlying Reactor->handle_events method. Thanks to Brad - Needham (bneedham@arinc.com) of ARINC research for the - suggestion! - -Wed Nov 2 14:47:25 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed the interface for one of the Reactor's - {register,remove}_handler methods. These methods - had previously taken a sigset_t &, but for some reason the Sun - C++ 3.0 compiler can't seem to recognize that this is different - from an int! Therefore, I changed the interface to take a - sigset_t *. - - * Fixed some portability bugs that crept into the SunOS 4 version - of ACE, particularly with the siginfo_t extended signal handler - stuff. - -Tue Nov 1 21:46:07 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Log_Msg/Log_Msg.C (log): Fixed a braino on line 175. - "int sig" was undefined outside the conditional (duhhh ;-)). - -Thu Oct 27 17:23:37 1994 Douglas C. Schmidt (schmidt@tango) - - * Fixed up some problems with Semaphore_Complex and - Semaphore_Simple. The new design should be more functional, - particularly for Semaphore_Complex, which now generalizes to - arrays of semaphores. - -Wed Oct 26 16:38:42 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Shared_Malloc/: Created a .i file for Malloc and - Memory_Pool to handle inlines. - - * Fixed a fence-post error in Mem_Map::map_it(). The new version - should correctly set the length of the file *and* also do the - appropriate memory mapping. - - * bin/clone.C: Fixed the clone program so that it now compiles - with the C++ compiler rather than the C compiler. - -Tue Oct 11 20:01:16 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Reactor/Reactor.h (Reactor): Changed the order of the - arguments to the Reactor's register_handler() method used to - register signal handler objects. The new order puts both "new" - components first, and any - (optional) old components following this. This is - a more natural set of default values... - - * libsrc/Shared_Malloc: split out the Local and Shared memory - pools for class Malloc into the Memory_Pool.[hC] files. - -Mon Oct 10 22:54:53 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Threads/Synch.i: Reworked the Thread_Mutex and - Process_Mutex classes to inherit their interface and - implementation code from Mutex... Thanks to Irfan Payrali for - the suggestion! - -Wed Sep 28 11:26:34 1994 Douglas C. Schmidt (schmidt@tango) - - * Moved some of the tests directories around to better reflect - precisely which ACE components are being tested. In particular, - the {client,server} directories that were originally under the - ./tests/Reactor subtree are now located in the - ./tests/Service_Configurator subtree. - -Tue Sep 27 23:05:32 1994 Douglas C. Schmidt (schmidt@tango) - - * Added a bunch of constructors/destructors for - ./tests/Reactor/server to make g++ happy. - - * libsrc/Service_Configurator/Service_Object.[ih] - (Service_Object): Added a constructor and destructor to - Service_Object to make g++ happy. Also, removed the #if for - broken versions of g++ 2.5.8. - - * include/Reactor: Added a constructor and destructor for - Null_Callback to make G++ happy... - - * libsrc/Message_Queues/: Added support for G++ templates. - - * Changed the handling of _sys_siglist in the sysincludes.h file - to try and handle the weird SunOS 4 header file problems... - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram_Brdcast.C (mk_broadcast): - Removed the "struct" from new struct ifnode in order to - compile... - -Tue Sep 20 11:17:23 1994 Douglas C. Schmidt (schmidt@tango) - - * Fixed a couple of minor typos in the Windows NT C++ wrappers for - sockets. - - * Released version 2.15.2 so that Mark Frutig could have access to - the latest source in order to write man pages! - -Thu Sep 15 20:47:36 1994 Douglas C. Schmidt (schmidt@tango) - - * Extended the Event_Handler interface to support the additional - siginfo_t-style parameters for extended SVR4 signal handling. - Note that for backwards compatibility, this new interface only - enabled if the -DACE_HAS_SIGINFO flag is set in the - wrapper_macros.GNU config file. Making this change affected - several of the existing ACE classes such as Service_Config and - Signal_Handler. - -Mon Sep 12 17:07:10 1994 Douglas C. Schmidt (schmidt@tango) - - * Improved the modularity of the Reactor by creating a new class - called Signal_Handler. This new class basically encapsulates - the signal handling mechanism provided by UNIX within a nice OO - abstraction. The new arrangement is particularly useful since - the Signal_Handler class may be used in applications - (e.g., the Malloc class abstraction) that do not require the - other features of the Reactor. - -Sun Sep 11 14:40:06 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed the default value for Semaphore_Simple and - Semaphore_Complex from OPEN to CREATE. This is more closely - related to how SunOS thread synchronization variables work. - - * Changed the methods of the Semaphore_Simple class to be - syntactically equivalent to the Process_Mutex and Thread_Mutex - classes. This makes it easier to write code that uses - parameterized types to instantiate the appropriate type of - synchronization primitive. - - * include/makeinclude/rules.local.GNU (OBJDIRS): Fixed the - "depend" target so that it generates the correct dependencies - for remaking .so files after they are changed. - - * Added a new pair of methods to the Reactor so that it is now - possible to register/remove a sigset_t of signals in one - operation. - -Sat Sep 10 03:11:34 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Mem_Map/Mem_Map.i (map_it): Fixed a few minor bugs with - how the Mem_Map::map() method handles lseek()'s. - - * Changed the name of the Mem_Map::open() methods to - Mem_Map::map(). This seems like a more reasonable name! Also, - removed the close() method. This is trivial to implement via - ::close (mmap.get_fd ()); - -Fri Sep 9 22:04:25 1994 Douglas C. Schmidt (schmidt@tango) - - * Provided a new implementation of a flexible memory allocation - scheme (Shared_Malloc/Malloc.[HiC]). This memory allocation can - be parameterized by the following: - - 1. The pool from which memory is allocated (e.g., - local memory vs. shared memory). - - 2. The type of synchronization used when allocating - the memory (e.g., no synchronization, thread-based - synchronization, process-based synchronization). - - * libsrc/Threads/Synch.i (Proc_Mutex): Added new classes to the - Synchronization library. These classes are wrappers around the - USYNC_PROCESS and USYNC_THREAD flags to mutex_init(). - -Wed Sep 7 20:29:00 1994 Douglas C. Schmidt (schmidt@tango) - - * include/sysincludes.h (MT): Added check to see if _REENTRANT was - already defined, and if so, avoid redefining it! - -Sun Sep 4 16:23:17 1994 Douglas C. Schmidt (schmidt@tango) - - * Released version 2.15.1 to the world... - - * Added support for the Windows NT version of SOCK_SAP. - - * Fixed a few minor bugs involved with the order of linking - libraries. - - * Fixed an oversight in ./testsReactor/server/server_test.C where - I was still including the "Server_Test.h" file (ugh). - -Wed Aug 31 13:27:10 1994 Douglas C. Schmidt (schmidt@tango) - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Stream.C (open): Fixed a bug - whereby the I/O descriptor wasn't being closed if connect() - failed. Thanks to Charles Eads - (eads@synoptics.com) for reporting this. - - - * Recompiled everything on SunOS 4.x using SunC++ 3.x and SunOS - 5.x using SunC++ 3.x and 4.x. Everything seems to compile fine - now. - - * Released version 2.15 - -Mon Aug 29 00:14:04 1994 Douglas C. Schmidt (schmidt@tango) - - * Finished up a preliminary set of tests for ASX. See the - $WRAPPER_ROOT/tests/ASX/Event_Server directory for more details. - - * wrapper_macros.GNU (CC): Removed the ARCHFLAG from the CCFLAGS - macro in the Makefile system. Henceforth, all conditional - compilation should be performed on a "per-feature" basis, rather - than a "per-platform" basis... - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram_Brdcast.C (send): - Automatically convert the port number to htons format before - using it to initialize the sin_port field of the addressing - structure. This is consistent with the behavior of other parts - of IPC_SAP (particularly INET_Addr::set()). - -Sun Aug 28 00:02:53 1994 Douglas C. Schmidt (schmidt@tango) - - * Changed version number of 2.15 to reflect all the major - modifications to the structure of ACE. - - * include/sysincludes.h: Started to fix up the conditional - compilation scheme to be much smarter about the features that - are available from both the compiler and the OS environment. - - * Added a fix suggested by Leslee Xu (lxu@ics.uci.edu) to better - handle the normalization of Timer_Values. - - * Continued to make ACE coding conventions more consistent by - removing get_/set_ prefix from all the accessor/manipulator - methods. Also, added an underbar at the end of all class and - object instance variables. - -Sat Aug 27 20:28:13 1994 Douglas C. Schmidt (schmidt@tango) - - * Continued to improve error handling by replacing all uses of - perror with the Log_Msg macros. - - * include/sysincludes.h: Continued to improve the namespace - utilization in ACE by prefixing stand-along Misc functions with - ace_. - - * include/FD_Set.h: Changed the name FD_Set_Iter to - FD_Set_Iterator. - - * typedef'd int to HANDLE in Event_Handler.h in preparation for - merging in the Windows NT support along with the regular ACE - package. I need to update all the other code in the entire - release to be consist with this! - -Thu Aug 25 19:49:57 1994 Douglas C. Schmidt (schmidt@tango) - - * Fixed a bug with Thr_Manager.i that occurred if a thread created - by ::thr_create() exits prior to the acquisition of the lock and - the subsequent bookkeeping. - -Wed Aug 24 17:34:49 1994 Douglas C. Schmidt (schmidt@tango) - - * Updated SOCK_Dgram_Brdcast to return the average number of bytes - sent. This isn't necessarily the most useful info, but it - doesn't hurt either. Thanks to Mark Frutig (mfrutig@fnbc.com) - for the suggestion. - -Mon Aug 22 01:18:14 1994 Douglas C. Schmidt (schmidt@tango) - - * Added a new test for the Service Configurator framework. This - test illustrates the dynamic configuration of an entire stream - of Modules. - -Sun Aug 21 03:16:00 1994 Douglas C. Schmidt (schmidt@tango) - - * Cleaned up the ./tests/Reactor/server example to be more robust. - In particular, it doesn't really make sense to have the same - object be configured both statically and dynamically *at the - same time*! This was causing problems since each constructor - was getting called twice for the same object -- once when it was - created statically, and again when it was linked in - dynamically... Things work much better now. - -Sat Aug 20 01:07:24 1994 Douglas C. Schmidt (schmidt@tango) - - * Heavily revised the structure of the ./apps/Logger - subdirectories to test out the new Makefile scheme. Everything - is working fine on Solaris! - - * Updated all the ./apps/Logger subdirectories to use the Acceptor - name rather than the Client_Listener name. This is consistent - with recent papers... - - * Fixed all the Makefiles to utilize the new simplified build - strategy. The Makefiles are *far* more automated now! - - * Added support to all the libsrc Makefiles to produce both shared - libraries (*.so) and traditional archives - (*.a). - -Fri Aug 19 16:13:42 1994 Douglas C. Schmidt (schmidt@tango) - - * Majorly improved the Makefile support for building shared - objects that will be dynamically linked explicitly. No longer - will we have to do the horrible hack of compiling all the source - code using -pic. Instead, only that code that will be linked - dynamically must be compiled with -pic! Note that this only - works if the shared object is entirely self contained (i.e., it - does *not* reference any statically linked symbols that are not - defined in itself)! - - * Started to add changes to the source code to make its - configation driven by features rather than by OS. This should - make everything much more portable soon! - - * Fixed IPC_SAP.h so that the constructor is protected (prevents - accidental definition of an instance of this class). - -Thu Aug 11 08:31:33 1994 Douglas C. Schmidt (schmidt at valentine.ics.uci.edu) - - * Fixed Reactor::schedule_timer() so that it will unblock the - Reactor if it is currently blocked. This is necessary so that - the Reactor will recompute the amount of time that it needs to - wait before dispatching timer-based events. Thanks to Todd Hoff - for noticing this... - - * Fixed a stupid bug in the handle_input() method of - Client_Listener in both the Reactor and Service_Configurator - version of the Server Logging Daemon. This routine was not - explicitly returning 0 when it worked..., which might cause the - Reactor to deregister the listener handler! - - * Added casts to the ::select() call in the Reactor to ensure that - the FD_Set * -> fd_set * conversion operators are properly - involved. Thanks to Todd Hoff for this fix (thm@ictv.com). - Todd noticed that the DCE pthreads implementation on AIX was - confusing the compiler... - -Mon Aug 8 18:11:03 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Added a new constructor for the FD_Set class that will convert - an fd_set into an FD_Set. - - * Removed the default value for the Service_Repository constructor - since this was ambiguous with the default constructor. - -Tue Aug 2 18:25:28 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Fixed a bunch of minor "warning-causing" nits that were caused - by #endif __INLINE__ in certain header files... - - * Added a new set of interfaces to the Reactor to retrieve a - registered handler. These interfaces are also useful for - checking whether a handler is registered at a particular fd. - -Sun Jul 10 17:43:19 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Improved the implementation of the Profile_Timer and - High_Res_Timer classes. In particular, the High_Res_Timer class - now works quite nicely using SunC++ 4.0. - -Mon Jul 4 12:49:14 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Changed the order of the base class inheritance list for the - Service_Object class as a workaround for a bug in SunC++ 4.0's - handling of pointers to member functions (ugh). - -Sun Jul 3 18:07:16 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Added a bunch of changes (courtesy of - george@truffula.fp.trw.com). These changes fix minor - portability problems with the new SunC++ 4.0 compiler. - -Fri Jun 24 08:59:02 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Removed operator() from all the IPC_SAP listener classes. - Defining this operator was causing more trouble than it is worth - since C++ doesn't allow operator() to have default arguments - (ugh). The "right" thing to do is to simply use the accept() - method in those classes instead of operator(). - -Wed Jun 22 16:54:05 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Fixed some problems with TLI_Listener that involved lax scoping - of nested classes with cfront 3.x-based C++ compilers. - -Tue Jun 14 11:56:56 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Added a bunch of changes to get portions of ACE up and running - on SCO UNIX, on HP-UX, and on OSF/1. - -Tue Jun 7 14:32:50 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Added support for FLEX's <> symbol to properly cleanup when - a configuration file has been parsed by the Service - Configurator's lexer/parser. - -Sun May 22 10:37:14 1994 Douglas C. Schmidt (schmidt at valentine.ics.uci.edu) - - * Modified the semantics of explicit dynamic linking on SunOS 4.x. - Now, if there is no _init or _fini function defined in a shared - library, it isn't an error (we simply don't call the function!). - -Mon May 9 07:58:35 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Included more fixes for GNU G++ courtesy of Aniruddha Gokhale - . - -Thu May 5 16:47:25 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Reimplemented the ./apps/Logger/Reactor_Logger to provide an - illustration of how the Reactor works. - - * Added finishing touches to the new version of the Service - Configurator framework. This framework now permits completely - automated configuration and reconfiguration of Service_Objects - and Streams. The next step is to add some more complete - examples that illustrate how these features are used... - -Tue May 3 10:17:12 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Fixed a bug in the Service Repository that would cause an - extraneous dlclose on a shared library handle under some - circumstances... - -Mon May 2 11:07:52 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Modified the semantics of Service_Object_Type in the Service - Configurator framework so that it does not automagically - register the service object with the instance of the Reactor. - The original behavior involved too much "over-specification" of - the behavior of Service Objects. Moreover, I can finally omit - the crazy semantics of DONT_REGISTER_SVC and REGISTER_SVC! - - * Fixed some subtle bugs involved with pop'ing a remove'ing a - Module from a Stream. Note that we need to use Module::link - rather than Module::set_next in order to ensure that all the - necessary pointers get rearranged.... - - * Fixed a couple of minor problems with deleting const objects in - the Service_Repository.i file. These were caught by G++, but - not caught by SunC++! - -Sun May 1 11:43:52 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Fixed subtle bug in Server_Config::run_event_loop(). This bug - prevented reconfiguration from occurring under certain - circumstances. - - * Added a new feature to the Service_Manager class in the Service - Configurator framework. This new feature enables the Service - Configurator to be reconfigured remotely by clients. - - * Fixed a bug in Service_Manager that caused the Service - Configurator to crash if SIGPIPE occurred if a client closed - down ungracefully while retrieving information on active - services. - - * Added a new argument to the Reactor::register_handler() method - that is used to register signal handling Event_Handlers. This - new argument returns the current Event_Handler (if any) that is - registered for this signal. - - * Fixed a potential bug in Service_Config::process_directives that - behaved improperly when there was no svc.conf file present in a - directory. - -Wed Apr 27 12:55:46 1994 Douglas C. Schmidt (schmidt at mabillon.ics.uci.edu) - - * Changed the name of Service_Directory to Service_Manager to - reflect its intended functionality - -Mon Apr 25 10:53:01 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Updated the Service Configurator framework to use the new signal - handling facilities provided by the Reactor. This cleans up a - lot of the code in Service_Config.i and removes the need for - ugly non-reentrant static class variables. - - * Released version 2.14 - -Sat Apr 23 14:29:11 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Changed the representation of the select()-based Reactor to be - more similar with the poll()-based Reactor. In particular, - there is only one array of Event_Handlers rather than three... - -Sun Mar 13 16:49:59 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Fixed a bug with the select-based version of the Reactor. This - bug caused problems when dispatching the handle_output() member - function. - - * Fixed a bug with the select-based version of the Reactor. This - bug resulted in a failure to call the handle_close() member - function on the write_fds and except_fds. - - * Changed the interface for Event_Handler::handle_close() so that - the second parameter is a Reactor_Mask. This allows the - call-back routine to determine which side of a connection (i.e., - read-side vs. write-side or both) to close down. Be careful - since this change may break existing code that used the original - 1 argument handle_close() member function. - - * Changed the location of the Reactor_Mask. It was originally an - enum in Reactor.h. It is now a typedef in Event_Handler. This - change will break existing code but it easily spotted since the - compiler will give an error! - -Sat Mar 12 15:16:59 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Continued to modify the grammar of the svc.conf file language. - The latest version (illustrated in configuration files in the - ./tests/Reactor/server and - ./apps/Logger/Service_Configurator_Logger file) is both easier - to read and to parse automatically. - -Tue Mar 8 10:19:40 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Changed the behavior of the Get_Opt class so that it will - perform option processing starting from argv[0] rather than - argv[1] if the SKIP argument to the constructor is set to 0. - Note that the default value is 1, so the behavior is the same - for backwards compatibility. Incidentally, this new change is - necessary to support the Service Configurator stuff... - - * Changed the names of some of the Service_Record member functions - to conform to the new idiom for naming get/set-style of member - function accessors... - -Sun Mar 6 12:47:03 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Removed libGet_Opt.a and merged it in with libMisc.a - -Sat Mar 5 18:37:43 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu) - - * Updated the Service_Config class to use a flex/yacc based parser - rather than an ad hoc parser and lexer. This is useful since - the new syntax for configuring a complete Stream into a Service - Configurator-based application is more complicated... - - * Made a small change to the syntax of a svc.conf file. Now any - parameters that are passed to the Service_Object::init() member - function of a dynamically linked service must be enclosed inside - of double quotes. In other words, service config entries such - as - - dynamic ./dev_adapter.so:_alloc () Device_Adapter -p 3000 - - now become - - dynamic ./dev_adapter.so:_alloc () Device_Adapter "-p 3000" - - This change makes it easier to parse the input using flex/yacc. - -Sat Feb 12 18:53:14 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Modified the Reactor so that it now also demultiplexes signals, - as well as timer events and I/O events. This required making a - few sections of the Reactor code signal-safe, as well as - thread-safe. - - * Changing the Reactor to handle signals also required a slight - change to its interface. For example, it is now mandatory to - give the Event_Handler::{READ_MASK,WRITE_MASK,EXCEPT_MASK} when - registering a handler... - -Sat Feb 5 12:10:53 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Changed the Condition and Monitor classes to use templates that - parameterize them with the appropriate type of Mutex (i.e., - either Mutex or Mutex_Rec). This greatly cleans up the code... - Made a number of changes in other files - (such as the Reactor) to account for the changes. - - * Added a new class called Mutex_Rec which implements a recursive - Mutex abstraction on SunOS 5.x. Recursive Mutexes may be - acquired multiple times from a single thread. Basically, this - supports an efficient and clean way of handling nested locking - conditions. - -Thu Feb 3 12:37:34 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Fixed a bug in Service_Config.i that was causing SIGHUP-driven - reconfiguration not to work correctly. - - * Added a set of new member functions to the Reactor class to - suspend() and resume() an event handler. Also added suspend() - and resume() member functions to the Server_Object class to take - advantage of these new facilities automagically... - -Mon Jan 31 09:47:06 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Modified the no-args constructor for the Reactor to initialize - it to the DEFAULT_SIZE. The prior behavior was *not* to - initialize it at all, which seems rather dumb in retrospect... - - * Improved the Reactor's support for multi-threading by adding a - pipe() call that is used to force the Reactor to reconfigure - itself everytime a new handler is registered or removed. - Previously, any new changes wouldn't take place until the - Reactor was triggered by some external event. This old behavior - was too non-deterministic... - -Sun Jan 2 12:35:39 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu) - - * Modified the inheritance hierarchy for Service_Object so that it - derives from both Shared_Object and Event_Handler. - Shared_Object is a new abstract base class the provides an - interface for dynamic linking of objects. When RTTI is widely - available for C++ the Service Configurator will be much more - functional since we can automatically figure out whether an - object is a Service_Object or just a Shared_Object and do the - right thing with it! - diff --git a/ChangeLog-95 b/ChangeLog-95 deleted file mode 100644 index 429e5681fdc..00000000000 --- a/ChangeLog-95 +++ /dev/null @@ -1,4179 +0,0 @@ -Sun Dec 31 01:02:01 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS (mmap): Added a new parameter to the argument list for - mmap(). This parameter is an ACE_HANDLE * and is used in the - Win32 implementation, which requires CreateFileMapping to open a - new HANDLE. This handle is passed back to the caller, which is - then responsible for freeing it... I'll probably need to modify - the ACE_Mem_Map class to manage this new handle for the WIN32 - version. - - * ace: Updated all the SPIPE files in preparation to porting them - to Windows NT, where they will be implemented using Win32 Named - Pipes! - - * ace/Typed_SV_Message: Fixed a mysterious braino where the method - definitions for Typed_SV_Message were actually within - Typed_SV_Message_Queue.cpp. I'm not sure why this happened, but - it's clearly been this way for eons... Also, changed the name - of the method "max" to "max_size" to avoid conflicts with macros - on Windows NT... - - * ace: Added a new config symbol: ACE_HAS_SYSV_IPC. If this is - *not* set (e.g., Win32) then don't try to compile any of the - System V IPC mechanisms (e.g., shared memory, message queues, - semaphores). - - * ace/Malloc: Reimplemented the Malloc-family to factor out common - code. Also added a new method called "trybind" which atomically - tries to bind a new void *pointer to a char *name. If there is - no name with the same value, the bind succeeds. Otherwise, the - bind "fails", but returns the existing pointer. - - * ace/Map_Manager: Reimplemented the Map_Manager to factor out - common code. Also added a new method called "trybind" which - atomically tries to bind a new int_id to an ext_id. If there is - no ext_id with the same name, the bind succeeds. Otherwise, the - bind "fails", but returns the existing int_id. - - * ace/Memory_Pool.cpp: Commented out all the diagnostic messages - in the various ACE_*_Memory_Pools. Now that we're actually - using this within ACE, they were distracting. - - * ace/CORBA_Handler.cpp (ACE_ST_CORBA_Handler): Gave iterations_ - an initial value of "5" for backwards compatibility. Thanks to - Irfan for doing this. - - * ace/Map_Manager.cpp (ACE_Map_Manager): Fixed some more braino in - the constructors of Map_Manager. During the recent changes I'd - forgotten to initialize the Map_Manager's instance variables to - 0. Thanks to Irfan for finding this out the hard way... ;-) - - * ace/OS.i (gettimeofday): Added a WIN32 implementation of - gettimeofday. This is pretty nasty, but it should centralize - all of this processing in one place in ACE! - -Sat Dec 30 00:50:20 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Timer_Queue: Removed the current_time() method from the - Timer_Queue class. All uses will be replaced with calls to - ACE_OS::gettimeofday(). Not only does this factor out more - code, but it is also reentrant! - - * ace/ACE.cpp (handle_timed_accept): Consolidated code so that - select() is always used, rather than poll(). - - * ace: Generalized the ACE file locking wrappers (both at the - Synch-level and the ACE_OS class level) to enable them to lock - arbitrary regions (aka "records") of a file. Before, they could - only lock the entire file (which remains the default behavior). - This new behavior works for both NT and UNIX. - - * ace/Synch: Removed the definition and use of the - ACE_SYNCH_ERROR_RETURN macro from all the ACE Synch* methods. - This behavior has been integrated into the ACE_OS class instead - since it cleans up lots of code that would otherwise have been - hard to write. - - * ace/INET_Addr.cpp (get_host_name): Fixed a bug that arose by - trying to use the reentrant version of gethostbyaddr all the - time. In order to fix this, I've added a new get_host_name() - method that allows the caller to supply a buffer for the - hostname. - - * ace: Cleaned up all the POSIX_TIMER junk that permeated ACE. - Now all platforms will have the POSIX timer structures (e.g., - timestruc_t and timespec), though only those that actually - support nano-second timing will be able to do anything useful - with this... As part of this cleanup, the poll, select, and - cond_timedwait method in ACE_OS now take ACE_Time_Value * rather - than int, timeval *, and timestruc_t, respectively. This - *greatly* cleans up the clutter throughout the rest of ACE. - - * ace/ACE: Added two new methods called tv2msec and msec2tv that - converts ACE_Time_Value format into millisecond format and vice - versa. This will make it easier to port code between NT and - UNIX. - - * ace/Reactor: Removed the code in the Reactor that previously - allowed it to be resized after it had been initialized. This - code no longer was used due to the recent enhancements that - ensure the Reactor is only initialized once per-process. - - * ace/Reactor: Modified the Reactor so that it now compiles on NT. - It doesn't work yet, but at least it compiles! - - * ace/Reactor: Moved the "max3" method from the Reactor to OS.h, - where it has become a template function usable throughout ACE. - - * ace/OS.cpp: Added extern "C" before the NT implementations of - readv() and writev(). - - * ace/OS.i: Fixed the declaration of ::readv() and ::writev() for - cases where the OS doesn't provide them natively. - - * ace/Event_Handler: Modified handle_signal() to take an int - rather than an ACE_HANDLE. The old way broke under NT... - - * ace: Made lots of minor changes to resolve signed int - vs. unsigned int mismatches. Thanks to the MSVC++ 4.0 compiler - for pointing these out. At least it's good for - something... ;-). - -Fri Dec 29 15:01:10 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/ACE.cpp (handle_timed_accept): Reimplemented the core - select() loop to make the code portable to Win32. - - * ace/Map_Manager.cpp (ACE_Map_Manager): Fixed a minor bug caused - by recent changes (forgot to initialize max_size_ in the - constructor...). - - * Updated all the manual pages to reflect the latest changes. - - * ace/ACE.cpp: Fixed up the ACE class so that all of the methods - should compile on both Windows NT and UNIX! - - * ace/OS: Moved the get_file_size() method from class ACE and put - it into class ACE_OS, where it's been renamed to filesize(). - This is really more of an "OS" function, e.g., it's supported on - Win32 directly. - - * ace/OS.cpp: added readv() and writev() implementations for those - platforms (e.g., Windows NT) that require them. - - * ace/Makefile: Added a new regex to the Svc_Conf_l.cpp target - that will substitute for . This should solve a - portability problem with Windows NT... - - * ace/Malloc: Modified the sync() and protect() methods to use - void * rather than char *. This is now consistent with the OS - classes. - - * ace/OS: Changed things so that all the mmap() related OS - wrappers use void * in their external interface. Any - discrepancies between platforms are now dealt with internally, - in the implementation of the methods. Thanks to Chris Lahey - (clahey@ix.netcom.com) for suggesting this. - - * ace/Local_Name_Space: Modified how ACE_NS_String is used to - instantiate ACE_Map_Manager in order to work around problems - with AIX C++. Thanks to Chris Lahey (clahey@ix.netcom.com) for - reporting this. - - * ace/Synch.i: Added a definition for ACE_RW_Mutex::acquire(). - -Fri Dec 29 00:34:16 1995 Chris Lahey (clahey@ix.netcom.com) - - * ace/OS.h: Changed the #ifdef for ACE_HAS_COMPLEX_LOCKS to - ACE_HAS_COMPLEX_LOCK. - - Changed prototypes for ACE_OS:mprotect(), msync(), and munmap() - to accept ACE_MMAP_TYPE for their first arg. The AIX versions - of these calls all expect void * for their pointer variable. - Note that madvise() takes a caddr_t for its 1st arg and - therefore does not need to be altered. (See related changes in - OS.i and Mem_Map.i) - - Changed prototype for ACE_OS::getsockname(), arg3 to int * (See - related change in OS.i) - - Changed prototype for ACE_OS::setsockopt(), arg4 to const char * - and arg 5 to int (See related change in OS.i) - - * ace/OS.i: Changed function definition for ACE_OS::mprotect(), - msync(), and munmap() to accept ACE_MMAP_TYPE as their 1st arg. - - The following changes relate to the inconsistencies in the - sockets calls on AIX. I thought it would make more sense to - leave the public interfaces alone and then handle the - differences internally. That way it won't break any exisiting - code. - - Changed function definition for ACE_OS::getsockname() to accept - arg3 as int *. Made similar changes in ACE_OS::setsockopt() - - change definition to accept const char * for arg4 and int for - arg5. Add the following code at the start of the function: - Also made changes to ACE_OS::recvfrom() - change arg 6 back so it is - int *. - - * ace/Mem_Map.i: In ACE_Mem_Map::advise(), cast 1st arg to - ACE_OS:madvise() to (caddr_t). - - * ace/Memory_Pool.cpp: In ACE_MMAP_Memory_Pool::acquire(), make - cast to char * in the return statement. In - ACE_MMAP_Memory_Pool::handle_signal(), also make same cast in - the ACE_DEBUG statement near the top of the function. - - * ace/Reactor.cpp and ace/Reactor.h: ACE_Reactor::handler_i() - doesn't return properly if *eh != 0. Remove last "else" so - function always returns 0 if handler != 0. - - In ACE_Reactor::owner(), we need to change signature since - thread_t is not an integer. This has been changed to int - ACE_Reactor::owner(thread_t *t_id); The last two lines have been - changed to: *t_id = this->owner_; return 0; - - * ace/Synch.cpp: In ACE_Condition_Mutex::wait(), the call to - cond_timedwait() does not exist, but ACE_OS::cond_timedwait() - does exist. It takes the same arguments. - - * ace/Synch.h and ace/Synch_T.h: At the end of both files, before - the #define INLINE check for this define's existence to avoid - causing compilers to choke. - - * ace/Mem_Map.i: In ACE_Mem_Map::operator(), the return statement - looked very odd. In the assignment to addr, why is the ", 0" in - the statement? - -Fri Dec 29 00:34:16 1995 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * ace: Fixed up many minor problems with the various types of - Shared_Memory wrappers. This mostly entailed changing from char - * to void * to be more consistent with the other parts of ACE. - In addition, I now only include the *.i files if __INLINE__ is - enabled. - - * ace/Memory_Pool.cpp (map_file): Fixed a minor bug by enabling - MAP_FIXED if we're trying to map a file using a fixed address. - -Thu Dec 28 18:39:16 1995 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp: Finished implementing changes to the - ACE_Malloc stuff and the Local_Name_Space that Irfan had begun - last semester. - - * ace/SString.cpp: Added new optimizations to the assignment - operators of the ACE_[WCS]String classes to avoid - freeing/allocating memory if the current size is large enough. - - * ace/SString: Added copy constructors... - - * ace/Local_Name_Space.cpp: Modified the implementation of bind() - to avoid a race condition. - - * ace/Map_Manager.cpp (bind): Changed the semantics of bind() so - that callers can control whether or not INT_IDs are reassigned. - Also changed things so that callers can get back the existing - value if they choose not to reassign. - - * ace/SString.cpp: Removed the "P" (persistent) versions of all - these classes and merged them into the default versions. The - persistence is now determined by the type of allocator passed in - as a parameter to the constructor (or by using the "default" - allocator that is accessible via - ACE_Service_Config::allocator()). - - * ace/Map_Manager.cpp: Removed the "P" (persistent) versions of - all these classes and merged them into the default versions. - The persistence is now determined by the type of allocator - passed in as a parameter to the constructor (or by using the - "default" allocator that is accessible via - ACE_Service_Config::allocator()). - - * ace/Malloc_T: Modified the bind() algorithm so that it will - allow the caller to determine whether duplicates are allowed or - not... Also changed things so that callers can get back the - existing value if they choose not to allow duplicates. Irfan - questions the sanity of this... ;-) - - * ace/Synch: To be consistent, added acquire_write and - acquire_read methods to ACE_Mutex. These are useful for cases - where we are going to be parameterizing classes like ACE_Malloc - with some type of mutex wrapper (e.g., ACE_RW_Mutex, ACE_Mutex). - - * ace/Malloc_T.cpp (calloc): Added a new method called "calloc" - that will not only allocate the memory dynamically, but will - also give it an initial value (e.g., '\0'). - -Thu Dec 28 01:10:43 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i: Modified the implementation of the TLI methods so that - they are conditionally compiled away if the platform doesn't - support TLI... Thanks to Neil Cohen for pointing out the need - for this... - - * ace/OS.i: Modified the implementation of dlopen() and dlsym() to - account for limitations with SunOS 4.x... - - * ace/Service_Repository.cpp: Modified this class to use the - ACE_OS::dlclose method. - - * ace/Parse_Node.cpp: Modified this class to use the - ACE_OS::dlopen and ACE_OS::dlsym methods. - -Wed Dec 27 23:25:03 1995 Jesper S. M|ller (stophph@diku.dk) - - * Added appropriate flags in OS.h for successful inclusion of - several header files, such as Malloc.h and friends. Also added - mprotect to ACE_OS for Win32 to avoid linker errors. - - * Added a return value (from map_file) to - ACE_MMAP_Memory_Pool::handle_signal. The compiler was - complaining. Likewise on - ACE_MMAP_Memory_Pool::commit_backing_store (there 0 seemed like - the correct off-the-end return value). - - * Removed include of some SV semaphore file, if not needed in - Malloc.h. Worse for Memory_Pool.h, since the SV_Semaphore - wrappers consistently differ completely from the other - synchronization routines. I guess we'll need some variant of - ACE_Process_Semaphore that takes an integer as a key instead of - a string, and does not perform automatic init/destroy. - - * Also upgraded fd's from int to ACE_HANDLEs and changes -1 to - ACE_INVALID_HANDLE where appropriate. - - * By help of aggresive preprocessor conditionals, made Handle_Set - work with Win32. There is a fd_set abstraction with appropriate - FD_xxx macros for WinSock, and it requires no sync'ing. The - Handle_Set_Iterator should also work. The good looks of - Handle_Set was impaired, though. Right now, the trigger is the - ACE_WIN32 flag, although it should be something like - ACE_FD_SET_USES_BITS for the unix approach, or like - ACE_FD_SET_USES_VECTOR for the WinSock approach. - - * Reactor almost compiles now, but not quite: Handlers are - addressed by fd, this is no longer possible - what a mess - we - need to step through the handle indices somehow. This will - likely get into some nasty quadratic complexities when iterating - the handles to find the event_handler for each file - handle. Mabye we can circumvent this with a hash table lookup - for those opaque handles. - - * There was a problem with the Svc_Conf.l.cpp and the - Svc_Conf.y.cpp and the extremely lame MSVC++ 2.0. I had to - rename them to Svc_Conf_y.cpp, etc. Awful! - - * Added code to inquire the 'host' name for Win32 in the ACE_Client_Id - class. Another candidate for ACE_OS. - - * About 60 or so ACE .cpp files compile now, which reminds me that - I'll be working on some precompiled header scheme soon, since it - takes for ever and ever, even on my 32meg system with pretty - good SCSI drives. Mabye it's because I'm only running a 66MHz - i486 DX2 (yawn). - - * Dozens of other changes have been made to various files, all - pertaining to int vs. ACE_HANDLE. In Service_Manager.h, a signal - number was an ACE_HANDLE, but just close by, some fd's were - ints. Fixed that, too. - -Sat Dec 23 14:15:16 1995 Jesper S. M|ller (stophph@diku.dk) - - * I've also grouped the .i and .cpp functions by class, - and #if'ed the sbrk and SysV pools out, since - Win32 cannot support those. - - * Added 'inline' to day accessor functions in Date_Time. - - * Two things that missed me in Trace.cpp: - 1) The inclusion order was so that I couldn't - build Trace.o, since it didn't know the MALLOC_HOOK thing. - I moved the #include of Trace.h down below that of ACE.h. - 2) The declaration and definition of the ACE_Trace constructor - differed by a const, which I added. - 3) When linking, multiple symbols were found for some - OS calls like mutex_init, corresponding to the larger - OS Win32 functions. I has ACE_INLINED_OS_CALLS off, - so sometimes the OS functions were inlined, sometimes - not. - I disabled the inline hack in Trace.cpp for WIN32 for now. - This seemed to resolve matters. - - * There was a major problem in OS.i, where Synch.h was needed for - mutex support (in conjunction with TSS info linked list). I - chose to make thr_keycreate and some others non-inlined. - - * More 'is-it-a-handle-or-success' confusion in SOCK*.* Changed - ACE_SOCK_Dgram to use int status. Changed ACE_SOCK_CODgram to - use int status. Changed ACE_LSOCK to use int status. Also - changed a few derived classes - -Fri Dec 22 14:03:15 1995 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * ace/OS.h: Added a new type for rwlock_t for platforms that don't - support threading... Thanks to Neil Cohen for reporting this. - - * ace: Merged in all of Jesper's changes for NT and Chris Lahey's - changes for AIX. - - * ace: Merged tli.h into OS.h to avoid name conflicts on Win32. - - * Fixed duplicated names where case is the only difference. - ace/thread.cpp - ace/Thread.cpp - ace/TLI.h - ace/tli.h - apps/Token_Server/mutex_example/simple_token_client.cpp - apps/Token_Server/mutex_example/Simple_Token_Client.cpp - apps/Token_Server/script_example/scripting_token_client.cpp - apps/Token_Server/script_example/Scripting_Token_Client.cpp - tests/IPC_SAP/SOCK_SAP/FD-client.cpp - tests/IPC_SAP/SOCK_SAP/fd-client.cpp - tests/IPC_SAP/SOCK_SAP/FD-server.cpp - tests/IPC_SAP/SOCK_SAP/fd-server.cpp - -Wed Dec 20 22:26:24 1995 Jesper S. M|ller (stophph@diku.dk) - - * FIFO.cpp: One last comparison of 'open' return status where and - ACE_INVALID_HANDLE should be changed to -1. - - * One more last wrong comparison in FIFO_Recv_Msg.cpp. - (Never say never again!) - - * Put an appropriate conditional around the inclusion of - Handle_Set.h for ACE_WIN32 (for now). - - * Introduced a few backslashes in the macros of Dump.h that were - somehow left out... Had to add a really stupid constructor for - struct Tuple. I haven't a clue why MSVC++ wants this! Replaced - 'return ACE_ODB;' with 'return ACE_ODB::instance_;' in the - Singleton access function. - - * Added a constructor for ACE_ODB. It may be private, but it still - needs to be defined... - - * Stack and Set compiles fine for Win32 (not surprisingly) - - * If'ed out the guts of ACE_IPC_SAP enable/disable calls for - Win32, since async IO doesn't work that way on there. - - * Event_Handler now uses ACE_INVALID_HANDLE for default args. - - * SOCK compiles except for the ACE_SOCKET <> ACE_HANDLE - problem. Refer to issue #3 above. - - * We're swamping the ace directory with .mak files. I used the - winntace.mak file, which is compilable and linkable. - -Thu Dec 21 15:37:42 1995 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * ace: Greatly simplified the include files so that (1) compilers - are faster and (2) the ACE_Trace mechanism works correctly. - - * ace/Trace: Modified the ACE_Trace_TSS class so that it is no - longer a template. This was overkill since we know the type - head of time (i.e., ACE_Trace_State). - - * ace: Added a number of new changes to ACE to make things work on - AIX. Thanks to Chris Lahey for these - changes. - - * ace/Thread_Manager.cpp: Removed the get_max_thr_id() method - since it was not portable to NT or POSIX pthreads. Nothing in - ACE depended on it anyway... - - * ace/OS: Added a new static data member called NULL_thread that - is a "zero'd" out thread id. This is necessary to deal with the - POSIX pthread implementation of a thread id, which is not always - implemented as a number... By using this new approach, all the - special-case code in Synch.cpp disappears... - - * ace/OS: Added a new method to class ACE_OS called thr_equal() - that masks the differences between comparing thread ids using - the threading libraries. This simplifies the code in Synch.cpp - and Reactor.cpp. - - * ace: Updated all uses of mmap() to use the new ACE_MMAP_TYPE - typedef. This deals with the fact that different versions of - UNIX define mmap() inconsistently (e.g., some use void * and - some use char *...). - - * ace: Removed testconfig.h and merged all of those #defines into - OS.h. This centralizes changes in one place and also eliminates - the need for ./apps and ./tests to include extraneous files... - - * ace/testconfig.h: Changed all uses of 0666 to ACE_DEFAULT_PERMS. - Also, removed all PERMS enums and substituted ACE_DEFAULT_PERMS - instead. - -Wed Dec 20 17:29:55 1995 Tim H. Harrison (harrison@merengue.cs.wustl.edu) - - * Rewrote the Token deadlock detection algorithm. It now performs - "best-effort" detection of deadlock for remote acquires and - complete deadlock detection for local acquires. - -Wed Dec 20 02:37:39 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.h: The select() system call has its own include file on - AIX: . We can wrap the #include with a variable - #if defined (ACE_HAS_SELECT_H). - - * include/makeinclude/platform_aix.GNU: Added new support for AIX. - Thanks to Chris Lahey for these changes. - Added a number of other minor changes, as well. - - * ace: Made a bunch of minor changes to get ACE to compile on - SunOS4.x, Linux, and SGI. - - * ace/config-linux.h: added ACE_HAS_MSG (thanks to Neil Cohen - for this). - - * ace/OS.h: Conditionally compile for ACE_HAS_UTIME for - . - - * Released an alpha version of ACE containing the new Windows NT - port. - - * Integrated and tested all the new Windows NT changes in class - ACE_OS, as well as the Synch* and Threads* classes. We're now - able to build Jesper's win32_test.cpp file in ./ace! A complete - NT port should be just around the corner... - -Tue Dec 19 17:59:04 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Move the remaining contents of sysincludes.h into ACE.h. - There is no more sysincludes.h (at long last!). - - * ace: Rearranged things so that the OS.[hi] files contain all the - OS-specific #defines and #includes that were previously in - sysincludes.h. - - * ace: Renamed the ACE_Misc class to class ACE, which is more - representative of what it does. - - * INSTALL: updated the installation instructions to explain how - the new directory structure works. Thanks to Neil Cohen for - pointing out the discrepancy beteen the source and the - documentation ;-). - - * Reorganized (by flattening) the ACE library directory structure - to make it work for both Windows NT and UNIX. Note that Windows - NT does not have symbolic links, so the old way of doing things - didn't port... The consequences of these changes is there is - now a single directory called $WRAPPER_ROOT/ace that contains - the *.[hi] and *.cpp source files. This is also where the - libACE.a and libACE.so libraries are built by default. Also, - note that the suffix used by ACE has been changed from *.C to - *.cpp to deal with the lame Visual C++ compiler... - -Tue Dec 19 01:26:54 1995 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * tests/ASX/Event_Server/Event_Server/Supplier_Router.cpp (put): - Fixed up a problem with the Event_Server. Somewhere along the - way it stopped being concurrent! The new version fixes this. - Thanks to Alex V Maclinvosky for - noticing this... - - * Added a billion new changes to class OS to integrate the Windows - NT port with the rest of ACE. We are getting very close... - -Mon Dec 18 12:45:13 1995 Jesper S. Møller (stophph@diku.dk) - - * Major problems in the IPC_SAP. First, I detected that some open - calls returned handles, some returned -1 or 0. For instance - ACE_SOCK has a constructor, that calls this->open and expects a - handle (which it even sets as the current handle - value!). Unfortunately, the return from open is either 0 or -1, - depending on how well the open went. ACE_HANDLE being - typedef'ed to a void* really reveals some problems! I have - solved the problem for the FIFO*.* family and for SOCK.* - -Mon Dec 18 12:43:46 1995 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * tests/Reactor/CODgram/CODgram.C (main): Fixed a bug in main() - caused by initializing the Reactor twice. Thanks to Aurelio - Nocerino for reporting - this. - - * libsrc/Service_Configurator/Service_Config.C Added a new - constructor to ACE_Service_Config that can be used to initialize - internal variables without performing a full configuration. - -Mon Dec 18 01:22:22 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Service_Config: renamed tokens.h to sc_tokens.h to avoid - file name collision on Win32. Thanks to Jesper S. M|ller - for reporting this. - - * tests/Mem_Map/IO_Test: renamed io_test.C to test_io.C to avoid - file name collision on Win32. Thanks to Jesper S. M|ller - for reporting this. - - * libsrc/Misc/OS: Implemented condition variables for Windows NT. - -Sun Dec 17 21:23:32 1995 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * libsrc/Misc/Trace: Fixed up the ACE_Trace class so that it - doesn't include any calls that will improperly trigger infinite - recursion! This allows the ACE library to be traced completely. - -Sat Dec 16 19:12:37 1995 Jesper S. Møller (stophph@diku.dk) - - * Changes to OS.*: - * Added conditionals to the OS.h for Win32, for the special ACE/Win32 - thr_destroy_tss(), which is automatic for Solaris. - * Changed declarations of thr_create, thr_suspend, thr_continue, - thr_join and thr_[gs]etprio to use hthread_t instead of thread_t. - * Changed return type of OS::open from int to ACE_HANDLE. - * Provided non-obtrusive handling of thr_handle in OS::thr_create - for non-Win32. - * Copied ACE::writev to OS::writev for Win32. Something similar - should happen for other systems... - - * Changes to Thread.*: - * Changed join, suspend and continue to take handles. - * Added thread handle return address to spawn. - - * Changes to Thread_Manager.*: - * Added thread handles to the Thread_Descriptor structure. - * Modified insert_thr and append_thr functions to also take - handles. - * Made ACE_Thread_Descriptor::Thread_State (a enum) public - so Thread_Manager::append_thr could use it as a formal - parameter (I suspect this is a bug in MSVC++). - * Changes the various flavours of suspend, continue, etc. to - use handles instead of id's. Keep in mind that none of this - is destructive for Unix, but vital for Win32. - * There is still a problem with ACE_Thread_Control registering - itself with the Thread_Manager - the thread does not have means - of finding it's own handle. In this particular case, we could - have the thread duplicate it's pseudohandle into a real one, - and pass that one along. I'd really, really, really rather not - have to maintain a thread id->handle mapping myself; It would - slow down thread manipulation and give some troublesome memory - overhead. - - * Changes to Log_Msg.*: - * OS::getpid instead of ::getpid. - - * Changes to Misc.*: - * Sections inappropriate for Win32 #if'd out... - * Provided naive timestamp function (No date) for Win32. - - * Changes to IPC_SAP.*: - * Uses OS::ioctl instead of ::ioctl - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - - * Changes to FIFO.*, : - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - - * Changes to FIFO_Send.*: - * open now returns an int insted of an ACE_HANDLE. - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - - * Changes to FIFO_Send_Msg.*: - * open now returns an int insted of an ACE_HANDLE. - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - * Uses OS::writev instead of ::writev - - * Changes to FIFO_Recv.*: - * open now returns an int insted of an ACE_HANDLE. - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - - * Changes to FIFO_Recv_Msg.*: - * open now returns an int insted of an ACE_HANDLE. - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - - * Changes to sysincludes.h: - * Uses ACE_INVALID_HANDLE instead of ACE::INVALID_HANDLE - -Sat Dec 16 12:29:06 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/INET_Addr.C: Changed the implementation so - that the reentrant versions of the library calls are always used - (class OS sorts this all out). This reduces the amount of - clutter in the code. - - * libsrc/Threads/Synch: Added a new implementation of - "readers/writer" locks for both Windows NT and POSIX pthreads. - By default, these threads packages don't have this feature. - - * libsrc/Threads/Synch: Added a new macro called - ACE_SYNCH_ERROR_RETURN that greatly simplifies the definition of - the synchronization wrappers. - - * include/ace/sysincludes.h: Removed the pthreads_map.h file and - integrated this into sysincludes.h. - -Fri Dec 15 02:39:25 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc/OS.i: Finished updating class OS so that it will - compile correctly for OS platforms that don't support threads, - as well as platforms that support POSIX Pthreads vs. Solaris - threads, etc. - - * libsrc/Misc/OS: integrated Jesper S. M|ller - support for POSIX regular expressions (e.g., compile() and - step()) and sysinfo() into ACE. - - * Integrated and tested all of Irfan's changes to ACE to support - the new persistence Name_Server. This added some new classes in - various places that use the ACE_Allocator. - -Thu Dec 14 00:23:43 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/ASX/Event_Server/Event_Server: Fixed an "off by 1" bug in - the declaration of char *argv[3] in the open() methods of - Supplier_Router.C and Consumer_Router.C. Thanks to the "ever - dissatisfied" Alex V Maclinvosky - for reporting this. - - * libsrc/Service_Configurator/Service_Config: Added a new - "Singleton" access point for the global ACE_Allocator. - - * libsrc/Naming/Name_Options.C (parse_args): Made it possible to - change the name of the process on the command line via the -P - option. The default is still to use argv[0] as the process - name. - - * include/ace/testconfig.h (ACE_DEFAULT_GLOBALNAME): Changed the - value from "/localnames" to "/globalnames" to avoid a conflict. - - * libsrc/Misc/SString.C: Added Irfan's new "persistent" string - mechanisms that use the ACE_Allocator_Manager. We may - eventually update the existing SS* stuff to use this. - - * Merged in Jesper S. M|ller updates for Windows - NT. - - * include/ace/Malloc.h: Added a forward declaration for - ACE_Malloc_Iterator right before ACE_Malloc. Thanks to Antonio - Tortorici for reporting it. - - * libsrc/Threads/Synch_T.h: Fixed a small typo in - ACE_Null_Condition. Thanks to Antonio Tortorici - for reporting it. - - * include: Added new config-linux.h and platform_macros.GNU config - files for Linux. Thanks to Timothy Newell - <910430n@dragon.acadiau.ca> for this stuff. - -Wed Dec 13 23:08:11 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/INET_Addr.C (set): Fixed a small typo in the - ACE_INET_Addr::set (const char port_name[], ACE_UINT32 - inet_address) method where the test should be != rather than == - 0. Thanks to Bill Lear (rael@anarchy.cybercom.net) for - reporting this. - -Sun Dec 10 12:23:54 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Service_Configurator/Service_Record.C (init): Fixed a - small problem where a NULL pointer was being returned if a user - passes a non-existent config file (using the -f option) to - ACE_Service_Config::open(). Thanks to Dieter Quehl - (quehl@erlh.siemens.de) for noticing this. - - * libsrc/Log_Msg/Log_Msg.C (log): added a new option (%T) that - causes the current timestamp to be inserted into the log msg. - Thanks to Dieter Quehl (quehl@erlh.siemens.de) for suggesting - this. - - * libsrc/Misc/Misc: Added a new timestamp() method that returns - the current timestamp in the form - "hour:minute:second:microsecond." The month, day, and year are - also stored in the beginning of the date_and_time array. - - * tests/Shared_Malloc: Added Irfan Pyarali new - test program that exercises the new features of ACE_Malloc that - are described in the following bullet. - - * libsrc/Shared_Malloc: Added Irfan Pyarali - cool new versions of ACE_Malloc and ACE_MMAP_Memory_Pool. These - new versions provide the following enhancements: - - 1. Persistence -- via the sync() method - 2. Protection -- via the prot() method - 3. Named malloc chunks -- via bind(), find(), unbind(). - 4. Named iteration -- via ACE_Malloc_Iterator - -Thu Dec 7 00:31:26 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Signal.C: Replaced ACE_Guard with ACE_TSS_Guard - to ensure that locks are correctly released even if - Event_Handler::handle_signal() callbacks invoke - ACE_Thread::exit(). Thanks to Detlef Becker - (beckerd@erlh.siemens.de) for suggesting this. - - * libsrc/Threads/Synch_T: Used inheritance to factor out the - shared code between ACE_Guard, ACE_Read_Guard, and - ACE_Write_Guard in order to reduce unnecessary duplication. - - * libsrc/Threads/Synch_T: Changed the implementation of ACE_Guard - to keep a pointer to the LOCK rather than a reference. This - makes the code more flexible and aids in factorization. - - * libsrc/Threads/Synch_T: Changed the implementation of ACE_Guard - to incorporate ACE_Try_Guard semantics. This reduces the amount - of classes and duplicate code in ACE. - -Wed Dec 6 21:36:02 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/ace/Trace: Changed the type of the string passed into - ACE_Trace from char * to const char *. - - * libsrc/Reactor/Reactor.C: Had forgotten to initialize the - initialized_ and requeue_position_ members appropriately in the - constructor of the ACE_Reactor if ACE_MT_SAFE is *disabled*. - Thanks to Mark Zusman for pointing - this out. - - * libsrc/Threads/Synch_T.C: changed the order of some methods so - they would be properly defined if ACE_HAS_THREADS and - ACE_HAS_THREAD_SPECIFIC are *not* enabled. This should fix - remaining problems with ACE on SunOS 4 and SGI. Thanks to - Aniruddha Gokhale for noticing this. - -Tue Dec 5 01:06:14 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Changed things around so that the Name_Server and Token_Server - client interfaces are include in libACE. - - * libsrc/Shared_Malloc: added a const char *pool_name to - ACE_Malloc::ACE_Malloc. This is passed into the constructor of - the MEMORY_POOL to make it easier to dynamically name memory - pools. - -Mon Dec 4 21:20:28 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch_T: Modified the place that the - ACE_Thread_Specific methods are defined so that they will be - compiled correctly for platforms without threads or - thread-specific storage. - -Sun Dec 3 23:04:41 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX/Message_Block: Modified clone() so that it takes an - extra parameter that specifies which flags SHOULD NOT BE - TRANSFERED to the clone. This defaults to - ACE_Message_Block::DONT_DELETE. Thanks to Alex V Maclinvosky - for suggesting this. - -Sun Dec 3 17:43:11 1995 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * The number of files in the Token library has been reduced. As a - result, many of the files have been renamed. Also, the .i files - have been purged of relatively large methods (these have been - moved to the .C files.) Lastly, most uses of dynamic memory - allocation have been removed from the library. This was - important to reduce the amount of serialization in threaded - applications caused by the dynamic allocation. - -Sun Dec 3 17:29:54 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch: Modified all the synchronization classes - so that they disallow assignment and initialization! - - * libsrc/Threads/Synch: Moved the ACE_Thread_Specific class from - its own files into the Threads/Synch.[Chi] files. This should - eliminate a set of horrible interdependencies among files. - -Sat Dec 2 16:07:40 1995 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * libsrc/Misc/SString.C (ACE_CString): Added a destructor to - CString. Thanks to Tim for noticing this... - -Tue Nov 28 17:25:02 1995 Prashant Jain (pjain@tango.cs.wustl.edu) - - * apps/Name_Server/client/lib/Name_Proxy: Changed Name_Proxy to - inherit from ACE_Service_Object rather than ACE_Event_Handler. - This will allow a Name_Proxy to be dynamically linked into an - application via the svc.conf file. - - * apps/Name_Server/client/lib/Name_Proxy: Added new methods - init, fini, and info. - -Tue Nov 28 00:56:52 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Threads/test_thread_specific.C: Added code to test the new - ACE_TSS_Guard class... - - * libsrc/Threads/Synch_T: Added the new ACE_TSS_Guard class. This - class is similar to the existing ACE_Guard, except that it uses - thread-specific storage to ensure locks are released even if a - thread exits via thr_exit()! - -Mon Nov 27 20:39:58 1995 Prashant Jain (pjain@tango.cs.wustl.edu) - - * apps/Name_Server/{client,server}/tests: Added new tests to - exercise the key features of the name server. - - * apps/Name_Server/client/lib: Simplified access to the nameserver - database. For example, all the network-byte ordering code was - moved out of the Local and Remote Name_Spaces. This code is no - longer necessary since we'll be providing a different means to - get portable name service repositories via a tool that extracts - the "key/value/type" tuples and stores them in a - machine-independent format. The result of this change is that - the Name_Server code is much easier to understand and modify. - - * apps/Name_Server/client/lib: Split local and remote name spaces - into two classes to simplify usage. This approach uses the - Bridge pattern to have a baseclass called Binding and then have - subclasses called Local_Name_Space and Remote_Name_Space. The - constructor of Naming_Context then allocates the right one - (i.e., it serves as a factory). This approach remove all the - switch statements in the code and makes it much easier to use - and extend. - - * apps/Name_Server: updated all the Name_Server components to - use ACE naming conventions. - - * apps/Name_Server/client/lib: Changed ACE_Name_Options to use the - Singleton pattern rather than the global variable... - -Mon Nov 27 00:47:32 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Shared_Malloc/Malloc.h: Named the previously anonymous - struct inside of ACE_Malloc_Header to be - ACE_Malloc_Control_Block in order to keep the OSE tools working. - Thanks to Karlheinz for reporting this. - - * libsrc/Threads/Synch: Fixed a major bug in the ACE_Semaphore - wrappers. Apparently, these had slipped between the cracks and - were not correctly mapping onto the ACE return value scheme - where -1 corresponds to an error with errno set to indicate the - type of error. - - * tests: Cleaned up some files that mistakenly were defining - LSOCK* objects even for platforms (i.e., Linux) that don't - support them. Thanks to Timothy Newell - <910430n@dragon.acadiau.ca> for noticing this. - -Sun Nov 26 12:42:51 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Shared_Malloc/Malloc: Added a new accessor method - (memory_pool) that returns a reference to the MEMORY_POOL object - used to configure ACE_Malloc. - - * libsrc/Shared_Malloc/Malloc: Changed the constructor of - ACE_Malloc to take advantage of the new init_release method on - all the ACE_*_Memory_Pools. - - * libsrc/Shared_Malloc/Memory_Pool: Added a new method to all the - ACE_*_Memory_Pool classes called "init_release". This is called - when ACE_Malloc finishes initializing the dynamic memory - manager. This method is necessary in order to initialize the - ACE_MMAP_Memory_Pool correctly if there are multiple processes - that try to initialize ACE_Malloc simultaneously. In addition, - also added an ACE_SV_Semaphore_Complex to the - ACE_MMAP_Memory_Pool in order to serialize initialization - correctly. - - * libsrc/Shared_Malloc/Memory_Pool: Added sync() and protect() - methods to all of the ACE_*_Memory_Pool classes in order to - support a uniform interface for use with the "robust memory" - mechanism we're building. - - * libsrc/Mem_Map/Mem_Map: Added two new "protect" methods to - ACE_Map_Manager in order to allow clients to change the - protection of memory-mapped regions. - - * libsrc/ASX/Map_Manager: Changed Map_Manager methods to use - "const" for EXT_ID and INT_ID at request of Prashant Jain - (pjain@cs.wustl.edu). - - * libsrc/Shared_Malloc/Memory_Pool: Revised the - ACE_Shared_Memory_Pool so that it would actually work - correctly... This code hadn't been reviewed carefully before - and there were some bugs... - - * libsrc/Shared_Malloc/Malloc: added "INLINE" to the - ACE_Allocator_Adapter components. - - * libsrc/Shared_Malloc/Memory_Pool: Greatly simplified and - consolidated the mmap(2) code for ACE_MMAP_Memory_Pool. - - * libsrc/Shared_Malloc/Memory_Pool.i (release): Removed the - vestigal this->mmap_.remove() call in release(), but added the - appropriate code to close the fd and unmap the region. Thanks - to Irfan Pyarali for noticing this. - -Sat Nov 25 18:12:55 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/CORBA/CORBA_Handler.C (activate_service): - Modified activate_service so that - - if (service_name != 0 - && this->register_service (service_name, marker_name, - service_location) == -1) - return -1; - - is changed to - - if (service_name != 0 && service_location != 0 - && this->register_service (service_name, marker_name, - service_location) == -1) - return -1; - - Irfan Pyarali requested this. - -Sat Nov 25 16:41:15 1995 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * libsrc/Misc/Set: Changed all the find() and size() methods to - be const member functions. Thanks to Irfan Pyarali - (ip1@cec.wustl.edu) for requesting this. - -Fri Nov 24 02:51:59 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C: Fixed the Reactor so that if we're - compiling with DEADLOCK_DETECTION enabled it will create a - uniquely named mutex by stringifying "this". - -Thu Nov 23 21:45:43 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP: Changed - - * libsrc/Service_Configurator/Service_Config: Added three new - methods to allow programmers to set the process-wide Singletons - for Reactor, Service_Repository, and Thread_Manager. - -Tue Nov 21 01:59:06 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Mem_Map/Mem_Map.C: Fixed a stupid typo in map_it() that - was causing problems due to unsigned arithmetic semantics... - This should make the file_reverse.C Mem_Map tests work correctly - now... Thanks to Bill Lear for - noticing the problem. - - * tests/Mem_Map/IO-tests/io_test.C (parse_args): Fixed a - classic C/C++ braino in io_test.C: - - The for loop in parse_args() - - for (int c; (c = get_opt () != -1); ) - - should be - - for (int c; ((c = get_opt ()) != -1); ) - - How embarrassing. Maybe Bertrand Meyer is right -- C++ is too - dangerous for its own good... ;-). Thanks to Bill Lear - for finding this! - - * Removed all traces of ACE_Condition from the library. - This should make life much easier for compilers (like G++) that - can't grok templates very well... - - * libsrc/Threads/Thread_Specific.C (ts_object): Added a new method - that allows you to simultaneously "test and set" thread-specific - data! This is used to support a neat new trick that ensures - locks are released even if a thr_exit() is called! - - * libsrc/Service_Configurator/Service_Repository: Removed the - Recursive_Mutex from Service_Repository and replaced it with a - regular (non-recursive) mutex. Had to rewrite the code a bit so - that it wouldn't try to call internal methods that acquired the - mutex (this leads to instant deadlock!) - -Mon Nov 20 01:05:47 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch: Finally gave in and accepted the fact that - GNU G++ is a horrible, horrible blight on mankind... Changed - the internals of Synch.[Chi] to completely remove any - dependencies on templates. I hope this fixes some portability - problems deep in the libraries... Added several new classes to - reflect this change: ACE_Mutex_Guard, ACE_Mutex_Condition, and - ACE_Recursive_Mutex. - - * libsrc/IPC_SAP/UPIPE_SAP/UPIPE_Acceptor.C (ACE_UPIPE_Acceptor): - Fixed a stupid typo that was causing the constructor of - UPIPE_Acceptor to become inlined!!! - - * apps/Gateway/Gateway: Fixed up the Makefile so that the gatewayd - executable would compile with G++. - - * include/ace/config-irix5.3-sgic++.h: Changed the SGI config.h - file so that it uses select() rather than poll() by default. - The select() version of the Reactor is implemented more - efficiently in ACE... - - * include: Added config files for AIX courtesy of Byron Walton - . - - * libsrc/Reactor/Signal.C: #ifdef'd out some code in Signal.[hC] - that was causing problems for the HPUX C++ compiler. What a - *horrible* compiler! - - * libsrc/Reactor/Event_Handler.h: Added two new methods to - ACE_Event_Handler: get_priority() and set_priority(). These - will be used to control the behavior of the ACE_Reactor's - dispatching. This also required added a new data member to - ACE_Event_Handler that stores the priority (which defaults to - MIN_PRIORITY). - - * libsrc/Misc/Stack.C (enqueue): Added a new class called - ACE_Unbounded_Queue. This is required for Tim's Token_Server - connection repository stuff... - - * libsrc/CORBA/CORBA_Handler.C: Added new support to both the - single-threaded and multi-threaded versions of CORBA_Handler so - that it will now suspend/resume the services associated with a - CORBA_Handler. - - * libsrc/CORBA/CORBA_Handler.C (ACE_MT_CORBA_Handler): Updated the - constructor to use the associated Thread_Manager to spawn a new - thread. This will allow the suspend() and resume() methods to - atomically resume and suspend the daemon thread and its event - handler. - - * libsrc/Threads/Synch.h: Fixed up the order of #includes to solve - problems with circular header dependencies! - - * Had to add zillions of little changes to avoid problems with - circular includes for G++... - - * tests/ASX/Event_Server/Event_Server/Peer_Router.C (bind_peer): - Fixed a typo that had been dormant for ages due to C++'s very - late binding of templates... G++ picked this right up! - -Sun Nov 19 11:55:02 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Signal: Replaced the static HANDLER_SET stuff - withing ACE_Sig_Handlers with a different implementation using - ACE_Fixed_Set. This should fix nasty problems with static - variables on HP/UX... - - * Fixed the entire library so that all occurrences of ace_log_msg - are changed to use the ACE_LOG_MSG macro. This macro has magic - properties that should greatly simplify the effort required to - compile ACE robustly on platforms with lame C++ compilers... - - * libsrc/Log_Msg/Log_Msg: Finally got my act together with respect - to thread-specific data and the ACE_Log_Msg class. The new - version can be conditionally compiled such that it won't use the - ACE_Thread_Specific smart-pointer wrapper mechanism unless the - platform supports thread-specific storage and threads. This - will make life much easier for lame C++ compilers that can't - handle static data member templates correctly... - - * apps/Name_Server/{client,server}/lib/Makefile (LIBS): Added a - reference to -lACE in the Makefiles of the ./lib directories in - order to get GCC to work correctly... - - * Added a bunch of fixes courtesy of Bill Lear - to make ACE compile more cleanly - with GNU GCC 2.7.x. - -Sat Nov 18 11:27:40 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc/Trace.C: Fixed up the ACE_Trace class so that it - will compile better on platforms that don't support - thread-specific storage. The trick was to make a new Singleton - called ACE_Nest_Depth and then conditionally compile it - according to whether the platform supports thread-specific data - or not! - - * include/makeinclude/platform_sunos5_g++.GNU: Added the new - config file that should allow ACE to build correctly with GCC - 2.7.x. Todd L. Montgomery deserves a big - round of applause for getting this stuff to work! If I had a - budget, I'd give him a raise ;-) - - * libsrc/Misc/Set.C (remove): Tightened up the semantics of all - the *Set::remove() methods so that they return 1 if they - succeed, 0 if the item isn't in the set, and -1 if they fail. - Thanks to Tim Harrison for noticing the inconsistencies. - -Fri Nov 17 01:34:51 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Logger/Reactor_Logger: Fixed up this example app so that it - would compile with GNU G++ correctly. There was a problem with - the order of include files! Thanks to Todd L. Montgomery - for reporting this. - - * libsrc/ASX/Module.C (writer): Fixed ACE_READER so that it is - properly qualified with ACE_Task_Flags::ACE_READER. Thanks to - Neil Cohen (nbc@metsci.com) for finding this! - - * apps/Gateway/Gateway/Routing_Entry: Replaced ACE_Fixed_Set with - ACE_Unbounded_Set to get around the seemingly endless problems - with HP/UX... - - * libsrc/Misc/Set: Fixed a braino in ACE_Unbounded_Set, where I'd - forgotten to define cur_size_. Thanks to Todd L. Montgomery - for reporting this. - - * libsrc/Connection/Acceptor.C: Change the #undefs of the - shorthand names PA_AC_1, PA_AC_2, and PA_AD in - libsrc/Connection/Acceptor.C to PR_AC_1, PR_AC_2, and PR_AD - (same as in Connector.C and Strategies.C). Thanks to - Dieter Quehl for reporting this. - -Thu Nov 16 02:14:22 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc/Trace: Fixed the ACE_Trace stuff by making the - "nesting_indent_" a static data member. This will undoubtedly - break some lame C++ compilers, but it's easy enough to remove - this stuff via conditional compilation using the ACE_NTRACE - #define in ./include/ace/config.h. - - * libsrc/Threads/Thread_Specific.C (cleanup): Under no - circumstances should ACE_Thread_Specific be allowed to - called ACE_Trace. Otherwise, chaos will result! - - * apps/Name_Server/{client,server}/tests/Makefile: Switched the - order of the -lACE and -lName* so that -lACE came *afterwards* - in order for the SGI linker to pick up the symbols correctly. - - * libsrc/Reactor/Signal: I'd accidentally put the "dump" methods - in the *.i file rather than the *.C file. This was causing - problems for G++. - - * libsrc/ASX/Task: Changed all "Q_" prefixes to "ACE_" prefixes in - order to work around a bug with HP/UX... - - * Recompiled everything on SunOS 4.x with SunC++ 4.0.1. It seems - to work! - -Thu Nov 16 18:05:03 1995 Tim H. Harrison (harrison@tango.cs.wustl.edu) - - * I moved around some class declarations so that g++ can properly - instantiate templates for ACE_Token_Collection and - ACE_Token_Manager. - -Wed Nov 15 00:26:40 1995 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * The token library should now compile on platforms which do not - support threads. All token components will be compiled into the - library, but use null mutexes and condition variables. The - remote mutex library shall run properly on single-threaded - platforms, so it compiles as usual. - -Wed Nov 15 01:05:38 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Fixed a bunch of minor problems with the SGI port. Things - should work now on IRIX 5.3! - - * man/man3: Completely regenerated all the manual pages to - reflect all the recent updates. - - * libsrc: Added ACE_TRACE macros to every single method in ACE! - This will help with debugging... - -Wed Nov 15 00:26:40 1995 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * The token library should now compile on platforms which do not - support threads. All token components will be compiled into the - library, but use null mutexes and condition variables. The - remote mutex library shall run properly on single-threaded - platforms, so it compiles as usual. - -Tue Nov 14 01:58:47 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/CORBA: Added a new test to illustrate the - ACE_MT_CORBA_Handler. - - * libsrc/ASX/Task.C (ACE_Task_Exit): Fixed a niggling problem with - ACE_Task_Exit. Originally, if a thread exited via an implicit - ACE_Thread::exit() (i.e., "falling off the end of the - ACE_Task::svc_run function) then the ACE_Thread_Control on the - thread stack would automatically unregister the thread from the - ACE_Thread_Manager. However, this did *not* occur if a thread - explicitly called ACE_Thread::exit() since in that case the - destructor for ACE_Thread_Control never got called. The - solution to this is a trivial change to ACE_Task_Exit, which now - maintains an instance of ACE_Thread_Control internally, which - will automatically be released when the thread-specific - thread-exit-hook destructor gets called to cleanup upon thread - exit. Since this happens regardless of whether the thread - terminates implicitly or explicitly the ACE_Thread_Manager will - always be able to clean up it's internal resources (unless the - process exit()s, which is a whole different issue... ;-)). - - * Changed all occurrences of ACE_CORBA_Handler to - ACE_ST_CORBA_Handler. Now we've got two types of - CORBA_Handlers: single-threaded (ST) and multi-threaded (MT). - Take a look at ./apps/Orbix-examples/Event_Comm/{Supplier,Consumer} - for an example of how to leverage this in a portable manner! - - * libsrc/CORBA/CORBA_Handler: Totally redesigned the ACE - CORBA_Handler stuff so that it now uses the Singleton pattern - explicitly, rather than using the half-baked static method - version... Changed the test code to reflect this update! - - * libsrc/CORBA/CORBA_Handler.C (activate_service): Changed the - check so that if == 0 then we don't try to do a - putit (previously, this check used , which is less - useful...). - - * libsrc/CORBA/CORBA_Handler.C (activate_service): Removed the - flag from the constructor so that we can - make the CORBA_Handler and the MT_CORBA_Handler equivalent. - - * include/ace/sysincludes.h: Added a new macro called - ACE_THREAD_EXIT_HOOK that enables application threads - (including the main thread) to register a Task * who's - close method will automatically be called when the thread - exits, either implicitly (by falling off the end) or explicitly - (by a thread calling ACE_Thread::exit ()). - - * libsrc/ASX/Task: Moved ACE_Task_Exit into the interface part of - ACE_Task so that Irfan can maybe use this in his stuff ;-). - - * libsrc/Misc: Incorporated the ACE_Date_Time class into the - release. This is an *interface* for a system independent - representation of date and time. Implementation will follow... - - * libsrc/CORBA: Added a new MT_CORBA_Handler, which makes it - very straightforward to integrate the ACE_Reactor with - multi-threaded (MT) Orbix. - - * libsrc/Threads/Token.C: Yow, fixed a dumb problem in Tokens.C - where I was failing to include the *.i file if we weren't - compiling with inlining on!!!! - -Mon Nov 13 01:13:37 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX/Message_Block: Added several new methods to - Message_Block to allow users to access and set various flags. - Thanks to Alex V Maclinvosky for - suggesting this and providing a prototype implementation. - - * include/ace/sysincludes.h: Added a new macro called ACE_NDEBUG - that can be used to toggle support for "live object dumping". - If this macro is enabled then - - * libsrc/Misc/Dump.h: Added support for "live object dumping" into - ACE. This technique is implemented with the "External - Polymorphism" pattern described in a paper available at - http://www.cs.wustl.edu/~schmidt/EuroPLoP-96.ps.Z. - - * libsrc/Threads: Added new classes called *_Process_* and - *_Thread_* for ACE_RW_Mutex, ACE_Barrier, ACE_Condition, and - ACE_Semphaore. This will allow programmers explicitly state the - scope of their locks more explicitly and will also facilitate - portability to Windows NT... - - * libsrc/Threads: Updated the constructors of all the Synch and - Synch_T classes to take an option const char * called "name." - At the moment, this doesn't do anything, but when we port to - Window NT it will be used to ensure that we can name our - process-global synchronization objects. - - * libsrc/Threads/Synch: Added a new tryacquire method to - ACE_RW_Mutex to be consistent with acquire and release... - - * libsrc/Threads/Synch.C (ACE_Mutex): Added a new "name" parameter - to an ACE_Mutex in order to support process-semantics on NT... - - * include/ace/sysincludes.h: Added a #define for EDEADLK in case - some systems don't support it (this is needed by the new - ACE_*_Token stuff). - -Sun Nov 12 14:17:01 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Name_Server: Modified the client and server test programs - so that they can both be linked statically and/or dynamically. - If svc.conf is present then dynamic linking is used, otherwise - static linking is used. This makes it much easier to test!!! - - * apps/Name_Server/client/lib/Naming_Context.C (local): Changed - things a bit so that if our server host name is "localhost" then - we assume we are local no matter what... - - * apps/Name_Server: Moved directories around a bit so that all the - tests and libs for the client/server portions of the - ACE_Name_Server build correctly... - - * apps/Name_Server/server: Replaced the ad hoc Name_Acceptor and - Name_Handler to use the official ACE_Acceptor and - ACE_Svc_Handler... This cleans up the code considerably... - - * libsrc/Threads/Synch: Added a new wrapper for the the UNIX file - locking mechanism called ACE_File_Lock. This has the same - interface as the other locking mechanisms (e.g., ACE_Mutex and - ACE_Semaphore). Therefore, it can be used in the ACE_Guard - class! - -Sat Nov 11 13:53:48 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Shared_Malloc/Memory_Pool: Improved MMAP_Memory_Pool so - that it will be smarter about remapping the file if we aren't - trying to force a fixed addr to be used for the mapping. In - particular, if we *aren't* forcing a particular address, the new - solution will be more flexible and allow the OS to determine - where to remap the memory should we need to grow the backing - store and the mapping range... - - * libsrc/Misc/Set: Implemented a simple version of the - Unbounded_Set class and its iterator. - - * libsrc/Misc/SString: Changed all the implementations of methods - in SString classes to use new/delete rather than - strdup()/free(). - - * apps/Name_Server/client/Name_Proxy: Changed rcv_reply() to - recv_reply(). - - * apps/Name_Server/client/Name_Proxy: Modified ACE_Name_Proxy so - that the constructor and open take an ACE_Synch_Options. - - * apps/Name_Server/client/Name_Options.C (ACE_Name_Options): Added - a default for the Name_Space directory called - (ACE_DEFAULT_NAMESPACE_DIR) to the testconfig.h file... - -Sat Nov 11 00:24:37 1995 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * tests/Tokens/test_token_manager/test_token_manager.C: The token - manager has a working deadlock detection algorithm. - ACE_Local_Mutex uses this to report deadlock situations. - Changes were made to ACE_Local_Mutex to fix a couple bugs which - were causing deadlock. Also, a new test application has been - added to test deadlock detection using the local mutex. - -Fri Nov 10 17:16:06 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Mem_Map/Mem_Map.h: Changed the type of from - long to size_t. - - * tests/Threads/test_thread_manager.C (main): Added a main() for - the case when there's - - * tests/ASX/UPIPE_Event_Server/event_server.C (main): Fixed a - typo that was causing problems on SunOS 4.x. - - * tests/Service_Configurator/IPC-tests/client/local_spipe_client_test.C: - added #include "ace/Log_Msg.h" (why was this working?!). - - * include/makeinclude/rules.lib.GNU: Changed the order of operations - in rules.lib.GNU from - - $(AR) $(ARFLAGS) $@ $? - -$(RANLIB) $@ - -chmod a+r $@ - - to - - $(AR) $(ARFLAGS) $@ $? - -chmod a+r $@ - -$(RANLIB) $@ - - to keep ranlib happy on SunOS 4.x. - - * apps/Time_Server: Added a Makefile - - * include/ace/sysincludes.h: Removed the include - since it was causing major problems on SunOS 4.x... - - * apps/Name_Server/Naming_Context.C: Fixed up a couple of problems - with casts. Thanks to Jack Erickson for - pointing this out. - -Thu Nov 9 15:49:40 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch_T: moved Atomic_Op from ./Misc to ./Threads - and merged it into the Synch_T files. This makes more sense as - a place to put it... - - * libsrc/Misc/SString.C (operator +=): Fixed a typo that would - have caused mistakes when memcpy() was used. Thanks to Prashant - Jain for noticing this. - -Wed Nov 8 22:36:51 1995 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C (TOKEN_GUARD): The reactor now uses the - TOKEN_GUARD macro. The Reactor can now be conditionally - compiled with ACE_REACTOR_HAS_DEADLOCK_DETECTION to use the new - ACE_Local_Mutex in conjunction with the ACE_Token_Manager to - detect deadlock. The deadlock detection algorithm has not yet - been implemented, but the hooks are now in place. - - * libsrc/Tokens: This subdir includes ACE's new Token library. - Check out libsrc/Tokens/README for more info. - - * tests/Tokens: There are a couple test applications for the new - Token library. See tests/Tokens/README for more info. - - * apps/Token_Server: This directory contains some new client - interfaces to the old ACE TokenServer, now Token_Server. There - are also some example use cases included in this directory. As - always, see apps/Token_Server/README for more info. - -Wed Nov 8 00:14:55 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/IO_SAP: Added the new classes for IO_SAP from - Gerhard Lenzer (lenzer@csaserv.erlh.siemens.de). This - eliminates UNIX I/O-specific features from ACE. - - * libsrc/Misc/Set: Added a new find() method to each of the - ACE_*_Set classes... - - * include/ace/sysincludes.h (ACE_ALLOC_HOOK_DECLARE): Changed - enum __Ace { __ACE } to struct __ACE {}. I think this - will cause less problems with M.I... - - * libsrc/ASX/Message_Block: Added a new "allocator" parameter to a - Message_Block. This allows the memory stored by a Message_Block - to come from someplace besides the normal heap (e.g., a shared - memory segment!). - - * libsrc/ASX/Message_Block.C (ACE_Message_Block): Yow, fixed a bug - in the destructor where ACE_BIT_ENABLED was being used in place - of ACE_BIT_DISABLED! I think this was causing a memory leak... - - * libsrc/Reactor/Reactor: added a pair of methods that allow a - thread to set/get the notion of who "owns" the event loop. Only - the owner of the loop can do a handle_events() call. Also - changed things so that the requeue_position() are available for - both threaded and non-threaded implementations (just to have a - uniform interface...). - - * libsrc/ASX/Message_Block: added a new constructor and a new - init() method that just assume ownership of a char * passed - as the parameter. Note that this does *not* set any other - fields in the Message_Block and is only used to ferry around - totally opaque data in the Message Block! - -Tue Nov 7 00:52:15 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Log_Msg/test_log_msg.C (main): Added some new tests to - make sure that op_status() and errnum() work on ace_log_msg. - Thanks to Tim Harrison for these tests. - -Mon Nov 6 12:55:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Specific: Changed a couple of places in - the Thread_Specific code so that key_ is initialized to 0 and - the ts_obj * is initialized to 0. If these *aren't* 0 then - weird bugs happen on Solaris... Thanks to Tim Harrison for - noticing this and suggesting the fix! - - * libsrc/Threads/Synch_T: Added an accessor method to obtain - the underlying mutex within ACE_Condition. - - * libsrc/Threads/Synch.C (ACE_Process_Mutex): Added a dummy - argument of type const char * to ACE_Process_Mutex. This is in - anticipation of the info required in Windows NT to support a - named process-wide Mutex. On UNIX, this argument is ignored... - -Fri Nov 3 19:02:54 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SOCK_SAP: Back from C++ World... Fixed a couple - of typos in SOCK_Dgram_Bcast and SOCK_CODgram that included the - *.i files multiple times... Thanks to Alex V Maclinvosky - for reporting this. - -Tue Oct 31 02:12:13 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor: Modifed the MT_SAFE Reactor so that the - its open() method keeps track of which thread originally created - it. This thread is then considered the "owner" of the Reactor. - If a different thread tries to run the handle_events() method - then an error is returned. - - * libsrc/ASX/Task.C: Added a "group id" field to the ACE_Task. - This can be used to suspend and resume a group of tasks - atomically. Also added default suspend() and resume() methods - that do just that! - - * libsrc/Reactor/Reactor: Made the open() method - thread-safe. Thanks to Detlef Becker (beckerd@erlh.siemens.de) - for pointing out the need for this. - -Mon Oct 30 00:02:53 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Shared_Malloc/Memory_Pool.C (ACE_MMAP_Memory_Pool): - Made it possible to configure the ACE_MMAP_Memory_Pool with a - (backing_store_) file name so that it is possible for multiple - processes to share one wellknown file, as well as to have - multiple pools per process. Check out the - ./tests/Shared_Malloc/test_malloc.C file for an example of how - this works (try the -p -e -L10000 -t3 options). - - * libsrc/Reactor/Reactor: Moved handler_i into the *.C file to - avoid problems with inline functions on HP/UX. - - * libsrc/Misc/SString: Added a new class called ACE_CString. This - class is similar to ACE_WString (which has "wide character" - size), though CString has regular "char" size. Note that both - of these classes are "true" string classes, unlike ACE_SString, - which is a very simple string class that is only to be used for - very specific purposes... - - * libsrc/Shared_Malloc/Memory_Pool.C (acquire): Fixed an - "off-by-one" error in ACE_MMAP_Memory_Pool::acquire() that was - causing an extra byte to be written to the backing store file... - This was causing the ./tests/Shared_Malloc/test_malloc.C program - to fail when -p was given. After this fix the test works - again... (thank God!). - -Sun Oct 29 22:43:25 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Shared_Malloc/Malloc: Added two new classes: - ACE_Allocator and ACE_Allocator_Adapter. ACE_Allocator uses - inheritance and dynamic binding to provide extensible mechanisms - for allocating and deallocating memory. ACE_Allocator_Adapter - implements the Adapter pattern to enable ACE_Allocator to be - used with instantiations of the ACE_Malloc<> template class. - -Sat Oct 28 13:51:07 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/ASX/Event_Server: Added a new directory called - UPIPE_Event_Server, which tests a version of the Event_Server - that is instantiated with ACE_UPIPE_* IPC mechanisms, - rather than by the ACE_SOCK_* mechanisms. - - * libsrc/IPC_SAP/Addr: Created a new file called UPIPE_Addr.h. - This file contains a typedef of ACE_SPIPE_Addr to - ACE_UPIPE_Addr. The purpose of doing this is to "logically" - decouple the ACE_UPIPE* classes from the ACE_SPIPE* classes - (even though they share the same *physical* representation at - this point...). - - * libsrc/IPC_SAP: Fixed a small bug in TLI_Connector.connect() and - SOCK_Connector.connect() that failed to set the - new_stream::handle_ to ACE::INVALID_HANDLE when the connection - failed. Thanks to the ever-astute Mark Patton - (mark_patton@tx72.mot.com) for noticing this. - -Thu Oct 26 15:08:22 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Threads: created a new test program called - test_thread_manager.C that tests the new semantics for managing - groups of threads. - - * libsrc/Reactor/Signal.C (ACE_Sig_Action): Added a new method - that allows me to create a Sig_Action object that contains both - the handler and the signal to register for. This handler is - register to handle the signal in the constructor of the - object... - - * libsrc/Threads/Thread_Manager: enhanced the Thread_Manager to - add support for operations (i.e., suspend, resume, kill) on a - group of threads. - - * libsrc/Threads/Thread_Manager: Added a new method that allows - the Thread_Manager to resize itself automatically when it's - internal table gets full. - - * libsrc/Threads/Thread_Manager: Updated the return value of - Thread_Manager::spawn() and Thread_Manager::spawn_n() so that - they return -1 on failure *and the group id* on success. - Originally, they returned 0 on success, but this new return - value is more useful since it can be used to control groups of - threads atomically. - -Wed Oct 25 01:03:32 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Name_Server: Began integrating the newly donated name - server into ACE. There are a number of dependencies on - RogueWave that must be removed, but things are looking good so - far. - - * libsrc/Misc/Set: Changed the name of ACE_Unordered_Set to - ACE_Fixed_Set to be consistent with the ACE Stack classes... - - * libsrc/Misc/Set: Added new ACE classes called ACE_Unbounded_Set, - ACE_Bounded_Set, ACE_Unbounded_Set_Iterator, and - ACE_Bounded_Set_Iterator to deal with ACE name service - stuff. - - * libsrc/Misc/SString: Added a new class called ACE_WString that - gives a very simple "wide-character" string representation for - ACE. This is needed for the ACE name service stuff. - - * libsrc/Misc/SString.C (operator =): Fixed this so that ::strdup - is matched up with ::free, rather than with delete... - - * libsrc/Log_Msg/Log_Msg.C (log): Updated the ACE_Log_Msg class to - store an ostream * in thread-specific storage. This can be used - in conjunction with the dump() method on each ACE class, as well - as with the ACE_ERROR and ACE_DEBUG logging macros. - -Tue Oct 24 00:19:13 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added a definition of the dump() method to every class in ACE in - anticipation of the changes requested for Siemens. - - * Changed all occurrences of ACE_Signal_* to ACE_Sig_* to make the - ACE naming of signal handling wrappers consistent. - - * libsrc/Threads/Thread: Fixed some obscure bugs with the way that - ACE_Thread was compiling on platforms that don't support - threads. - - * include/ace/config-irix*.h: Removed all TLI support from the SGI - platform. It seems to be totally screwed up from the tests that - I've run and there's no sense in bending over backwards to - support an IPC API that is brain-damaged to begin with... - - * apps/Logger/Service_Configurator_Logger/Thr_Server_Logger: Fixed - up the code so that the Thr_Logging_Server stuff will compile - correctly even for platforms that lack threads! - - * libsrc/Connection/Strategies: Added new strategies that provide - Singleton creation and Process concurrency policies. - - * libsrc/Connection/Connector.C (handle_close): Make sure that all - pending timer objects are removed from the Reactor's timer queue - when a Connector shuts down. In addition, make sure to remove - and delete all dynamically allocated ASTs, as well. Thanks to - Karl-Heinz Dorn (kdorn@erlh.siemens.de) for suggesting this. - - * libsrc/Threads/Thread_Manager.C (wait): Modified wait() so that - it now takes an ACE_Time_Value *, which can be used to wait - until all threads terminate or a timeout occurs... - - * libsrc/Threads/Thread_Manager: Moved Thr_Descriptor from within - the ACE_Thread_Manager class to become ACE_Thr_Descriptor at - file scope. This is in anticipation of the cool new thread - manager stuff on the way... - - * libsrc: Updated every class in ACE to include a "dump" method - with the signature "void dump (void);" This method soon will be - tied into the ACE_Dump mechanism to allow all live objects in - ACE to have their state dumped automagically on-demand. This is - useful for debugging and tracing etc. - - * libsrc: Updated every class in ACE to include a "Alloc hook." - This hook will enable all ACE classes to be allocated from a - particular memory pool. - - * include/makeinclude/rules.local.GNU: fixed the clean target to - delete the *.rpo files (else gcc -frepo can get some crazy - errors) and combines all rm-commands for the target realclean - into one command (in some cases the last two lines do not have - any files to delete, in which case rm produces an usage - message). Thanks to John Huchinson (hutchiso@epi.syr.ge.com) - for the patch. - - * libsrc/IPC_SAP/Addr/INET_Addr: Fixed all the uses of gethost* - and getserv* to use the reentrant get*_r functions if - ACE_HAS_REENTRANT_FUNCTIONS is set and ACE_MT_SAFE is set. - Thanks to Bill Tang for suggesting this. - - * libsrc/Misc/OS: Started adding support for the POSIX *_r - functions to the OS class. - - * include/ace: Added a new #define called - ACE_HAS_REENTRANT_FUNCTIONS. This indicates that the platform - supports reentrant functions (i.e., all the POSIX *_r functions - like gethostbyname_r). - -Mon Oct 23 21:15:50 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/makeinclude/platform_irix5.3.GNU (LIBS): Removed the - link of the nsl lib since it seems not to be present on this - platform. Thanks to Karel Zuiderveld - for noticing this. - - * libsrc/IPC_SAP/Addr/INET_Addr.i (operator ==): Enhanced the - semantics of comparison to check both the port number and IP - address. Thanks to Mark Patton (mark_patton@tx72.mot.com) for - suggesting this. - -Thu Oct 19 00:10:28 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/INET_Addr.C (set): Fixed a stupid bug that - failed to set errno appropriately if things go wrong with this - method. Thanks to Mark Patton (mark_patton@tx72.mot.com) for - noticing this! - -Sat Oct 14 12:07:16 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Manager: Modified the Thread_Manager so - that even in the case where we are compiling for non-MT systems - the Thread_Manager still has the same method interface (all of - which are no-ops). - -Wed Oct 11 00:12:57 1995 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * Finished commenting all the classes in ACE. Updated all manual - pages accordingly. - -Fri Oct 6 14:17:17 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/ASX/Event_Server/Event_Server: Changed - - ACE_SOCK_Acceptor &sa = (ACE_SOCK_Acceptor &) *this->acceptor_; - - to - - ACE_SOCK_Acceptor &sa = this->acceptor_->acceptor(); - - Thanks to Dieter Quehl (quehl@erlh.siemens.de) for suggesting - this. - -Thu Oct 5 00:22:56 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX/Map_Manager: Added a new find() method to the - Map_Manager. This method only checks for the existence of an - EXTERNAL_ID, and doesn't return the INTERNAL_ID. - - * Introduced the new "trait"-based *_Connector, *_Acceptor, and - *_Stream interfaces for all the IPC_SAP classes. Basically, for - each class like - {SOCK,TLI,SPIPE,etc,}_{Acceptor,Connector,Stream}, there's now a - typedef for the appropriate type of ACE_*_Addr subclass and the - appropriate type of ACE_*_Stream class. For example, here's - what's in ACE_SOCK_Acceptor (same goes for ACE_SOCK_Connector): - - class ACE_SOCK_Acceptor - { - public: - // ... - - // = Traits. - typedef ACE_INET_Addr PEER_ADDR; - typedef ACE_SOCK_Stream PEER_STREAM; - }; - - Once C++ compilers can grok template typedefs correct, this new - approach will allow much greater simplification of code, so that - template classes like - - template - class ACE_Acceptor { /* ... */ - virtual int open (const PEER_ADDR &); - }; - - that are currently used like this: - - ACE_Acceptor acc; - - can be replaced with - - template - class ACE_Acceptor { /* ... */ - virtual int open (const PEER_ACCEPTOR::PEER_ADDR &); - }; - - that are used like this: - - ACE_Acceptor acc; - - i.e., the ACE_SOCK_Acceptor maintains a "trait" that the - ACE_Acceptor uses to determine the appropriate addr. This is - more concise and less error-prone than the current scheme that - requires you to pass into the ACE_INET_Addr separately (ugh). - - Note that the trick to making all this work is to typedef the - PEER_ADDR trait into the ACE_SOCK_Acceptor class, as follows: - - class ACE_SOCK_Acceptor { - public: - typedef ACE_INET_Addr PEER_ADDR; // Trait... - }; - - Unfortunately, none of the C++ compilers (e.g., SunC++ 4.0.1, - G++ 2.7.0) support this stuff yet... Therefore, I've added - a set of macros that that will toggle back and forth between - whichever approach works, depending on the setting of - ACE_HAS_TEMPLATE_TYPEDEFS. Hopefully, over time compilers will - support this stuff correctly and life will become easier. - - * libsrc/ASX/Message_Queue: Changed all occurrences of the S_MUTEX - and S_CONDITION macros to ACE_SYNCH_MUTEX and - ACE_SYNCH_CONDITION in order to conform to the new ACE namespace - control conventions. - - * libsrc/Connection/Acceptor: Modified the Acceptor class to split - it into two classes: ACE_Acceptor (which implements a very - simple, very concise version of the Acceptor pattern, without - all the extra strategy mechanisms, etc.). These strategies have - now been factored out into a new class called - ACE_Strategy_Acceptor. The point of these changes is to "keep - simple things simple, but enable powerful extensions when - necessary." All the test programs that utilized the earlier - strategy version of the Acceptor have been updated to the the - Strategy_Acceptor instead. - - * libsrc/Connection/Connector: added two new protected methods, - connect_svc_handler() and activate_svc_handler(). These methods - allow subclasses to override the Connector's strategies for - connection establishment and concurrency. In addition, it makes - the pattern much easier to explain via the Connector pattern and - also is more similar to the Acceptor. - -Wed Oct 4 18:45:58 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Orbix-Examples/Event_Comm: Fixed the examples in this - directory so that they compile with the new ACE. - -Tue Oct 3 17:33:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/makeinclude/rules.nested.GNU: Added support so that - ACE can now be built in parallel using the -jN option of GNU - make. To accomplish this, just type - - % make MAKEFLAGS=-j2 - - on the command line and the "-j2" flag will be passed through to - the make hierarchy. Once the SunC++ compiler supports parallel - makes correctly (Template.DB causes problems) this will allow me - to tke advantage of my new dual-CPU SPARCstation 20!!! - -Mon Oct 2 13:34:14 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection: Cleaned up some of the code related to - Time_Values * by adding a new method call time_value() to the - ACE_Synch_Options class. - - * libsrc/Service_Config/Service_Record: Changed things a bit so - that we don't have to include "ace/Stream.h" in - Service_Record.h, but instead use forward decls of the - appropriate types. This breaks a circular dependency that was - causing problems for GNU C++. Thanks to John Hutchinson - (hutchiso@epi.syr.ge.com) for finding this problem. - -Sat Sep 30 13:45:08 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Changed all uses of typedef PARENT to inherited, which is less - obtrusive. - -Fri Sep 29 01:33:54 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc: Completed the new OS class, which will be used - shortly to remove all direct UNIX system calls in ACE. - - * libsrc: Completed redocumented the header files for almost all - of ACE. The goal was to document all the methods in all the - classes. This has most been achieved (only a few minor changes - remain). The result is *much* better manual page entires in - ./man/man3, as well as much more consistent header files and - overall documentation for ACE. - - * libsrc/Reactor/Reactor: Changed all uses of get() to - handler_i(). Also changed the check_connections() method to - check_handles(). Note that all these changes are invisible to - apps... - -Thu Sep 28 01:22:36 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/SPIPE_Addr: Changed all occurrences of - {get,set}_user_id() and {get,set}_group_id() to user_id() and - group_id() in order to be more consistent with other parts of - ACE. - - * libsrc/ASX/Task.C (module): Modified the implementation of - several Task helper methods (e.g., sibling()) so that they don't - crash if there is not Module associated with the Task. - - * libsrc/ASX/Stream: Removed the sync_ data member from the - private part of Stream since it didn't seem to be used for - anything. - - * libsrc/ASX/Map_Manager.C (bind): Changed the type of the INT_ID - to bind() from INT_ID to const INT_ID &. - - * libsrc/IPC_SAP/Addr/Addr: Moved some methods around in the *.i - file to the *.C file in order to be smarter about inlining. - - * libsrc/Misc/Auto_Ptr.h: Added a new pair of classes called - "auto_ptr" and "auto_array_ptr". These implement the ANSI/ISO - C++ standard auto_ptr mechanism, which helps to write - exception-safe code. The code is based on material from Jack - Reeves (jack@fx.com) and Dr. Harald M. Mueller - (mueller@garwein.hai.siemens.co.at). - - * libsrc/Threads/Synch_T.h (ACE_Null_Condition): Changed the - behavior of Null_Condition::{signal,broadcast} so that they - return 0 rather than setting errno = ETIME and returning -1. - -Wed Sep 27 00:16:01 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch: Fixed a bug with class ACE_Barrier: count_ - wasn't being set properly. - - * tests/Threads/test_barrier.C (main): Fixed a stupid bug - in the ACE_Barrier -- the main function was exiting, thereby - destroying the barrier! - - * tests/IPC_SAP/{SOCK,TLI}_SAP: Added test cases to exercise the - new reuse_addr feature of SOCK_Connector and TLI_Connector. - - * libsrc/IPC_SAP/{SOCK,TLI}_SAP/{SOCK,TLI}_Connector: Implemented - the new behavior for reusing a local address. Also fixed a few - error cases that would have lead to descriptor leaks. - - * libsrc/IPC_SAP/SOCK_SAP/SOCK.C (open): Modified a few return - values and comparisons to ease the transition to WIN32. - - * libsrc/ASX/Task.C (ACE_Task): Changed the behavior of - Task::activate() so that it uses the - ACE_Service_Config::thr_mgr() Singleton if no thread manager has - been associated with a Task when it becomes an active object. - - * libsrc/Service_Configurator/Service_Config: Added a new static - method to class Service_Config called thr_mgr(). This static - method behaves as a "Singleton" and provides a convenient - default thread manager that is available to all threads - throughout a process. - - * libsrc/IPC_SAP: Changed all the IPC_SAP/*_SAP/*_Connector.[hiC] - files and the Connection/Connector.[Chi] class in order to add - "reuse_addr" behavior consistent with the Reactor. This enables - the client to specify that the "local_addr" should be reused - (e.g., via SOCKREUSEADDR), even if its "2 minute wait" time - hasn't elapsed yet. The libsrc/Connection/Connector.[Chi] files - were also changed to support this new interface. - - * libsrc/Log_Msg/Log_Msg.C (log): Fixed a mistake in Log_Record - caused by the new thread-safe storage enhancement. The data - being logged was being rounded up incorrectly. Thanks to Daniel - Proulx (daproulx@qc.bell.ca) for reporting this. - - * libsrc/Reactor/Signal.i (operator): Made a minor change to the - definition of operator struct sigaction * to work around a bug - with the HP/UX C++ compiler (lame, lame, lame)... - - * libsrc/Service_Config: Changed all occurrences of - ACE_Service_Config::reactor (which was originally a globally - accessible public method of class ACE_Service_Config) to - ACE_Service_Config::reactor () (i.e., made the reactor a - Singleton implemented by a static method). This was long - overdue and will fix all sorts of niggling problems with order - of initialization since the reactor() method can do "lazy - creation" of Reactors now, i.e., create one the first time it is - referenced. In addition, changed the - ACE_Service_Config::svc_rep to ACE_Service_Config::svc_rep () in - the same manner. - - * Changed all occurrences of the form: - - *_Stream stream; - *_Connector con (stream, remote_addr); - - if (stream.get_handle () == ACE::INVALID_HANDLE) - ... - - To - - *_Stream stream; - *_Connector con; - - if (con.connect (stream, remote_addr) == -1) - ... - - which is cleaner and less error prone with respect to - UPIPE_Stream (which doesn't have a valid handle once it's - connected). - - * Changed all occurrences of get_handle () == -1 to get_handle () - == ACE::INVALID_HANDLE to help smooth the move to WIN32... - - * libsrc: Created a new directory called Shared_Memory and moved - the Shared_Malloc_MM and Shared_Malloc_SV classes from the - ./Shared_Malloc directory to here, where they are now called - Shared_Memory_MM and Shared_Memory_SV. This is a better - name/place for them since they never really had anything to do - with malloc in the first place! What remains the Shared_Malloc - is the Malloc.* and Memory_Pool.* classes, which are typically - used for truly shared malloc/free. - - * apps/Gateway/Gateway: added new logic to the Gateway to enable - it to specify which local port to bind() to. - -Tue Sep 26 21:17:29 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Strategies.C (open): Added a return 0; at the - end of the ACE_Thread_Strategy::open method. - - * tests/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.C: - Made CLI_Stream a template so that we don't have to worry about - multiple includes of classes... - -Mon Sep 25 01:41:27 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP: Revised the close() method of TLI_SAP and - SOCK_SAP so that they don't try to close down a handle that == - ACE::INVALID_HANDLE. - - * Changed all uses of ::free ((char *) ...) to ::free - (ACE_MALLOC_T (...)) to work around inconsistent prototype - problems with some compilers. - - * include/ace/sysincludes.h: Changed ACE_MALLOC_TYPE to - ACE_MALLOC_T which is a bit less verbose... - - * libsrc/Service_Configurator/Makefile (BUILD): Fixed the argument - to sed from -s (which is invalid) to -e (which is valid). - Thanks to Doug Ritter (dougr@guilder.datalytics.com) for - noticing this. Also used sed to do a more elegant fix on the - age-old problem of inconsistent prototypes for free() and - realloc()... - - * libsrc/IPC_SAP/UPIPE_SAP: Rewrote all the UPIPE_* classes to - remove any dependencies on class UPIPE. This class appears to - be unnecessary since it mimics the behavior of class SPIPE. To - simplify the behavior of the UPIPE_* classes, they now inherit - from the SPIPE_* classes where appropriate. - - * libsrc/IPC_SAP/UPIPE_SAP: Changed the semantics of the - UPIPE_Connector and UPIPE_Acceptor connection methods so that - they close down the SPIPE_Stream after a connection is - established successfully. This is important to conserve - descriptors. - - * libsrc/Misc: Created a new class called OS, which encapsulates - *all* of the UNIX system calls and library routines within a - single class. The rest of ACE will program only to the methods - in this interface, which will make it much easier to port to - other versions of UNIX (and WIN32!). - -Sun Sep 24 11:49:47 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SOCK_SAP: Conditionally compile the LSOCK_* stuff - if the OS platform (e.g., Linux) doesn't support it. - - * Changed all occurrences of ACE_HAS_NO_... to ACE_LACKS_... in - all the config*.h files and the headers/source. This reads - better... - - * Changed all uses of (1) Acceptor::peer_acceptor_ to - Acceptor::acceptor(), (2) Svc_Handler::peer_ to - Svc_Handler::peer(), and (3) Connector::peer_connector_ to - Connector::connector() to make the code more abstract and - resilient to future changes. - - * include/ace/sysincludes.h: Added a new macro called - ACE_NEW_RETURN that provides a useful abstraction for - expressions involving operator new since we can change memory - allocation error handling policies (e.g., depending on whether - ANSI/ISO exception handling semantics are being used). - - * libsrc/Threads/Thread.C: Changed things a bit so that if - ACE_MT_SAFE == 0 then Thread::self() returns 1, regardless of - whether the platform supports threads. - - * Went through the entire library and (hopefully) made sure that - all calls to global system calls and library routines are - prefixed with "::". - - * libsrc/Misc/Get_Opt.C: Changed this class to use the Log_Msg - logging mechanism rather than stderr... - - * tests/Misc: Added a new test program to test the Profile_Timer. - - * tests/Reactor/misc: Added a new test program to test the - Handle_Set. - - * libsrc/Service_Configurator: Changed the error messages in - Svc_Conf.y and Svc_Conf.l to go to the ACE Log_Msg logging - mechanism rather than stderr... - - * libsrc/Connection/Acceptor: Modified the Acceptor and - Oneshot_Acceptor classes so that they take advantage of the new - ACE_Creation_Strategy, ACE_Accept_Strategy, and - ACE_Concurrency_Strategy components. This will make is easy to - define Acceptors that can be flexibly configured to use various - creation strategies (e.g., dynamic linking, singletons, dynamic - memory creation, etc.) for making Svc_Handlers. - - * libsrc/Connection/Svc_Handler: Added several new classes -- - ACE_Creation_Strategy, ACE_Accept_Strategy, and - ACE_Concurrency_Strategy -- that form the heart of the new - ACE_Acceptor implementation. These classes define the creation, - passive connection acceptance, and concurrency strategies - employed by the Acceptor factory when it receives a connection - from a client. - - * libsrc/Connection/Acceptor: Modified the implementation of the - Acceptor and the Oneshot_Acceptor. These classes are no longer - related by inheritance since they behave in fundamentally - different ways and sharing code was making it hard to write and - use these classes correctly. - - * libsrc/Misc/Misc: Moved the enum INVALID_HANDLE from IPC_SAP.h - to Misc.h since this is actually more general than just the - sockets stuff and we need to be portable to WIN32... Therefore, - any code that originally said ACE_IPC_SAP::INVALID_HANDLE should - now be ACE::INVALID_HANDLE. - - * Removed the ACE_OMIT_SERVICE_CONFIGURATOR flags. These are - annoying -- anyone who wants to subset ACE should be responsible - for doing this stuff. - -Fri Sep 22 22:36:33 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Spawn.C: Greatly simplified the - implementation of Thread_Spawn by leveraging the new class Task - semantics for activate(). Now, all the concurrency activation - mechanisms necessary to create active objects are associated - with a Task and all the Thread_Spawn needs to do is to define a - new make_svc_handler() Factory Method to create a SVC_HANDLER - and activate it! - - * libsrc/ASX/Task.C: Tightened up the semantics of Task::activate - (which turns a passive object into an active object, i.e., one - with its own thread). Now, if an object is activated more than - once it ignores the other requests, unless the force_active - parameter is enabled. Moreover, activate() now takes a - parameter that indicates the number of threads to allocate for - the Task. This makes it simple to have a "thread pool" - associated with a Task. - -Thu Sep 21 00:49:55 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Connection: Updated the CPP-acceptor and CPP-connector to - use the underlying Acceptor and Connector patterns more - robustly. Also added new hooks to include a Service_Config - component so that integrating this with the ACE dynamic linking - scheme will be a snap! - - * libsrc/Connection/Acceptor.C: Revised the Oneshot_Acceptor to be - robust in situations where it isn't given a Reactor *... - - * apps/Logger: Fixed a couple of minor problems with *.i files - being included when __INLINE__ is set. This should help G++ - compiler ACE better... - - * libsrc/Reactor/Reactor: Enhanced the Reactor::notify() method so - that it takes both an Event_Hander * and a Reactor_Mask, which - it passes to the Reactor's main event loop thread via the pipe. - The event loop thread uses this mask to determine which method - to invoke. This new feature is due to the insight of Karl-Heinz - Dorn (kdorn@erlh.siemens.de). - - * libsrc/Connection/Connector: Fixed a braino in - Connector::handle_output, which was using ::getpeername() to - check whether a connection has been established with a peer. - Naturally, this only works for sockets, and doesn't work at all - for TLI or SPIPEs... - - * libsrc/IPC_SAP/Addr/SPIPE_Addr.C (set): Changed the return type - of this method to "int" in order to conform to the types - expected by the Acceptor/Connector patterns. - - * Removed all uses of the global scope "::" for all variables and - methods that are not UNIX system calls or library calls in - preparation to change over to the new OS class (requested by - Siemens). - -Wed Sep 20 14:39:08 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SPIPE_SAP: Renamed the SPIPE_IO classes to - SPIPE_Stream to be consistent with the other parts of the ACE - library. Updated all parts of the library to reflect this - change. - - * tests/Service_Configurator: Moved the current contents of this - directory into a new directory called IPC-tests. Created a new - directory called Connection-tests where the dynamic linking - examples for Siemens will go. - - * libsrc/Reactor/Signal: Made a bunch of minor changes to support - signal handling on SunOS 4.x platforms. Thanks to Aniruddha - Gokhale for help with this. - - * libsrc/Threads/Synch.h: Modified the #ifdefs a bit so that - Synch_T.h gets included regardless of whether ACE_HAS_THREADS. - - * libsrc/Threads/Synch_Options: Added a new set() method to make - it possible to initialize the Synch_Options from outside the - constructor. - - * libsrc/Connection/Svc_Handler.C: Added checks within the - ACE_Svc_Handler so that if we are given a NULL Reactor we don't - crash! - - * libsrc/Mem_Map: Tidied up this class and added comments to the - header so that the class2man has something to generate manual - pages from! - - * libsrc/Misc/Misc: Added a new method called "round_to_pagesize", - which was previously in Mem_Map. This is a better place for it - since other parts of ACE (e.g., Shared_Memory) use it. - - * libsrc/Misc/Misc: Added a new method called "get_file_size", - which was previously in Mem_Map. This is a better place for it - since other parts of ACE might want to use it. - -Tue Sep 19 00:24:41 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released a beta version of ACE 3.3.1 for G++ testing. - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram.C: Removed a stray INLINE - that was causing problems for G++. Thanks to E. Jason Scheck - for reporting this. - - * libsrc/IPC_SAP/Addr/INET_Addr: Improved the documentation for - this class and also added new semantics to the constructor and - set() method so that a "ip_addr:port_number" tuple can be given - as a single string (e.g., "1234:tango.cs.wustl.edu" or - "1234:128.252.166.57"). This is useful since it gives a uniform - interface for addressing for Internet domain, UNIX domain, and - SPIPE domain addresses... Updated the ./tests/Connection tests - to use this form (which is nice since now they are all very - orthogonal!) - - * tests/Connection: Created a whole new suite of tests that - exercise the connection patterns for all of the relevant IPC - mechanisms (e.g., SOCK_SAP, TLI_SAP, SPIPE_SAP, and UPIPE_SAP). - - * bin/clone.C: fixed the first #include so that it uses #include - "ace/sysincludes.h". Thanks to Alex V Maclinvosky - for noticing this. - -Mon Sep 18 01:52:07 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX/Message_Queue.C (close): Fixed yet another problem - with variables being defined in for loops. G++ is good for - detecting this ;-). - - * libsrc/Threads: Moved all the template classes from Synch.* into - Synch_T.* in order to make it possible to compile templates with - G++. Thanks to E. Jason Scheck for suggesting - this. - - * libsrc/IPC_SAP/UPIPE_SAP: Make a number of changes to ensure - that all the UPIPE_SAP classes conform to the same interface as - all the other ACE IPC classes. - - * Changed all occurrences of THR_FUNC to ACE_THR_FUNC to protect - the global namespace better. - -Sun Sep 17 13:36:23 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/ASX/Message_Queue: Fixed a typo in these test programs - that caused a segfault since a vararg parameter was omitted on a - call to the Log_Msg::log() method. Maybe iostreams isn't so bad - after all... ;-) - - * apps/Logger/Service_Configurator_Logger/Thr_Server_Logger: fixed - a stupid error that was caused by some mods I made after ECOOP - to update the threaded logging server. When I changed the - Thr_Logging_Acceptor so that it no longer inherited from the - Logging_Acceptor I forgot to redefine the init() method... - - * man: Totally regenerated the ACE manual pages using the new - versions of the OSE tools provided by Karl-Heinz Dorn - (kdorn@erlh.siemens.de). - - * Changed all occurrences of MT_SYNCH and NULL_SYNCH to - ACE_MT_SYNCH and ACE_NULL_SYNCH, respectively. This is - consistent with the ACE naming conventions and had been an - oversight when I renamed everything earlier. - - * Fully built and tested ACE with the __INLINE__ flag enabled. - This will generate code with many small methods in the library - inlined. Had to fix a bunch of minor things to allow this to - work without compilation-order dependency problems. - - * libsrc: Made a bunch of changes to the way that header files are - included internally to ACE in order to break compilation-order - dependencies. This is necessary to support GNU G++'s lame - handling of templates. None of this stuff should affect - application code. - - * tests: Added a whole new slew of tests for the remaining parts - of ACE that weren't currently included in ./tests. This stuff - exercises ACE components like the Log_Msg logger and factors all - the #if defined (DEBUGGING) code out of the ./libsrc directory - tree and puts it in the ./tests directory tree, where it - belongs. - - * Changed all uses of the error macros LM_* to ACE_* in order to - avoid name collisions with other libraries, frameworks, and - toolkits. In addition, changed all uses of the error enumerals - LOG_ to LM_ in order to avoid a conflict with system #defines in - . - - In order to change these automatically, I used the following - UNIX command sequence: - - % find . -type f -print | xargs perl -p -i -e 's/LM_/ACE_/g' - % find . -type f -print | xargs perl -p -i -e 's/LOG_/LM_/g' - -Sat Sep 16 11:55:18 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Threads: Added a new test for Thread_Specific storage. - - * Added a new platform/compiler configuration flag called - ACE_TEMPLATES_REQUIRE_SOURCE that must be set for compilers - (e.g., GNU G++) whose template mechanism must be able to - see the source code (i.e., the *.C files). Changed *lots* of - header files to enable this... Also had to change the - corresponding *.C files so that they wouldn't get included - twice... - - * libsrc/Connection: redid the implementation of Acceptor, - Connector, and Svc_Handler to get more control over the scope of - #defines like #define SH SVC_HANDLER, etc. - - * libsrc/Threads/Thread_Spawn: Totally redid the implementation of - Thread_Spawn to use the Acceptor class template. This greatly - reduces the amount of code to implement the Thread_Spawn! - - * libsrc/Threads/Thread_Spawn: Moved the Thread_Spawn - implementation into the ./libsrc/Threads directory rather than - in the ./libsrc/Service_Configurator directory since it deals - with threading and thus belongs in the other place. - -Fri Sep 15 00:25:51 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Token.i (tryacquire): Added a cast to fix passing - a const pointer to a function that was expecting a non-const. - Thanks to E. Jason Scheck for reporting this. - - * libsrc: Added a bunch of changes to enable G++ to compile ACE. - A lot of this involves moving around info in header files so - that templates can be dealt with using the relatively lame GNU - C++ repository scheme. Thanks to E. Jason Scheck - for all his help in this. - - * libsrc/Synch: created Synch_Options.C out of Svc_Handler.C, so - that Svc_Handler.C could be "template pure"; all the other files - were already separated. Thanks to E. Jason Scheck - for recommending this. - - * Makefile (clone): Added a tiny fix that solves a weird problem - that arises with symbolic links on HP/UX. Thanks to Jam Hamidi - (jh1@osi.com) for tips on how to fix this. - -Thu Sep 14 10:55:30 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Gateway/Gateway/Channel.C (route_message): Updated the main - routing code to check for whether a channel is_active() - (i.e., is actually connected) before trying to send messages - to it. This was originally done in the Set class iterator, but - I revised that to make it more reuseable and to workaround bugs - in the HP/UX compiler so I had to update the main code... - - * libsrc/Threads/Thread_Specific: Added a new method to called - ts_object () to class ACE_Thread_Specific that get the - thread-specific object for the key associated with this object. - Returns 0 if the data has never been initialized, otherwise - returns a pointer to the data. This is useful since now you can - query a thread-specific storage mechanism to see if there's ever - been a thread-specific object created *without* having to - actually create one if one hasn't been created yet! Thanks to - Detlef Becker (beckerd@erlh.siemens.de) for pointing this out. - - * include/makeinclude/platform_sunos5_sunc++_orbix.GNU (LIBS): - Changed the default compilation strategy for SunOS 5.x machines - to use -mt. This seems to be necessary to build robust - libraries that are thread-safe. Thanks to Phil Mesnier - and Chris Cleeland - for hounding me until I changed the - existing solution. If you *don't* want this behavior you need - to remove -mt from the platform_macros.GNU file and and remove - the ACE_HAS_THREADS and ACE_MT_SAFE flags, etc. from the - config-sunos5.*.h files. - - * libsrc/Shared_Malloc/Memory_Pool.C (ACE_MMAP_Memory_Pool): Added - a new parameter to the constructor called write_each_page that - if enabled forces a write to each page to ensure that space is - allocated from the file system (otherwise, we can end up failing - due to optimisitic resource allocation...). Thanks to Phil - Brooks for detecting this issue and - implementing a solution. - - * include/ace/sysincludes.h: Added #ifdef support for HP/UX, which - fails to properly wrap with an extern "C" block. - -Mon Sep 11 01:39:35 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Connector.C (handle_input): Changed the call - to Svc_Handler::close() to accept the default value of 0 rather - than -1... Thanks to Mark Seaborn - for noticing this. - - * libsrc/Connection: Changed all uses of ADDR to PEER_ADDR to - avoid a name clash in Linux... Thanks to James Morris - for finding this. - -Sun Sep 10 03:56:18 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Synch: Added support for "barrier - synchronization" to ACE in the form of ACE_Barrier. Thanks to - Bruce Worden (bruce@betsy.gps.caltech.edu) for suggesting this - and pointing me in the right direction. - - * tests/Threads: Added a test for the new barrier synchronization - mechanism. - -Sat Sep 9 11:58:16 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor: Changed Reactor::max to Reactor::max3 to - avoid problems with conflicting names of macros in Sun header - files! - -Mon Sep 4 14:34:52 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Signal: The new ACE_Signal_Handlers mechanism - appears to be working! There's a test in ./tests/Reactor/misc - called test-signal.C that illustrates how all this works. - - * libsrc/Reactor/Signal: Added several new methods to - ACE_Sig_Action to make life easier to implement the new - ACE_Signal_Handler code... - - * libsrc/Reactor/Signal.C (ACE_Sig_Action): Changed the order of - the arguments to the ACE_Sig_Action constructor. It's almost - always the case that you want to vary the SignalHandler, but - only rarely do you want to vary the mask or flags. By - reordering this, it's easier to get the correct default values - without adding extra junk... - -Mon Sep 4 01:11:29 1995 Tim Harrison (harrison@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram_Multicast: added support to - allow a port to be reused for multicast sockets. This is useful - if you are multicasting to multiple processes, some of which are - on the same host! - - * libsrc/ASX/Map_Manager: Fixed an odd bug that must have gone - undetected for a long time somehow. Basically, the "is_free_" - field of the ACE_Search_Structure struct was never being set to - it's correct initial value of 1. I don't know how this didn't - surface before... At any rate, it is fixed now... - - * include/ace/sysincludes.h: Changed the inline methods for - SET'ing and CLR'ing bits to be macros in order to get cheap - polymorphic behavior... Also changed them to use the prefix - "ACE_" to avoid namespace pollution. Changed all dependencies - in the source code (only a few...). - - * libsrc/Reactor/Signal: Added a new class called - ACE_Signal_Handlers, which subclasses from ACE_Signal_Handler. - This new class implements the semantics required for Siemens. - For example, this class allows multiple signal handlers to be - registered for the same signal. It also makes SA_RESTART the - default mode. Note that by default, the Reactor uses the - original ACE_Signal_Handler semantics. If you want the new - semantics, simply pass the Reactor a pointer to - ACE_Signal_Handlers. - - * include/ace/sysincludes.h: Removed the automatic inclusion of - ./libsrc/Misc/Misc.h from sysincludes.h since this was causing - problems with include file ordering. - -Sun Sep 3 00:22:11 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Signal.C (remove_handler): Moved a definition of - ACE_Sig_Action out of an inner block to avoid portability - problems. - - * libsrc/ASX/Map_Manager: Improved the documentation of this class - and fixed up a couple of problems with the scope of loop - indexes. - - * libsrc/Misc/{Stack,Set}: Added this new file that contains a set - of Stack and Unordered Set implementations. The Unordered Set - is used in various places in ACE (e.g., libsrc/Reactor/Signal - and apps/Gateway/Gateway/Routing_Entry). - - * libsrc/Log_Msg/Log_Msg: Moved the definition and declaration of - Thread_Specific ace_log_msg from this directory to - ./libsrc/Misc/Misc.h in order to cleanup the namespace and also - to help make this work on DEC platforms... - - * libsrc/Reactor/Signal: Changed ACE_Signal_Handler from a static - class to a non-static class in order to allow subclassing. This - is necessary to support the Siemens requirements. - - * libsrc/Shared_Malloc/Memory_Pool: Modified ACE_MMAP_Memory_Pool - so that it no longer stores the name of the backing store in a - static character array (which made it impossible to have more - than one of these at a time...). The new version stores the - name in each ACE_MMAP_Memory_Pool object. It also selects a - name that won't conflict with other names by using ::mktemp. - - * tests/Shared_Malloc/test_malloc.C (parse_args): Fixed two stupid - omissions of "break" when parsing command-line arguments. Isn't - C++ great?! (NOT)... - - * apps/Synch-Benchmarks: Came up with a killer solution to the - nagging problem of POSIX Pthread's lack of an integral thread id - (a la Solaris threads thr_self()). The solution leverages off - of our new ACE_Thread_Specific wrapper to provide the necessary - functionality. Thanks to Reginald S. Perry (perry@zso.dec.com) - for triggering the thoughts that lead to this solution... - -Sat Sep 2 17:00:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/TLI_SAP/TLI_Acceptor: Changed the implementation - of ACE_TLI_Acceptor so that ACE_TLI_Request is defined inside - the TLI_Acceptor.C file (this is the so-called "Cheshire Cat" - technique). This clean up the code and the global namespace a - bit. - -Fri Sep 1 00:53:47 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released new version of ACE 3.3 - - * libsrc/IPC_SAP/UPIPE_SAP/UPIPE.C: Fixed a small problem with - failing to #ifdef this file correctly if we don't have - threads... Thanks to John Morey (jmorey@hitel.com) for - reporting this. - - * tests/ASX/CCM_App/svc.conf: Fixed the svc.conf file so that it - looked in the .shobj directory rather than the .obj directory. - - * Released new version of ACE 3.2.9... - - * libsrc/Log_Msg/Log_Msg: Added a new field called "restart_" to - the thread-specific storage. This will be used to control - whether system calls are restarted when interrupted. - - * Changed inheritance syntax from - - class xxx - : public yyyy - { - }; - - to - - class xxx : public yyyy - { - }; - - so that the OSE tools would work correctly. - -Thu Aug 31 00:12:40 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/UPIPE_SAP: Changed all uses of UPIPE_Addr to - SPIPE_Addr since they were the same thing. This also allows - much reuse of code... - - * libsrc/IPC_SAP/{TLI_SAP,SOCK_SAP,SPIPE_SAP}: fixed the - "complete" method for these classes so that it uses the new - ACE::handle_timed_complete() method in libsrc/Misc. This cleans - up the code by merging common logic. - - * libsrc/IPC_SAP/{DEV_SAP,FILE_SAP,SPIPE_SAP}: fixed the "connect" - method for these classes to conform to the API used by the - SOCK_SAP and TLI_SAP wrappers. In addition, cleaned up the code - so that common logic was pushed into a new method in libsrc/Misc - called ACE::handle_timed_connect(). - -Wed Aug 30 00:20:18 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Acceptor.C (open): Fixed this method so that - it returns a value on all paths through the code... - - * libsrc/IPC_SAP/TLI_SAP/TLI.C (ACE_TLI): Moved the option - allocation code from the TLI::open() method into the TLI - constructor in order to make sure it is always called! - - * libsrc/IPC_SAP/DEV_SAP/DEV_Connector: Changed the signature of - the DEV_Connector::connect method to allow users to specify - flags, permissions, and timeouts (this is now consistent with - other parts of ACE). - - * libsrc/IPC_SAP/FILE_SAP/FILE_Connector: Changed the signature of - the FILE_Connector::connect method to allow users to specify - flags, permissions, and timeouts (this is now consistent with - other parts of ACE). - - * tests/IPC_SAP/TLI_SAP: Updated the test code to check the new - timer support for connection establishment. - - * libsrc/IPC_SAP/TLI_SAP: Updated the code to make it conform to - the interfaces provided by SOCK_SAP. This primarily affected - the TLI_Acceptor and TLI_Connector classes in order to add - support for timed connects and accepts. - - * libsrc/Reactor/Signal.C: Modified Signal_Handler::dispatch so - that it saves/restores errno to prevent it from being corrupted - by the handle_signal callback. Thanks to Detlef for suggesting - this. - - * libsrc/Shared_Malloc/Memory_Pool: Changed the name of - ACE_Local_Memory_Pool to ACE_Sbrk_Memory_Pool. Then added a new - version of ACE_Local_Memory_Pool that uses the C++ operator new - to acquire chunks of memory. This enables the ACE Malloc class - to integrate with existing programs that use new/delete. Thanks - to Karlheinz for suggesting this. - - * libsrc/IPC_SAP: Added the UPIPE mechanism donated by SIEMENS. - This provides an intra-process IPC mechanism that has the same - API as the interprocess and network mechanisms. - - * Reran catman on ./man/windex. Thanks to Dieter Quehl - (quehl@csaserv.erlh.siemens.de) for reporting the need for this. - - * Released new version of ACE 3.2.9... - - * tests: Fixed a bunch of minor problems that occurred when - building on HP/UX. Thanks to John Morey - (jmorey@hitel.com) for reporting these. - - * apps/Gateway/Gateway/Peer_Message.h: Changed the default values - of the parameters to Peer_Addr so they aren't trying to assign - negative values to unsigned chars! Thanks to John Morey - (jmorey@hitel.com) for noticing this... - -Tue Aug 29 18:52:17 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Thread/Thread_Specific: Changed the constructor so - that it will take an initial TYPE *, which will be used to - initialize the thread-specific object. This is necessary to - support the changes to ACE_Task described in the following - bullet. - - * libsrc/ASX/Task: Added a new class called ACE_Task_Exit to - Task.C. This class is used in conjunction with - ACE_Thread_Specific to keep exit information for a Task in - thread-specific storage. This ensures that the Task::close() - method will get called no matter how the thread exits (e.g., via - Thread::exit() or by "falling off the end of Task::svc_run"). - -Mon Aug 28 09:54:35 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released new version of ACE 3.2.9... - - * libsrc/Reactor/Handle_Set.C: changed the type of MSB_MASK from - u_long to ACE_UINT32 to handle problems with the Alpha's 64 bit - longs... - - * libsrc/Threads/Thread_Specific: Continued to try and get this - class to build correctly on other platforms... I think I've - just about got it working right now... - - * libsrc/IPC_SAP/IO_SAP/IO_SAP: Added installation flags that - indicate whether the platform has terminal ioctl flags like - TCGETS and TCSETS. I know that SunOS 5.x has these, but I'm not - sure about other platforms... - -Sat Aug 26 13:55:45 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released new version of ACE 3.2.9... - -Fri Aug 25 09:05:09 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Specific.h: Fixed a typo that was causing - this file to fail on HP/UX. Thanks to Neil Cohen - (nbc@metsci.com) for finding this! - - * libsrc/IPC_SAP/DEV_SAP/DEV_IO: Added conditional support for - getmsg/putmsg calls in the DEV_IO class. This will make things - work correctly for platforms that don't support SVR4 STREAM - pipes. - - * libsrc/IPC_SAP/FILE_SAP/FILE_IO: Added the same fixes to FILE_IO - that I added to DEV_IO... - - * include/ace/sysincludes.h (MAXNAMELEN): Fixed a typo in - sysincludes.h that caused problems for the G++ compiler. - - * libsrc/Connection/Acceptor.C (handle_close): Removed a - diagnostic message that was getting printed if a - Oneshot_Acceptor had already been removed from the reactor (it's - ok for this call to fail). Thanks to Irfan Pyarali - (ip1@cec.wustl.edu) for noticing this! - - * libsrc/ASX/Task.C (ACE_Task): Fixed a bug in the constructor - that prevented a Message_Queue from being allocated - automagically. - -Thu Aug 24 16:47:14 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/ace/sysincludes.h: added support for 64 bit machines so - that Internet addresses are 32 bits, as they must be! - - * libsrc/Shared_Malloc/Malloc: Changed things so that MALLOC_STATS - is now *off* by default... (also changed the name to - ACE_MALLOC_STATS). - -Wed Aug 23 15:21:25 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/ace/config-osf1.h: Added support for thread-specific - storage. Please let me know if this breaks on OSF/1! - - * libsrc/Threads/Thread: Added support for the thread-specific - storage wrappers for both Pthreads and Solaris threads. Also, - rearranged some of the code to emphasize similarities between - Pthreads and Solaris threads. - - * libsrc/Threads/Thread_Specific: Updated this to remove "static" - from all the data members in this class since those should be - specific to an *instance* rather than to an instantiation of the - particular template class. Tim claims this works... - - * libsrc/Threads/Token.C: Fixed a couple of typos that misspelled - "assert" (jaysus...). Thanks to David Trumble - (trumble@cvg.enet.dec.com) for noticing this. - - * libsrc/Threads/Token.C (release): Fixed a very stupid bug that - was causing the Token never to become "unused"... No excuses - for this, except that Pthreads is partly responsible ;-) - -Tue Aug 22 11:36:58 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX/Task: Changed the behavior of task so that it doesn't - try to delete the Message_Queue or Thread_Manager if it didn't - allocate them! Thanks to Karl-Heinz Dorn - (kdorn@erlh.siemens.de) for suggesting this fix. - - * libsrc/ASX/Message_Block: Changed the semantics for - Message_Block::end() so that it returns a pointer to 1 past the - end of the data. This is more consistent with toolkits like - STL. Also changed the behavior of Message_Block::copy() so that - it checks to make sure the data will fit in its buffer. - - * tests and apps: Revised a bunch of files to add #ifdef so that - TLI tests and apps are not compiled if the platform doesn't - support it... - - * Fixed a bunch of minor problems for HP/UX (which lacks TLI and - other common OS features). Thanks to Mark Seaborn - (mseaborn@itthp1.comm.mot.com) for noticing these. - -Mon Aug 21 00:19:29 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc: Changed the name of the class Argument_Vector to - ACE_ARGV. This is a bit more concise... UNIX programmer will - know precisely what argv is... - - * Updated all of ACE to use the new naming scheme, which prepends - all ACE classes with "ACE_". This is an important change since - it prevents ACE from polluting the namespace of applications - (unless they also prefix "ACE_" in front of their classes, which - is not very likely!). - - Since this change basically affects every single file in the - entire release, as well as all existing user code I've written a - perl script called "rename-ace.pl" to automate all of this. - This script is in $WRAPPER_ROOT/bin. To use it, simply type: - - % find . -type f -print | egrep '[Chi]$' | xargs rename-ace.pl - - Note that you will need to change the first line of - rename-ace.pl to point it to whereever perl is located on your - system. - - I've tested this on the entire ACE source code base and it seems - to work fine. Please be careful using it on your code, however, - since it may conflict with names that you use. When in doubt, - remove the '-pi' from the first line of the rename-ace.pl perl - script and replace it with '-p' (which is non-destructive). - Then run the commands above and check the output carefully. - When you're convinced that everything is ok, add the '-pi' back - again. Let me know immediately if you find any problems with - this scheme! - - * libsrc/Connection/Acceptor.C: Added a virtual destructor to the - Oneshot_Acceptor to make sure that descriptors are closed down - correctly. Thanks to Irfan (irfan@wuerl.wustl.edu) for - suggesting this. - - * libsrc: Change all occurrences of Shared_Memory to - SV_Shared_Memory to firmly indicate the origins of this - wrapper... - -Sun Aug 20 23:12:03 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP: added the IO_SAP, DEV_SAP, and FILE_SAP - components donated by SIEMENS to the ACE release. - - * libsrc/ASX: Split the Message_Queue.* files into Message_Block.* - and Message_Queue.* in anticipation of the Windows NT port... - -Fri Aug 18 13:54:09 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Specific: Move the operator->() - method back into the *.C file in order to make HP/UX - happy... - - * apps/Gateway/Peer: Removed the Options.* files since they - weren't being used and they were causing problems on OSF/1... - - * libsrc/Misc/Profile_Timer: Factored common code together by - making a new typedef called Rusage that defaults to either - struct rusage or prusage_t, depending on installation flags. - Fixed a couple places in the code that were depending on the - prusage_t type (which is now the Profile_Timer::Rusage type...). - -Thu Aug 17 14:31:11 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Connector.h: Changed some typedefs in order to - keep the Centerline compiler from crapping out. I can't - *believe* how screwed up that compiler is when it comes to - templates... - - * Released new version of ACE 3.2.9... - - * libsrc/Threads/Synch: Fixed a bunch of typos that showed up - on OSF/1. Also tried to fix some other problems by removing - "const" from all the methods... - -Wed Aug 16 22:26:24 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Thread_Specific.h: Fixed another stupid bug - caused by a braino that failed to unconditionally include - Thread_Specific.i. Stuart Powell found this also... (thanks!). - - * libsrc/Threads/Thread_Specific.h: In Thread_Specific.h the - inlining macros were only included if threads were used. This - obviously didn't work for people without threads... I - moved the #endif for ACE_HAS_THREADS... back before the #ifdef - __INLINE__ stuff (e.g. to line 71). Thanks to Stuart Powell - (stuartp@ot.com.au) for suggesting this. - - * libsrc/Threads/Synch.h: Fixed a typo that manifested itself for - pthreads: Condition count_nonzero_ should obviously be - Condition count_nonzero_. Thanks to Rob Clairmont - (rclairmo@bnr.ca) for reporting this. - -Tue Aug 15 00:31:44 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Log_Msg/Log_Msg.C (log): Fixed a stupid typo (*format++ - should have been format++...). - - * libsrc/Misc/Trace.h: Move the class TSS_Int from within class - Trace to file scope and changed the name to ACE_TSS_Int to - handle problems with the HP/UX compiler. - - * include/ace/sysincludes.h: Added the word "struct" in front - of rusage to make things work on HP/UX. Thanks to Neil Cohen - (nbc@metsci.com) for reporting this fix. - - * apps/TokenServer/server/TokenMap.C: Fixed yet another problem - with scope of variables defined in for loops... - - * Released new version of ACE 3.2.9... - - * libsrc/Connector: Fixed a braino whereby I didn't use consistent - naming for my #defines (PA should have been PRC). Thanks to - Alex (alexey@ace.elektra.ru) for noticing this. - -Mon Aug 14 18:13:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SPIPE_Acceptor: Modified the interface of open() - and accept() so they would conform to the SOCK_Acceptor and - TLI_Acceptor. This makes it possible to use SPIPE_Acceptor in - similar situations (e.g., Acceptor and Connector patterns). - - * libsrc/ASX/Stream: Fix a bug that occurred when trying to dump() - a linked Stream. - - * libsrc/Connection/Acceptor: Moved the body of the init() method - out of this class since it was unnecessarily dependent on the - INET_Addr domain addressing types. This required changes to the - ./apps and ./tests directory in order to add the init() method - to classes that used the default behavior. - - * libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Acceptor.C: Fixed close() so that - it will call fdetach(2) *before* closing down the descriptor. I - hope this will fix a problem noticed by people at SIEMENS. - - * tests/ASX/Event_Server/Event_Server/Options: Fixed a problem - with the default port numbers (they weren't using the values - from ./include/ace/testconfig.h). - - * include/ace/sysincludes.h (MAXNAMELEN): If MAXNAMELEN is not - defined by a platform then ACE sets it to be FILENAME_MAX, - which should be defined in stdio.h. Thanks to Todd Blanchard - (tblancha@evolving.com) for this suggestion. - -Sun Aug 13 17:02:57 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Service_Configurator/Parse_Node: Changed the name of - Function_Node::symbol (const void *) so that it won't give - those annoying warnings anymore... - - * libsrc/Reactor/Handle_Set: Moved the definition of MSB_MASK from - the header file into a static const within the .C file in order - to avoid overflow problems on certain compilers. - - * libsrc/Threads/Synch: Implemented bare-bones versions of - Semaphore and RW_Mutex for the POSIX Pthreads wrappers so that - they'll be more compatible with the Solaris threads wrappers. - The semaphore implementation uses a Condition object and a - Mutex, which should be a reasonable solution. The RW_Mutex is a - cop-out for now and just uses a Mutex (i.e., no extra - parallelism for readers...). If anyone has a good - implementation of RW_Mutex that they'd like to share please let - me know. - - * libsrc/Threads/Thread_Specific: Fixed the prototypes for copy - constructor and operator=, which were broken... Thanks to Alex - (alexey@ace.elektra.ru) for noticing this. - - * libsrc/Shared_Malloc/Memory_Pool.C: Added some casts to - MAP_FAILED to handle OSF/1. Thanks to Alex - (alexey@ace.elektra.ru) for noticing this. - - * libsrc/Threads/Token: Fixed things so that threads waiting for a - token wouldn't get screwed up by signals that occur... - - * include/ace/sysincludes.h: Changed the #ifdef - ACE_SELECT_USES_LONG to ACE_SELECT_USES_INT for HP/UX since - believe it or not, it really does use int, not long! - - * libsrc/SV_Semaphores: Fixed some weird problems that the HP/UX - compiler was having when trying to inline methods in this class. - As a consequence, I've rearranged the class to avoid inlining - non-trivial methods. Thanks to John Morey (jmorey@hitel.com) - for reporting these problems. - -Wed Aug 9 01:29:16 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Token: Added a tryacquire() method to become - interface compliant with other LOCK mechanisms. - -Sat Aug 5 09:18:29 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection: Fixed a couple of bugs when using - the Acceptor and Svc_Handler when ACE_OMIT_SERVICE_CONFIGURATOR - is enabled. Thanks to Stuart Powell (stuartp@ot.com.au) for - bringing this to my attention. - - * include/ace/sysincludes.h: Added a #ifdef for MAXNAMELEN to - handle systems (like HP/UX) that don't support it. - -Thu Aug 3 22:59:13 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released new version of ACE 3.2.9... - - * libsrc/Reactor/Time_Value.i (normalize): Added new code to - perform normalization of Time_Values. Thanks to Hans Rohnert - (Hans.Rohnert@zfe.siemens.de) of SIEMENS for the suggestion. - -Tue Aug 1 00:19:00 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Changed all code that used Log_Msg::log() directly to use - LM_ERROR or LM_DEBUG. This will ensure that logging will work - with the new thread-specific storage implementation. - - * libsrc/Threads/Thread_Manager.i (open): Fixed this method so - that it is thread-safe when a Thread_Manager is resized. - - * libsrc/ASX/Map_Manager.i (open): Fixed this method so that it is - thread-safe when a Map_Manager is resized. - -Mon Jul 31 12:56:17 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc/Trace: Reimplemented the ACE Trace class to use the - new thread-specific storage wrapper. - - * libsrc/Log_Msg: Reimplemented the Log_Msg class to use the new - thread-specific storage wrapper. This shouldn't affect any - existing code that was careful to only use the LM* macros... - - * libsrc/Threads: Added a new class called Thread_Specific which - implements a C++ wrapper for SunOS 5.x thread-specific data - (this will also work for POSIX pthreads I believe). Thanks to - Tim Harrison (harrison@cs.wustl.edu) for coming up with the idea - for using C++ "smart pointers" to implement this. - - * libsrc/Reactor/Timer_Queue.h: Moved Timer_Node from within - Timer_Queue to outside Timer_Queue and renamed it to - ACE_Timer_Node. Unfortunately, some compilers still don't like - nested classes (ugh)... - - * Changed ACE_Synch_Options to be simply Synch_Options since it - is *not* an ACE private class... - -Sun Jul 30 00:07:28 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/makeinclude/README: Added a new #define called - ACE_HAS_THREAD_SPECIFIC_STORAGE, which does exactly what it - sounds like! So far, I know that Solaris defines this. I'm not - sure which other platforms do (perhaps OSF/1 does?). - -Fri Jul 28 14:53:45 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Fixed a bunch more problems with loop variables that were - uncovered with GCC 2.7. Thanks to Matt Stevens - (mstevens@ent.mrj.com) for noticing this. - - * apps/Logger/Service_Configurator_Logger: Added a new flag called - ACE_HAS_NO_STATIC_DATA_MEMBER_TEMPLATES which is necessary to - workaround bugs with GNU G++... Thanks to Matt Stevens - (mstevens@ent.mrj.com) for noticing this. - - * libsrc/Connection/Connector.C (cleanup_AST): Changed the - parameter list just a tad to try and fix a problem with - G++ (which doesn't seem to like unscoped typedefs in - argument lists or return values. - - * libsrc/Misc/Profile_Timer.i: Changed ::getrusage to be getrusage - to avoid problems with macros and scope operators... - - * include/ace/testconfig.h (ACE_DEFAULT_RENDEZVOUS): Changed the - value from /tmp/foo to /tmp/fifo.ace. Thanks to Neil B. Cohen - (nbc@metsci.com) for suggesting this. - -Thu Jul 27 12:30:06 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/TokenServer/server/TokenHandler.C (abandon): Fixed a minor - bug that caused assert() to fail when a client abandoned a - Token. - - * libsrc/Reactor: Fixed a bug with the design of the Reactor's - Timer_Queue cancellation mechanism. The new mechanism is much - more robust since it ensures that timer_ids (used to cancel - pending timers) are unique up to values of greater than 2 - billion timers! As long as timers don't stay around longer than - this there should be no problems with accidentally deleting the - wrong timer. Thanks to Bill Sears (wsears@world.std.com) for - noticing this problem. - - One nice consequence to this change is that legacy code that - would have broken with the previous change is now 100% - compatible! - - * Provided a definition of ACE_Synch_Options::arg(const void *), - which I'd forgotten to define before (darn templates...). - Thanks to Tim Harrison (harrison@cs.wustl.edu) for finding this! - - * include/ace/sysincludes.h: Added a total hack to get HP/UX to - understand getrusage(). The trick is to use the following - undocumented syscall: - - #define getrusage(a, b) syscall(SYS_GETRUSAGE, a, b); - - What a hack (but it works...). - -Tue Jul 25 13:20:58 1995 Douglas C. Schmidt (schmidt@kavita.cs.wustl.edu) - - * libsrc/Misc/Profile_Timer: Fixed a typo in Profile_Timer.h - (ACE_HAS_RUSAGE_T should have been ACE_HAS_GETRUSAGE). Thanks - to George Reynolds (george@dvcorp.com) for noticing this. - - * Changed all uses of ::getopt() to use the ACE class Get_Opt - get_opt. Also changed all uses of optarg to get_opt.optarg. - Thanks to Bob Vistica (robertv@ims.com) for detecting and - reporting some inconsistencies in my previous changes... - -Mon Jul 24 19:03:03 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include: I've added config and platform support for SGI IRIX5.3 - for use with the SGI C++ compiler. Thanks to Stuart Powell - (stuartp@ot.com.au) for these config files. - - * libsrc/Connection/Acceptor.C (handle_input): Added the - Event_Handler::DONT_CALL flag when removing the Oneshot_Acceptor - from the Reactor so that we don't set it's peer_acceptor_ to -1. - -Mon Jul 24 12:46:10 1995 Douglas C. Schmidt (schmidt@kavita.cs.wustl.edu) - - * libsrc/Misc/Profile_Timer: Fixed problems stemming from the fact - that HP/UX doesn't seem to support getrusage() (how odd). - - * tests/Connection: a new test directory to test out the Connector - and Acceptor pattern implementations. - -Sun Jul 23 12:26:37 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Acceptor.C: Fixed a minor bug with the - Oneshot_Acceptor constructor. Thanks to John Morey - (jmorey@hitel.com) for noticing this and the one below. - - * libsrc/Reactor/Timer_Queue: Moved the static method current_time - from the Timer_Queue.i file to the Timer_Queue.C file. This - avoids a bug with HP/UX C++. - -Sat Jul 22 15:54:27 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released beta version 3.2.9. Once this compiles on all major - platforms then it's time to move to version 3.3. - - * Added a number of miscellaneous changes for OSF/1 courtesy of - David Trumble (trumble@cvg.enet.dec.com). One of these changes - involved changing all uses of Reactor::{ADD,SET,CLR,GET} to - Reactor::{ADD,SET,CLR,GET}_MASK in order to avoid a class with - some symbols in OSF/1. - -Fri Jul 21 00:21:02 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Finally was able to test ACE on the SunOS 4.x platform (using - the SunC++ 4.0.1 compiler). The entire release compiled - correctly! This is a great relief after fighting with this - stuff for months... If you are building ACE on SunOS 4.x I'd - *strongly* recommend you get SunC++ 4.0.1 since it is the only - compiler that seems to be able to grok the weirdness of SunOS - 4.x... - - * Finished updating all the ./tests and ./apps code so that it - works correctly with the new Acceptor/Connector modifications. - To see examples of these changes check out - ./tests/IPC_SAP/SOCK_SAP/CPP-{nbclient,inserver}.C. - - * libsrc/Misc/Profile_Timer: Merged in the new Profile_Timer - implementation from David Trumble (trumble@cvg.enet.dec.com). - This will work with basically the same interface as the current - scheme even if the OS platform doesn't support the prusage_t - type... - -Thu Jul 20 01:07:23 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection: Added a new class called ACE_Synch_Options - which is used in both the Acceptor and Connector classes to - consolidate options related to synchronous and asynchronous - behavior. - - * libsrc/Connection: Added a new class called Oneshot_Acceptor. - This class inherits from the Acceptor but it only accepts one - connection at a time (i.e., it doesn't keep itself registered - with the Reactor). Several examples in the tests/SOCK_SAP - directory have been added to illustrate how all this works. - - * libsrc/Connection/Connector: completely redid the Connector and - Acceptor class interfaces to incorporate the new changes for - asynchronous and synchronous behavior. The new scheme should be - much more general (and correct...). Thanks to Tim and Irfan for - helping out with this. - - * libsrc/Threads/Synch: Fixed the implementation of Recursive_Lock - so that it won't have race conditions when testing the thread id - and nesting level in parallel threads. - -Wed Jul 19 13:15:05 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Timer_Queue: Added new support for cancellation - of individual Event_Handlers in the Reactor. In addition, it is - now possible to cancel all Event_Handlers with a single call to - Timer_Queue::cancel(). Note that this new scheme will break - existing code since Timer_Queue::schedule() (and - Reactor::schedule_timer()) now return ACE_Timer_Node *'s rather - than ints... - - * libsrc/Service_Configurator/Service_Config: Fixed a problem - where the "-s" option didn't work since it was parsed when - "Service_Config::open" was called - (it sets Service_Config::signum_). However, previously the - signal handler was already setup by the constructor. By moving - this registration to the open() method the problem was solved. - Thanks to Bob Vistica (robertv@ims.com) for noticing this. - - * libsrc/Service_Configurator/Service_Manager: Changed the - Service_Manager::reconfigure_services to use this->signum_ - rather than to hard code SIGHUP. Thanks to Bob Vistica - (robertv@ims.com) for this insight. - -Mon Jul 17 12:08:08 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Threads/Token.C (renew): Fixed a typo so that we compare - this->head_ == 0 rather than this->head_->next_ == 0. - - * libsrc/Reactor/Reactor.h: Changed the Reactor to use the - Reactor_Token rather than the pure Token to make sure that the - sleep_hook() is called to unblock the Reactor. - -Fri Jul 14 14:12:07 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection: Changed the default behavior of the Connector - and Acceptor classes such that they pass a -1 to - svc_handler_->close() when things go wrong. This is useful as a - flag to close() (e.g., if it needs to figure out what to do if - is shuts down prematurely). - - * libsrc/Connection/Svc_Handler.C: Added a default definition of - the put() method, which is defined as a pure virtual method in - class Task. - -Thu Jul 13 23:10:35 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/ace/sysincludes.h: Added support for the SGI IRIX 5.3 - OS. More screwy gettimeofday() hacks (what a pain...). Thanks - to Matt Stevens (mstevens@kirk.softeng.infonautics.com) for - these fixes. - - * include/makeinclude/platform_sunos5_centerline.GNU: Fixed a - vexing problem that was causing the Centerline C++ compiler to - puke when compiling ACE. Thanks to Chandra Venkatapathy - (cvenkat@develop.bsis.com) for finding a solution! - -Tue Jul 11 00:01:15 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 3.2.6 for use by Karl and Detlef. - -Mon Jul 10 00:28:51 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/TTCP: Added support for benchmarking the performance of - Orbix, ORBeline, ACE SOCK_SAP, and C sockets. These results are - available at URL http://www.cs.wustl.edu/~schmidt/COOTS-95.ps.Z - - * libsrc/Service_Configurator/Makefile: Added new commands to the - Service Configurator Makefile so that all automatically - generated flex and yacc symbols (i.e., the "yy" stuff) is - renamed "ace_yy". The purpose is to avoid conflicts with other - uses of flex/yacc lexers/parsers with ACE. Thanks to Steve - Ritter (ritter@titan.com) for this suggestion and code. - - * libsrc/IPC_SAP/TLI: Changed the TLI files so they are - conditionally compiled only if the platform supports TLI... - - * libsrc/Connection: Changed the inlining strategy of Connector, - Acceptor, and Svc_Handler so that very short methods are always - inlined, but anything larger is never inlined... - -Sun Jul 9 14:07:02 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/ace/testconfig.h: Changed all occurrences of DEFAULT_* - to ACE_DEFAULT_ to prevent namespace collision. - - * libsrc/Connection/Connector: Massively improved the Connector - class so that its connect() method supports the following - behavior (tv == "timeout value" and ur == "use Reactor"): - - Parameters | Description - | - tv | ur | - -----|----------|------------------------------- - | | - NULL | yes | infinite timeout (using Reactor) - | | - time | yes | try asynch transaction for - | | the specified time (using Reactor) - | | - 0,0 | yes | poll; try, if EWOULDBLOCK, - | | then return immediately - | | (using Reactor) - | | - NULL | no | block forever (don't use Reactor) - | | - time | no | do a blocking transaction - | | for the specified time - | | (don't use Reactor) - | | - 0,0 | no | poll; but do not initiate a - | | nonblocking transaction - | | (don't use Reactor) - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Connector: Changed the behavior of - the SOCK_Connector::connect() method so that it uses Time_Values - rather than a simple flag that indicates whether or not to use - non-blocking connectors. The new scheme is an improvement since - it allows greater control over synchronous and asynchronous - timeouts for connection establishment. This behavior parallels - that of SOCK_Acceptor, as well! If this works well then I'll - update the TLI_Connector and SPIPE_Connector to match this - interface. - - * libsrc: Continued to improve ACE's use of the global name space - by prefixing all "helper" classes with "ACE_" - - * Updated SPIPE_Acceptor so that it would have the same basic - interface as the SOCK_Acceptor and TLI_Acceptor. - - * libsrc/IPC_SAP: Consolidated the handle_timed_wait() methods - used by the TLI, socket, and STREAM pipe wrappers so that they - share the new ACE::handle_timed_accept() method, which is in - libsrc/Misc. - - * libsrc/Misc: Modified the structure of Misc.[Ch]. Originally, - this file contained a bunch of stand-alone C functions with the - prefix "ace_" to keep them from conflicting with user's code. - I've modified things now so that all the miscellaneous functions - are now static methods in class ACE. This provides better scope - control... - - * libsrc/Log_Msg/Log_Msg: Replaced the use of a Mutex in class - Log_Msg with a Recursive_Lock. This is necessary to - handle signals correctly... - - * libsrc/Reactor/Reactor: Modified the behavior of - Reactor::notify() so that writers will block if the pipe is - full. This solves some nasty flow-control problems. - - * libsrc/Reactor/Handle_Set: changed all uses of fd_set to - ACE_FD_SET_TYPE * so that HP_UX would work correctly... - - * include/ace/config-hpux.h: Removed the ACE_HAS_XLI flag until I - get a better idea which HP systems this is installed on. - - * libsrc/Threads/Thread: Added a new static method called - spawn_n() that spawns "n" threads all running the same function. - -Sat Jul 8 14:14:34 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Service_Configurator: Made some miscellaneous changes to - "const" methods and parameters in order to handle the new - Reactor changes (C++ can be such a pain about this - sometimes...). - - * libsrc/Threads: Added "yield" and "sigsetmask" methods to class - Thread. How did I manage to omit these before?! - - * libsrc/Reactor: Updated the Reactor to use the new Token class - described below. This greatly simplies the structure of the - multi-thread support in the Reactor code. In addition, it - should improve performance because it cuts the number of context - switches compared with the old scheme. Many thanks to - Karl-Heinz and Detlef for encouraging me to redo the Reactor - implementation. - - * libsrc/Threads: Added a new class called Token that provides a - flexible and efficient recursive mutex scheme. Thanks to - Karl-Heinz Dorn (kdorn@erlh.siemens.de) and Detlef Becker - (beckerd@erlh.siemens.de) for sharing their original code for this. - -Thu Jul 6 10:37:45 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Event_Handler_T: Conditionally compiled this so - that it will only compile if the compiler supports template - typedefs (e.g., G++ doesn't seem to like this...). - - * Started to make changes in ACE to deal with the new ANSI C++ - semantics in the scope of variables defined within for loops. - Thanks to Aniruddha Gokhale (gokhale@cs.wustl.edu) for noticing - this in G++ 2.7... - -Wed Jul 5 21:50:39 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Svc_Handler: Fixed the behavior of the - Svc_Handler class so that it can be configured with a Reactor - other than Service_Config::reactor, just like the Acceptor and - Connector. Thanks to Karl-Heinz Dorn (kdorn@erlh.siemens.de) - for suggesting this! - -Tue Jul 4 00:21:31 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added some new changes for Linux courtesy of Charles Rennolet - (clr@thurse.mn.org). - - * libsrc/Reactor/Reactor.C (bit_ops): Fixed a dumb error in - bit_ops that was caused by checking "else if (Reactor::SET)" - rather than "else if (ops == Reactor::SET)". Thanks to Mark - Patton (mark_patton@tx72.mot.com) for finding this bug and - reporting it along with the fix. - - * include/ace/sysincludes.h: Added new fixes for M_SYNC and - ENOTSUP on SunOS 4. - - * libsrc/Reactor: Added new support for integrating X and the - Reactor. These files are called XtReactor.* and XReactor.*. - Thanks to Eric Vaughan (evaughan@arinc.com) for providing this - stuff... - -Mon Jul 3 19:44:07 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added support for SunOS 5.5 on i86 PC. Thanks to Bin Mu - (mubin@wfg.com) for the config files and fixes. - - * libsrc/Misc/Profile_Timer: Added new support for versions of - UNIX that don't support prusage_t. The new version of - Profile_Timer will use gettimeofday() and getrusage() of - prusage_t and /procfs isn't available... This code hasn't been - tested yet (since I don't have SunOS 4.x) so I don't know if it - works. - - * Hopefully fixed the SunOS4 prototype for gettimeofday(). Thanks - to Andrew McGowan (ajm@se09.wg2.waii.com) for the suggested fix. - - * include/makeinclude/platform_hpux.GNU (CC): Added new support - for building ACE and shared libraries on HP/UX. Thanks to Jam - Hamidi (jh1@osi.com) for this code. - - * libsrc/Reactor/Handle_Set: Fixed Handle_Set_Iterator::operator++ - to check for index to be greater or equal than NUM_WORDS instead - of just equal. This is better for sanity, although it may not be - needed. Thanks to Carlos Garcia Braschi (cgarcia@caramba.tid.es) - for suggesting this fix. - -Wed Jun 14 11:16:40 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/TLI_Acceptor: modified TLI_Acceptor so that it's - public constructor/open() and accept() methods are more similar - to the SOCK_Acceptor. In particular, added support for - "SO_REUSEADDR" in TLI_Acceptor and time values for accept(). - Thanks to John P. Hearn (jph@ccrl.nj.nec.com), TLI_SAP now does - the right thing for socket options. - - * libsrc/IPC_SAP: Fixed up the SOCK_Acceptor and TLI_Acceptor in - order to add better support for "timed accepts." The new scheme - uses Time_Values, which is more consistent with other parts of - ACE. In addition, the Time_Value was moved from the - constructor/open() to the accept() method, which allows more - fine grained control over this behavior. Thanks to Irfan - (ip1@cs.wustl.edu) for suggesting this. - - * libsrc/IPC_SAP: Cleaned up the SOCK_Acceptor::open and - TLI_Acceptor::open routine. In addition to being more compact - and robust, this routine now also let's open() determine which - local port to bind to (if you pass in Addr::sap_any as the - local_addr). Thanks to Irfan (ip1@cs.wustl.edu) for suggesting - this. - -Tue Jun 13 16:09:13 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Timer_Queue: Fixed an odd problem with the - Timer_Queue on Solaris. Apparently the select() call will - return slightly earlier than the timeout dictates due to lack of - granularity with the system clock. This was causing problems - where the Reactor wasn't correctly dispatching the - handle_timeout() method of Event_Handlers. The fix was to add a - 10 Millisec "fudge factor" when calling the - Timer_Queue::expire() method. Please let me know if this causes - any problems. Thanks to Giang Hoang Nguyen - (yang@titan.com) to noticing this problem. - - * libsrc/Connection/Acceptor: Enhanced the Acceptor class so that - it is possible to accept a new SVC_HANDLER synchronously, rather - than always driving this acceptance out of the Reactor's event - loop. Thanks to Irfan (ip1@cs.wustl.edu) for suggesting this. - - * libsrc/IPC_SAP/Addr: Changed all occurrences of ace_sap_any to - Addr::sap_any (i.e., sap_any is now a static data member in - class Addr). This is an improvement since it helps to limit the - scope of what would otherwise be global variables... - -Wed Jun 7 17:26:31 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Logger/Reactor_Logger/Client_Acceptor.i (handle_input): - Fixed a braino that omitted an important block of code! Thanks - to Ken Konecki (kenk@wfg.com) for finding this. - -Fri Jun 2 13:59:07 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/INET_Addr.i (set): Removed the special case - for INADDR_ANY. This should just fall right out... - -Thu Jun 1 19:45:21 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SOCK_SAP/SOCK_Connector: Added support to - SOCK_Connector so that it is possible to bind the local TCP port - number prior to establishing the connection. Also fixed the - TLI_Connector to be consistent with this approach. Thanks to - Mark Patton (mark_patton@tx72.mot.com) for this idea. - - * Fixed a problem with Mem_Map that was caused by the fact that - some versions of Unix (e.g., SunOS 4.x) don't support MS_SYNC... - Thanks to Andy McGowan (mcgowan@wg2.waii.com) for noticing this. - - * Fixed a very stupid bug in ./libsrc/Synch.h that accidentally - omitted this->lock_.acquire() from the Guard class constructor. - Thanks to Bin Mu (mubin@wfg.com) for noticing this! - -Fri May 26 13:20:38 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Connection/Acceptor: Added a new method called - make_svc_handler() that generalizes the dynamic creation of a - SVC_HANDLER by the Acceptor's Template Method handle_input(). - This scheme is completely backwardly compatible with the - original approach, but now allows transparent extension too! - - * libsrc/Connection/Acceptor: cleaned up the Template Method logic - in Acceptor::handle_input. No longer do we set the listener - socket into non-blocking mode and then rely on a -1 with - EWOULDBLOCK to indicate there are no more connections to - establish. This was causing problems for singleton Svc_Handlers - since the Acceptor was setting their peer_stream_ to -1... The - new approach should complete solve this problem. - -Mon May 22 15:10:27 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 3.2.3 so that Bill Sears can test the new - #include "ace/" features. - - * Modified all the ACE source, tests, and apps so that all - #includes of its headers are refixed by ace/, e.g.: - - #include - - There are two reasons for have the include files be of - this form: - - First, you can tell at a glance by looking at the caller where - the library is coming from. - - Secondly, you can build an include tree of the form: - - /include/lib1 - /include/lib2 - /include/lib3 - /include/ace - - which then links to WRAPPER_ROOT. Now, all you have to do - when you build a make file is point to the include root, and - put links in the include root. This is especially helpful - if there are multiple versions. - - This means just one less thing that has to be modified in the - Makefile. Thanks to Bill Sears (wsears@world.std.com) for - recommending this change. - -Sat May 20 17:12:35 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * config-irix5.3-sgic++.h: Added new configuration support for SGI - IRIX5.3 courtesy of Stuart Powell (stuartp@ot.com.au). - -Sat May 13 20:44:06 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Generalized the SOCK_Connector::complete method so that it takes - a Time_Value timeout. This allows applications to wait upto a - certain limit before giving up on a non-blocking connection. - Updated the tests in ./tests/IPC_SAP/SOCK_SAP/CPP-inclient.C to - illustrate how this is used. - - * Added some interesting new tests to ./tests/Mem_Map that can be - used to benchmark the performance of various strategies (e.g., - stdio, read/write, mmap, etc.) for copying files. - -Fri May 12 19:09:10 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Mem_Map/Mem_Map: Added two new overloaded methods called - sync() that are wrappers around the msync(3c) system call. Also - added a new unmap() method that gives access to the full - behavior of munmap(3c). - -Wed May 10 14:16:16 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Tried yet another fix for the gettimeofday() botch that both - Centerline and SunOS 5.4 screw up in different ways. Thanks to - Medhi Tabatabai (Mehdi.Tabatabai@ed.nce.sita.int) for the latest - fixes. - -Tue May 9 19:05:58 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Handle_Set.C: Fixed some "off-by-one" errors that - were occurring in the Handle_Set::sync() and set_max() methods. - Thanks to Nigel Hooke (n.hooke@trl.oz.au) for finding and fixing - these. - -Mon May 8 02:01:54 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C: Moved the Null_Callback class from - being nested within the Reactor class to outside the Reactor - class. This fixes a problem with the SIG compiler. - - * Released version 3.2.2. - - * libsrc/Reactor/Signal.C: Made the Signal_Handler class - thread-safe as well as signal-safe. - - * libsrc/Reactor/Reactor.C: Modified the new Reactor - implementation slightly to handle signals correctly. - - * libsrc/Threads/Synch.h: Added a new conversion operator to - Recursive_Lock that returns the underlying LOCK in case we need - it for something (e.g., to initialize a Condition object). - -Sun May 7 04:17:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C: Finished what I hope will be the last - set of changes to make the Reactor robust in multi-threaded - programs in situations where separate threads are used to - register and remove handlers. The final solution is elegant in - that it does not significantly penalize the performance of - programs that do not use separate threads to register and remove - handlers. Moreover, if you compile without the ACE_MT_SAFE flag - the Reactor will not include additional state information - related to the multi-threaded implementation. - - * libsrc/Threads/Synch.h: Subclassed the Guard class to make a new - class Try_Guard that uses tryacquire() to obtain a LOCK. - -Fri May 5 18:43:50 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 3.2.1 - -Thu May 4 19:43:01 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/TLI_SAP/TLI_Connector.C (connect): Fixed a - problem whereby a t_bind() was being done twice. Since I didn't - write this code I don't know if my fix will work generically on - all platforms supporting TLI. Please let me know if there are - any problems. - -Tue May 2 17:21:53 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor: Added a new notification feature that allows - multiple threads of control to enqueue Event_Handler * to the - main Reactor thread via the pipe used to wake up the main - Reactor thread. The Reactor will call the handle_exception() - method on Event_Handler with a HANDLE == -1 to notify the - handler. This feature is very useful if you need to have - certain operations (such as handler termination) performed in - the main thread. - -Tue Apr 25 00:34:18 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor: Fixed a stupid pair of typos in the Reactor that - failed to cast arguments to the pipe to char *. - - * libsrc/Connection: Fixed a portability problem with the - Connector: we can't use RW_Mutex for synchronization since not - all platforms support threads. The quick fix is to use - Null_Mutex, but a better long term approach is on the way! - - * Released version 3.2. - - * Added richer support for the TLI_Connector to make it work - better with protocols other than TCP/IP. Thanks to Mats - Sundvall (sundvall@perrier.embnet.se) for these enhancements. - -Mon Apr 24 02:26:04 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Changed the SOCK_Dgram_Brdcast class name to SOCK_Dgram_Bcast - and the SOCK_Mcast to SOCK_Dgram_Mcast to be more consistent. - - * Massively improved the Reactor's support for multi-threading. - There was actually a major problem in previous versions of ACE - that used poll() as the underlying event demultiplexor. Poll() - produced incorrect results when the Reactor::handle_events() - method was run in one thread, but another thread came along and - registered or removed an Event_Handler. The new version fixes - this problem so that the Reactor will now work correctly in - multi-threaded programs. - - One consequence of this change is that sysincludes.h and the - SunOS 5.x configuration files have been changed so that poll() - is no longer used as the default demultiplexor. The reason is - that poll() doesn't work as efficiently when used in - multi-threaded programs (ugh). See the Reactor code for - examples of how this all works now. Basically, the trick is to - use the select()-style implementation for most of the code, and - transform to poll()-style implementation only when necessary. - -Sat Apr 22 03:35:51 1995 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * libsrc/ASX/Message_Queue: Added a new method to the - Message_Queue class called unblock(). This method allows one - thread to release all other threads that are waiting for - messages to be enqueued or dequeued on a Message_Queue. - Modified the return value of methods like enqueue_head() and - dequeue_head() so that if a thread unblocks() then these methods - return -1 with errno == ESHUTDOWN. Also changed the name of - some of the internal methods so that they would be more - consistent. - - * libsrc/Connection/Connector: Fixed a stupid bug caused by - failing to have a destructor for Connector. Thus, there are - cases where unconnected Svc_Handlers are left around in the - handler_map_. This causes problems for dynamic linking in - conjunction with the Reactor, so now the destructor iterates - through all the unconnected Svc_Handlers and removes them from - the Reactor. - -Fri Apr 21 15:28:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Signal: Changed Sig_Set::addset() and - Sig_Set::delset() to the more appropriately named sig_add() and - sig_del(). Also added '_' in the Sig_Set method names to be - more consistent... - - * Removed the ./libsrc/IPC_SAP/SOCK_SAP/misc.[hC] file and merged - the one function in that file (ace_bind_port) into - ./libsrc/Misc/Misc.[hC]. - - * Added a bunch of fixes from various people to make ACE compile - better on SGI, SunOS 4, and HP/UX. Thanks for all the fixes! - - * libsrc/IPC_SAP/Addr: Changed sap_any to ace_sap_any to avoid - problems with the namespace. - - * Added a new portability flag that only compiles the SOCK_Mcast.* - stuff if the platform supports multicast! - - * ./libsrc/Shared_Malloc: Fixed some portability bugs with - Memory_Pool.C and added new support for SunOS 4.x running SunC++ - 4.x. Thanks to Steve Warwick (swarwick@arinc.com) for this - strategic help. - -Wed Apr 19 09:05:43 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Fixed up the ./libsrc/CORBA_Handler so that it will correctly - compile on platforms that don't have Orbix... - - * libsrc/Misc: added a new "Simple String" class called SString. - This is not really meant to be used by end-user applications. - It is used by certain portions of ACE that need to have - operator== and operator!= defined on a string (e.g., the - Token_Server and the Orbix Event_Comm components that use the - Map_Manager). - -Tue Apr 18 00:09:31 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/ASX: Fixed a stupid bug in Task::activate() that didn't - spawn a thread if the Thread_Manager was NULL... - -Sat Apr 15 19:39:30 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor: Added a new class to the Reactor called - Event_Handler_T.[hi]. This class makes it easy to integrate - existing classes into the Reactor framework without requiring - them to inherit from Event_Handler directly. This technique is - a superset of the DEF_TIE approach used by IONA in Orbix as one - of the ways to combine an existing class (that doesn't know - anything about CORBA) with a CORBA interface. Thanks to Greg - Lavender - (g.lavender@isode.com) for the suggestion. - -Fri Apr 14 14:41:49 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Run catman on the ./man directory so that it now has a windex - file. This facilitates "man -k". - -Thu Apr 13 23:39:22 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor: Made the Reactor be a stand-alone component that - does not require any other ACE libraries. - - * Added two new methods to the Reactor so that you can now - register or remove a set of HANDLEs in a single call. Thanks to - Bill Sears - (wsears@world.std.com) for this suggestion. Basically, now you - can register or deregister a set of n HANDLEs with one operation - (rather than doing n register_handler () or n remove_handler - ()). - - * include/sysincludes.h: Changed the name of the macro MT to - ACE_MT and DB to ACE_DB to avoid polluting the namespace. - -Wed Apr 12 11:14:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C (close): Added code to close down the - pipe handles when the Reactor is shut down. Thanks to Mark - Patton (mark_patton@tx72.mot.com) for this info. - -Fri Apr 7 18:33:30 1995 Douglas C. Schmidt (schmidt@siesta.cs.wustl.edu) - - * Added a new method to CORBA_Handler so that handlers don't need - to subclass from CORBA_Handler, but rather can call the - CORBA_Handler::register_service() method (which is static). - Thanks to Chris Tarr (ctarr@objectspace.co) for this suggestion. - -Mon Apr 3 13:09:45 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added a new static method to Service_Config.[hC] called - end_event_loop(). This can be used to stop the run_event_loop() - method of the Service_Config. In addition, all the methods in - Service_Config were changed to be static to emphasize the fact - that the Service Configurator is a singleton... - - * include/Trace.h (ACE_TRACE): Changed the macro T to ACE_TRACE. - This will prevent namespace pollution. - - * Added support for the Orbix CORBA implementation. If you don't - have Orbix, you'll need to remove this flag from the - config-sunos5-sunc++.4.x.h file if you are compiling on SunOS - 5.x. - -Sun Apr 2 01:12:19 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added new support for C++ wrappers around the IP multicasting. - There are three new files in ./libsrc/IPC_SAP/SOCK_SAP called - SOCK_Mcast.[hiC] and a new test directory in - ./tests/Reactor/multicast and ./tests/Reactor/ntalker to - illustrate how to use this stuff. Thanks to Tim Harrison - (harrison@cs.wustl.edu) for this code. - -Sat Apr 1 18:48:40 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added support to the libsrc/Shared_Malloc/Memory_Pool.[hC] class - for System V shared memory, as well as for mmap(2) and sbrk(2) - memory. Please note that this has not been extensively tested - yet, so use with caution... - -Thu Mar 30 21:50:00 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Misc/Atomic_Op: Added the postfix versions of the ++ and - -- operators. This stops the Sun CC compiler from griping about - the "anachronistic" usage when using a++ rather than ++a. - Thanks to Bruce Worden for the - suggestion. - -Wed Mar 29 22:26:37 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Handle_Set: Fixed a weird problem where I was - using NOFILE as the max number of descriptors rather than - FD_SETSIZE. I don't know why I was doing this. - - * Also fixed up a problem with Handle_Set that was causing the - iterator to go nuts when it got a strange initial value of - fd_set in Handle_Set. Orbix triggers this kind of nonsense in - some cases... - -Tue Mar 28 21:01:36 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/Reactor/Reactor.C: swapped the order of dispatching so - that handle_exception methods are dispatched before handle_input - methods to improve response time for exceptions (e.g., OOB - data). Thanks to Detlef Becker - (beckerd@erlh.siemens.de) for suggesting this. - - * Fixed a bug in ./ASX/Stream.i that caused problems when a Module - was popped off a Stream. Thanks to Paul Stephenson for noticing - this and sending me the fix. - - * Changed the Reactor::dispatch methods so that they dispatch the - timers *before* dispatching the I/O-based event handlers. This - is helpful for systems that are time-delay sensitive. - - * libsrc/Reactor/Time_Value: Added new += and -= operators to - Time_Value. Thanks to Alex V. Maclinovsky - (garyh@teleng1.tait.co.nz) for this suggestion. - -Thu Mar 23 15:38:23 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/Addr/SPIPE_Addr.i (set): Fixed a problem that the - HP/UX compiler had with complex arithmetic expressions. - - * libsrc/Service_Configurator: fixed up the Service_Configurator - source code so that it will compile correctly on HP/UX - platforms. - -Tue Mar 21 00:28:25 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * libsrc/IPC_SAP/SOCK_SAP/LSOCK_Connector.h: Fixed an amazingly - stupid bug with LSOCK_Connector, where I was passing in a - default argument of PF_INET instead of PF_UNIX... Arrgh! - -Mon Mar 20 20:24:29 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Fixed up the $WRAPPER_ROOT/include/makeinclude/ directory to - define a new set of platform-specific configuration files. This - should greatly improve the portability of ACE to different - OS/compiler platforms. - - * Added a bunch of changes to allow ACE to build with Lucid C++ on - SunOs 4.x. This should also fix some other problems we've been - having with SunOS 4.x. Thanks to Lee Baker (baker@ctis.af.mil) - for these changes. - -Sun Mar 19 00:34:30 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added manual pages for all of the ./libsrc libraries. These - manual pages are all generated automagically from the libsrc - header files. - -Sat Mar 18 10:48:46 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Finally broke down and fixed the Makefile scheme so that there - is just one shared library (libACE.so) and one archive library - (libACE.a). This should massively simplify the application - development process, though it may require a bit of fixing of - Makefiles to remove all the -lReactor -lIPC_SAP stuff that was - in there before. - - * libsrc/IPC_SAP/TLI_SAP/: Fixed a stupid bug that was causing - core dumps since the TLI option pointers weren't initialized to - 0 in the TLI::TLI constructor. Thanks to Ed Brown for noticing - this (eebrown@netcom.com). - -Wed Mar 15 00:08:19 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added some new fixes to get ACE to run on OSF1 and Linux. - -Tue Mar 14 13:36:31 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added several changes to the source code and config-hpux.h - configuration file based on comments from Alex Ranous - (ranous@nsa.hp.com). In particular, changed ACE_HAS_NO_FDSET to - ACE_SELECT_USES_LONG. - -Mon Mar 13 09:23:58 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Improved the Makefile scheme so that the use of PTDIRS is no - longer required. The trick was to link the appropriate template - *.C files into the WRAPPER_ROOT/include directory. This enables - the compiler to find them in one single place. - -Sun Mar 12 22:35:50 1995 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added a new mechanism to clean up the insane number of -D's in - the Makefile. This new mechanism requires a bit more work at - installation time, but should greatly reduce the effort during - normal software development - (once ACE is installed...). See the INSTALL file - for more details. - -Fri Mar 10 17:29:02 1995 Douglas Schmidt - - * Fixed a stupid bug in Map_Manager.i which wasn't correctly - setting default values for fields in one of the Map_Manager - constructors. - -Fri Mar 10 08:54:42 1995 Doug Schmidt - - * /libsrc/Connection/Acceptor.i: Fixed a potential memory leak in - handle_input(). - -Thu Mar 9 11:59:54 1995 Doug Schmidt - - * Changed the Map_Manager::find() method to use class Read_Guard - so that multiple finds may proceed in parallel on a multiple - threaded application. Likewise, changed the implementation of - bind() and unbind() to use class Write_Guard so that destructive - operations will be serialized correctly. One consequence of - this is that RW_Mutex must be used instead of Mutex... - - * Added a new overloaded Map_Manager::unbind() method with an - INT_ID parameter. This parameter that passes back a reference - to the internal id being unbound. This allows the caller to - clean up any dynamic memory associated with the INT_ID. - -Tue Mar 7 13:32:17 1995 Doug Schmidt - - * Changed a bunch more things to get ACE to compile with - Centerline C++. This should also make ACE more portable to - other cfront-based compilers. - - * Had to change the ASX source in ACE to work around a stupid - problem with templates in cfront-based C++ compilers. - Fortunately, it was possible to mask most of the problems using - the C++ preprocessor. - - * There seem to be some problems with cfront-based compilers (such - as centerline). They don't like the new SYNCH::MUTEX usage in - the Message_Queue. - - * Removed several unused local variables in the INET_Addr::set() - method. - -Wed Mar 1 00:35:11 1995 Douglas C. Schmidt (schmidt@tango) - - * Added a major performance boost on high-speed networks. It - turns out that send(3) and revc(3) are slower than write(2) and - read(2) (since the latter are system calls, and the former are - library calls. Therefore, I added new overloaded methods to - SOCK_IO so that write(2) and read(2) are available to the user! - -Tue Feb 28 10:13:09 1995 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Reactor/Reactor.C: Fixed the implementation of the - Reactor::open and Reactor::Reactor constructor so that it is now - possible to resize the size of the Reactor *after* the - constructor has run (by calling open()) *without* having to shut - down the Reactor first. - - * Modified the Reactor::attach() method so that it will ADD the - new bits to the bitmask rather than SET them. Thanks to Mark - Patton for recommending this - (mark_patton@tx72.mot.com). - -Sat Feb 25 15:08:04 1995 Douglas C. Schmidt (schmidt@tango) - - * Released version 3.0.5. - -Fri Feb 24 17:57:01 1995 Douglas C. Schmidt (schmidt@tango) - - * Used the OSE class2man scripts to generate UNIX manual pages for - IPC_SAP, Thread, Connection, and Reactor. Other manual pages - will be forthcoming... - - * libsrc/IPC_SAP/Addr/INET_Addr.i: Fixed a bug in one of the - INET_Addr::set() methods that caused a segmentation fault if - host_name was NULL. In addition, greatly cleaned up the code so - that all the "set" methods share a common basis of code. - -Tue Feb 21 19:32:28 1995 Douglas C. Schmidt (schmidt@tango) - - * Updated the entire release to use the new SYNCH template - interface for Task, Module, Stream, and Message_Queue. This is - *much* cleaner, though it reveals some bugs with the Sun C++ - templates facility. - -Mon Feb 20 22:46:14 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed the SPIPE_SAP, SOCK_SAP, and TLI_SAP *Connector class - methods from open() to connect(). This is a more accurate name - and it also fits in nicely with the Acceptor::accept() method. - - * Started integrating new versions of various header files that - include hooks to automatically generate documentation. - -Tue Feb 14 20:52:13 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed the order in which the Reactor dispatches descriptors. - Originally, it dispatched the "read" descriptors *before* the - "write" descriptors. Now, it dispatches the "write" descriptors - first. This was necessary to handle weird behavior of sockets - over TCP/IP when data is piggy-backed with the final ACK on a - non-blocking connection. - -Mon Feb 13 15:49:21 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed the name of Event_Handler::get_fd() to - Event_Handler::get_handle() to be more consistent with other - usage in ACE. - -Sat Feb 4 22:47:34 1995 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Service_Configurator/Service_Object: changed the - destructor to be virtual (thanks to Steffen Winther Sorensen - for noticing this). - -Sat Jan 28 16:29:49 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed the name of class Map_Manager's Search_Structure struct - to Map_Entry. This is more specific to what that data structure - really does. - - * Began adding support for Linux, courtesy of sts@dad.stibo.dk. - -Sun Jan 22 23:15:38 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed the name of the ./libsrc/Connector-Acceptor directory to - ./libsrc/Connection. Also changed the name of libConn_Acc.so to - libConnection.so to be more consistent. - -Sat Jan 21 13:59:18 1995 Douglas C. Schmidt (schmidt@tango) - - * libsrc/IPC_SAP: Fixed the *Acceptor classes for SOCK_SAP and - SPIPE_SAP so they behave just like FIFO_SAP and contain a method - called remove(). This method closes the underlying descriptor - and also unlinks the local address from the file system. - - * libsrc/ASX/Message_Queue.i (copy): Fixed this code so that it - correctly stores starting at the wr_ptr rather than the rd_ptr. - Thanks to Chris Cleeland - (chris@milo.st-louis.mo.us) for pointing this out - to me. - -Wed Jan 11 13:07:19 1995 Douglas C. Schmidt (schmidt@tango) - - * Changed all uses of class Thr_Manager to class Thread_Manager - and class Thr_Cntl to Thread_Control. This is more readable and - is now consistent with the documentation... - -Tue Jan 10 13:49:31 1995 Douglas C. Schmidt (schmidt@tango) - - * Modified the makefile scheme so that only the *.so files are - built by default. If you want to build both *.a and *.so files, - uncomment out the lines described in - $WRAPPER_ROOT/include/makeinclude/rules.lib.GNU. Note that this - will require you to run make on the ./libsrc directories twice - in order to properly build and install both the *.a and *.so - libraries. - -Mon Jan 9 22:57:29 1995 Douglas C. Schmidt (schmidt@tango) - - * libsrc/Reactor/Signal.h: Changed the name of the Signal_Block - class to the Signal_Guard class to be more consistent with the - Guard class in Synch.h. - -Sat Jan 7 19:49:46 1995 Douglas C. Schmidt (schmidt@tango) - - * tests/ASX/Event_Server/Event_Server: Revised the Event Server - test example to use the Acceptor pattern components. - -Fri Jan 6 23:38:21 1995 Douglas C. Schmidt (schmidt@tango) - - * Added a new method to class Task that turns a task into an - active object (i.e., associates a thread of control with the - task). This is useful since it replaces all the places in - application code that original said "this->thr_mgr_.spawn - (THR_FUNC - (&this->svc_run))", etc... - -Thu Jan 5 21:05:15 1995 Douglas C. Schmidt (schmidt@tango) - - * libsrc/ASX: Changed the capitalization of class STREAM to class - Stream. This seems more reasonable since I don't see any - particular reason to shout about Streams! - - * libsrc/ASX/Task: Changed name of method qreply() to reply() to - reflect the fact that the name of the class is no longer Queue! - - * libsrc/ASX: Made both Task and Message_Queue into parameterized - types. This greatly improves the ability to parameterized - synchronization into an application. - - * Changed all occurrences of timestruc_t to use Time_Value - instead. This helps to improve portability and reduce the - "impedence mismatch" caused by mixing both C and C++ types in - the ACE interfaces. Note that one drawback of this is that we - lose nano-second timing accuracy. However, I don't know of any - real OS platforms that support that degree of precision anyway! - - * libsrc/Reactor: Moved the static "zero" data member from the - Timer_Queue class to the Time_Value class. Also added a new - static data member called "zerop," which is a pointer to "zero". - - * libsrc/Threads/Synch: Changed the interface of class Condition - so that it no longer has both wait() and a timedwait() methods. - Since C++ has default values, these two methods were redundant. - Now, there is only a single method called wait(). By default, - it's argument is 0, which defaults to the original wait() - semantics. If the argument is non-zero then the timewait - semantics apply. - - * libsrc/Threads/Synch: Added a new class called Null_Condition. - This is similar to the Null_Mutex class in the sense that it has - the same interface as class Condition, but it's methods are all - no-ops - (however, wait() and signal() both set errno = ETIME - before returning...). This class is useful for - parameterizing synchronization into an application. - diff --git a/ChangeLog-96a b/ChangeLog-96a deleted file mode 100644 index 5aa3c9b69fc..00000000000 --- a/ChangeLog-96a +++ /dev/null @@ -1,3889 +0,0 @@ -Sun Jun 30 15:28:43 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (cond_timedwait): Fixed the implementation of the - ACE_OS::cond_timedwait() wrapper such that if the - caller-specified timeout elapses without the condition variable - being signaled that errno is always set to ETIME. This fixes - some inconsistencies that occurred with POSIX pthreads and Win32 - threads. Thanks to Ross Dargahi for pointing - this out. - - * ace/SOCK.cpp: Changed SOCK::close() to use the new - ACE_OS::closesocket() call. This should fix some weird bugs - that have been lurking in the code for some time now! - - * ace/OS: Added a new method to ACE_OS called closesocket(). This - handles the differences between Win32 and UNIX in their - treatment of sockets (e.g., NT requires the use of - closesocket(), whereas UNIX requires the use of close(). Thanks - to Irfan, Prashant, and Tim for figuring this one out! - -Sat Jun 29 21:23:04 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/SPIPE_Acceptor.cpp (create_new_instance): Added the flag - (FILE_FLAG_OVERLAPPED) in call to CreateNamedPipe. - -Fri Jun 28 01:31:24 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Svc_Handler.cpp (open): Fixed a small typo that caused a - compile error if the DEBUGGING macro was enabled. Thanks to - Irfan for finding this. - -Wed Jun 26 03:19:27 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Synch_T.cpp (ts_get): The tss object allocated off the heap - should be released if setspecific fails. Thanks to John Lu - for reporting this. - - * ace/CORBA_Handler.cpp (handle_input): changed ACE_OS::send and - ACE_OS::recv to ACE::send and ACE::recv respectively in - CORBA_Handler.cpp. Thanks to Irfan for pointing this out. - - * ace/Service_Config: slightly modified the Service_Config.[h,cpp] - in order to make it possible to create an ACE_Service_Config - with an external ACE_Reactor as a parameter. On creation I was - handling this partly correct (i.e., not creating a new reactor). - However, there was no flag for remembering this for a later - deletion. Thus, on deletion I was doing a delete on the Reactor - regardless of who created it. This is now fixed. Thanks to - Karlheinz for pointing this out. - - * examples/ASX/CCM_App/CCM_App.cpp: Changed all uses of init (int, - char **) to init (int, char *[]) to work around a "feature" with - MSVC++ 4.x... Thanks to Karlheinz for pointing this out. - - * ace/OS.h: Added a new typedef of TCHAR to be compatible with - Win32 UNICODE type names... - - * ace/{Mem_Map,DEV_Addr,SPIPE_Addr,FILE_Addr}: Added UNICODE - support for Win32 to all interfaces that require filenames. - - * ace/{SPIPE_Stream,SOCK_IO,FILE_IO,DEV_IO}: Added a new pair of - send()/recv() methods that take ACE_OVERLAPPED pointers in order - to make it possible to integrate seamlessly with Win32 - overlapped I/O. Naturally, these methods are simply - "callthroughs" to the ACE_OS versions... - - * ace/OS: Added a new pair of send()/recv() methods that take - ACE_OVERLAPPED pointers in order to make it possible to - integrate seamlessly with Win32 overlapped I/O. - - * ace/SPIPE_Acceptor: Factored out common code in the Win32 - implementation of ACE SPIPES (which uses Win32 Named Pipes, of - course ;-)). - - * ace/SPIPE_Acceptor.h: Removed a vestige of the past -- - ACE_SPIPE_LISTENER_H should be ACE_SPIPE_ACCEPTOR_H... - -Wed Jun 19 19:35:12 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/SPIPE_{Acceptor,Connector}: Modified SPIPE_Acceptor and - SPIPE_Connector to implement Named Pipes on NT. The public - interface remains the same. - -Sun Jun 16 00:45:41 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Service_Config: Provided public accessor methods for the - following data memebers of the ACE_Service_Config: - - reconfig_occurred_ - end_event_loop_ - - Thanks to Steve Warwick for suggesting this. - - * ace/Synch*: Added UNICODE support for the ACE synchronization - classes (e.g., ACE_Mutex, ACE_RW_Mutex, ACE_Semaphore, etc.). - - * ace/OS: Added UNICODE support for the ACE_OS::dl_open() - function, as well as the ACE_OS synchronization functions. - - * ace/CORBA_Handler: Added Seth's changes for Orbix 2.0. - -Sat Jun 1 13:30:55 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Memory_Pool.cpp (remap): Fixed a bug in - ACE_MMAP_Memory_Pool::remap (). The test for whether or not the - addr falls within the range had a '!' (not) missing, that is, it - was failing when it should be succeeding and vice versa. - -Sun Jun 9 00:01:44 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.24 for testing. - - * ace: Changed all uses of ACE_Guard m (lock_) to ACE_GUARD - (LOCK, lock_), which is a macro that is defined as follows: - - ACE_Guard ace_mon (LOCK); \ - if (m.locked () == 0) return; - - The reason we need this is (1) detect locking failures, rather - than have things fail silently and (2) to automatically detect - deadlock in the Reactor. In addition, I also added - ACE_GUARD_RETURN, which is similar to ACE_GUARD, except that it - returns a "failure" status when the lock is not acquired. - Thanks to Karlheinz for suggesting this. - - * ace/Log_Msg: Added the new thr_state() accessors to Log_Msg. - - * ace/Thread_Manager.cpp: factored out some common code by having - the public interfaces (like resume() and suspend()) utilize the - protected interfaces (like resume_thr() and suspend_thr()). - - * ace/Thread_Manager.cpp: Added sanity checks for suspend(), - resume(), cancel(), etc. so that we don't blow up if someone - tries to perform an operation on an invalid thread id. - - * ace/Thread_Manager: Added a suite of new methods for - (1) cooperatively "canceling" threads and (2) testing if threads - are cancelled (also added similar checks to test if threads are - suspended or resumed). The cooperative cancellation mechanism - is based on a design fleshed out with Detlef and Karlheinz. - It's essentially a compromise between the powerful mechanisms - available via POSIX pthreads vs. the totally lame mechanisms - available in Win32. - - Here's how it all works: - - 1. Added several new methods to ACE_Thread_Manager: - - cancel(thr_id); -- cancels thr_id - cancel_all(); -- cancels all the threads in a Thread_Manager - cancel_grp(grp_id); -- cancels a group of threads in a Thread_Manager - testcancel(thr_id); -- returns "true" if thr_id has been cancelled - - 2. Updated ACE_Log_Msg to maintain the current state of a thread - in thread-specific-storage (TSS). Actually, it's more clever - than that since I really keep a *pointer* to the state of a - thread in TSS. This pointer actually points *back* to the - ACE_Thread_State field in the ACE_Thread_Manager! I use it - as a cache as follows: - - ACE_Thread_Manager::testcancel (thread_t t_id) - { - ACE_MT (ACE_Thread_Mutex_Guard m (this->lock_)); - - // Try to get the cached value out of TSS to avoid lookup. - ACE_Thread_State *thr_state = ACE_LOG_MSG->thr_state (); - - if (thr_state == 0) - { // We need to init the cache. - int i = this->find (t_id); - if (i == -1) return -1; - // Update the TSS cache. - ACE_LOG_MSG->thr_state (thr_state = &this->thr_table_[i].thr_state_); - } - return *thr_state == ACE_THR_CANCELLED; - } - - Note that this allows me to avoid searching the - Thread_Manager on every Thread_Manager::cancel() access - except the first one! - - 3. I've updated the examples/Threads/test_thread_manager.cpp - test file to exercise the new cooperative thread cancellation - scheme. It basically spawns a bunch of threads that go into - their own event loops doing - - if (thr_mgr ()->testcancel (ACE_Thread::self ()) != 0) - break; - - every so often. Naturally, the main thread cancels them by saying - - thr_mgr ()->cancel_grp (grp_id); - - when it wants to inform them to shut down. - - * ace/Thread_Manager: Moved the Thread_State enum from the - ACE_Thread_Descriptor class to OS.h and renamed it to be - ACE_Thread_State. This will make it easier to integrate the - state of a thread in thread-specific storage... - -Sat Jun 8 13:35:17 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (sema_post): revised the implementation of the POSIX - Pthreads semaphore implementation just a bit in order to make it - slightly more efficient (it now releases the mutex before - signaling the condition variable). - - * ace/OS.i and config-aix.4.1.h: added a fix that separates the - decision about whether optlen is a pointer from the decision of - the type of optlen. This fixes a problem on AIX. Thanks to Bob - Olson for this fix. - - * ace/Proactor.h: Fixed a small glitch that was causing some - compilers to break due to the fact that they can't grok fully - qualified destructor syntax in the class definition. Thanks to - Alfred Keller for reporting this. - - * ace/OS.h: Added some Win32 macros (e.g., GENERIC_READ) to the - UNIX side of the house in order to compile the Proactor on Win32 - and UNIX. - -Fri Jun 7 19:36:27 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added a new Bourne shell script called ACE-install.sh that will - automatically download and install on UNIX machines. Thanks to - Ajit Sagar for contributing this. - -Thu Jun 6 00:37:02 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.23 for testing. - - * ace/Local_Tokens: Updated the *.cpp and *.i files to remove - warnings and generally improve the conformance to the ACE coding - guidelines. - - * examples: Moved the Proactor directory into the Reactor - directory since the Proactor and Reactor are really two - implementations of the same basic pattern. - - * ace/Memory_Pool.cpp: Fixed an inconsistency caused by not - updating __INLINE__ to __ACE_INLINE__. Thanks to Neil Cohen for - finding this. - - * ace: Added support for the Florida State PTHREADS package. - Thanks to Gary Salsbery and - Eric Beser for helping with this. - - * ace: Added support for the m88k OS. Thanks to Gary Salsbery - and Eric Beser - for helping with this. - - * ace/OS.h: Added a default value of NULL to the sigwait() OS - wrapper method to simplify the usecase in certain cases. - - * ace/Memory_Pool.cpp (commit_backing_store): Fixed what is - hopefully the last typo related to the ACE_DEFAULT_BASE_ADDR - macro. Thanks to Neil B. Cohen for reporting - this. - -Thu Jun 6 15:31:40 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/CORBA_Handler.h: This version of the CORBA_Handler works - with Orbix 2.0. Most of the changes involve the use of C++ - Exception Handling (the removal of IT_X), and the location of - some CORBA system exception classes. - - * ace/Event_Handler.h: Added handle_*_complete methods for the - Proactor. The Proactor now takes Event_Handlers and calls back - the **_complete methods when overlapped I/O operations have - completed. - - * ace/Service_Config.h: Added static accessors for the Proactor to - the Service_Config object. Similar to the Reactor accessors, - applications can now use the Service_Config object as the global - access point to the Proactor event demultiplexor. - -Wed Jun 5 22:40:28 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (t_free): Added a check to avoid deleting a NULL ptr. - This was causing problems for the TLI_Acceptor. Thanks to Ajit - Sagar for reporting this. - - * ace/Makefile: Changed things back so that both static and - dynamic libs are built by default... Thanks to Brad Brown - for pointing this out... - -Sat Jun 1 13:49:51 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.22 for testing. - - * Added Tim Harrison's latest tests for Proactor. - -Sat Jun 1 13:30:55 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Memory_Pool.cpp (remap): Fixed a bug in - ACE_MMAP_Memory_Pool::remap (). The test for whether or not the - addr falls within the range had a '!' (not) missing, that is, it - was failing when it should be succeeding and vice versa. - -Fri May 31 16:31:13 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Rereleased version 4.0.21 for testing. - - * Copied over new versions of the Proactor -- there was a small - problem with the UNIX version that caused it not to compile... - -Fri May 31 00:03:41 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * examples/Proactor/test_proactor.cpp: Added a test program for - the Proactor. Check examples/Proactor/README for more details - on this test example. - - * ace/Proactor.cpp: Added first pass at the Proactor for win32. - The Proactor is a Reactor-like abstraction that uses - asynchronous I/O, rather than synchronous I/O. On Windows NT we - implement the Proactor using overlapped I/O. We'll soon be - porting the Proactor to Solaris using POSIX 4.x aio_* API for - real-time programming. - - Unfortunately, the Proactor has not yet been integrated with - Windows NT WaitForMultipleObjects since it appears that I/O - Completion ports are not "waitable" objects on Windows NT. Does - anyone know if this has been fixed in release 4.0? - -Thu May 30 05:51:23 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Synch.i: Reordered the definitions of several methods in - Synch.i to avoid warnings from G++. Thanks to Marco Sommerau - for noticing - this. - - * ace/Log_Msg.cpp: There was a problem having to do with the order - in which static objects by G++. In particular, G++ was calling - the constructor of the lock_ mutex in Log_Msg.cpp *after* it was - being used for the first time. The right solution is to make - lock_ be a pointer and allocate it once in the instance() - method. Thanks to Marco Sommerau - for finding this - problem. - - * ace/TLI_Acceptor.cpp (close): Make sure to only close down the - TLI_Request_Queue if queue_ is non-NULL! Thanks to Ajit Sagar - for spotting this. - - * ace: Changed all the enums in the various SysV wrappers from - things like CREATE and OPEN to ACE_CREATE and ACE_OPEN to avoid - name clashes with other systems. In addition, also changed - NONBLOCK to ACE_NOWAIT to avoid clashes with the existing - ACE_NONBLOCK macro! Thanks to Steve Warwick - for suggesting this. - - * ChangeLog: Changed all usages of the INLINE macro to ACE_INLINE. - This avoids name clashes with other systems. Thanks to - Chris Eich for - suggesting this. - -Mon May 27 13:03:58 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Map_Manager.cpp (trybind): The function trybind() doesn't - return a value as it should. A return was missing from the last - line of the function. Thanks to Stuart Powell - for finding this problem. - - * ace/Acceptor.cpp (dump): The debug print referred to - "scheduling_strategy_" which doesn't exist in the relevant - class. Replacing it with "concurrency_strategy_" fixes the - problem. Thanks to Stuart Powell for - finding this problem. - - * ace/Mem_Map.i: Make sure to close down the file mapping - correctly when we upmap the view! - - * ace/OS.h: Changed the default shared memory address from 16 M to - 64 M in order to work around problems with AIX. - - * ace/Memory_Pool: Moved and renamed the enums in - ACE_Shared_Memory_Pool so that they'd be in OS.h. This makes it - easier to remember to change them if they are incorrect. Thanks - to Lionel Mommeja for suggesting this. - - * ace/Stream.cpp: Removed #if defined (ACE_HAS_THREADS) - - * ace/OS.cpp (svc_run): Added a Win32 try/except block to - Spawn_Args::svc_run so that we catch all Win32 structured - exceptions in order to make sure that we clean up correctly when - the thread exits. - -Sun May 26 11:37:08 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp: Used the new Win32 exception - integration in order to ensure that the Name Server will - transparently work correctly when the backing store is extended - by other processes on the same machine. - - * ace/Memory_Pool.cpp: Revised the ACE_MMAP_Memory_Pool to export - the mechanism for extending the virtual memory mapping. This - can now be called by other programs (e.g., in order to integrate - with Win32 Structure Exception Handling). - - * ace/Memory_Pool.cpp: Changed the use of ACE_OS::lseek() to - ACE_OS::filesize() in order to determine the current offset when - we're remapping the address space. - -Wed May 22 13:08:44 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/OS.h (ACE_DEFAULT_TIME_SERVER_STR): Added a new entry for - ACE_DEFAULT_TIME_SERVER_STR. - - * ace/Malloc_T.cpp (advance): Fixed two small bugs. In - ACE_Malloc::try_bind(), if we have a match we need to set - pointer to node->pointer_ and not node->name_. - Ina ACE_Malloc_Iterator::advance(), the continue in the for loop - should be for strcmp != 0 instead of == 0. - -Sun May 19 12:03:11 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.20 for testing. - - * ace/Service_Record.cpp (remove): Fixed a very mysterious bug - that was caused by deleteing an object and then trying to access - it's next_ pointer. This worked on UNIX, but fortunately the - MSVC++ compiler does special things to deleted memory and the - bug was revealed! At long last, MSVC++ does something right - ;-). - - * ace/Module.cpp: Revised the code a bit to use the ACE_SET_BITS - and ACE_CLR_BITS macros to improve readability. - - * ace/SV_Semaphore_Complex.cpp (open): Fixed a race condition - where we weren't correctly checking for EIDRM. Thanks to - Michael Fortinsky for reporting this. - -Sat May 18 10:49:04 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Added a new ace.mak and ace.mdp file for Win32. - - * ace/Service_Record.cpp: Rewrote some code to work around a bug - with MSVC++. This bug was causing problems since the - ACE_Shared_Object methods were getting called, rather than the - Test_Task methods used in the examples/ASX/CCM_App.cpp file. - Thanks to Tom Leith for pointing out this problem! - - * ace/OS.h: Added a new #define for ACE_DEFAULT_SVC_CONF to deal - with differences between NT and UNIX pathnames. - - * ace/Time_Value.h: Moved the definition of the INLINE macro from - OS.h to Time_Value.h so that it will be in scope for - Time_Value.i. Thanks to Neil Cohen for reporting this. - - * examples/Reactor/Misc/signal_tester.cpp: There was a typo in - signal_test.cpp. It had mean to use handle_input() rather than - handle_output() to exercise the asynchronous signal handling - capabilities. This is fixed now. - - * apps/Synch-Benchmarks/Benchmark.cpp (thr_id): Added a new #if - define (ACE_HAS_DCETHREADS) to make this work on AIX. Thanks to - Greg Wilson for reporting this. - - * ace/Local_Name_Space: Moved ACE_NS_String and ACE_NS_Internal - from the *.cpp file to the *.h file to work around a "feature" - of the AIX C++ compiler. Thanks to Greg Wilson - for reporting this. - - * ace/Reactor.h (ACE_Handler_Repository): Changed the type of - cur_size_ from size_t to ssize_t to avoid type mismatches. - - * ace/Name_Request_Reply.cpp (decode): Fixed some inconsistencies - between signed and unsigned loop counters... - - * ace/OS.h: Changed the typedef of pid_t on Win32 from - DWORD to long to be consistent with UNIX. - -Thu May 16 18:49:14 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.19 for testing. - - * build/SunOS5.4/ace/ACE.cpp (ldfind): Fixed a bug in ldfind() - that caused a segfault if we didn't resolve the filename in the - LD_SEARCH_PATH. - - * ace/Reactor and Timer_Queue: Changed the interface of cancel() - to include a const void **arg. If arg is non-NULL then it will - be set to point to the ``magic cookie'' argument passed in when - the Event_Handler was registered. This makes it possible to - free up the memory and avoid memory leaks. - - * ace/Service_Record: Removed the #ifdefs that checked if - ACE_HAS_THREADS because we ought to be able to build all of this - stuff now that we've got the ACE_OS wrappers. - - * ace/Svc_Conf.y: Removed the #ifdefs that checked if - ACE_HAS_THREADS because we ought to be able to build all of this - stuff now that we've got the ACE_OS wrappers. - - * ace/OS.h (ACE_DEFAULT_BACKING_STORE): Made a different - ACE_DEFAULT_BACKING_STORE for NT and for UNIX to handle the - differences in directory separator characters... - -Wed May 15 18:45:48 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/ASX/CCM_App/CCM_App.cpp: Fixed up the test application - so that it should support dynamic linking on Win32. Thanks to - Tom Leith for reporting this. - - * ace: Added the ACE_Export macro to class ACE and the various - "helper" classes related to ACE_Malloc in order to have this - work properly when use with ACE_Malloc outside of the ACE DLL. - - * ace/Svc_Conf.l: Added support for '\' and ':' in the regular - expression for an ACE pathname in order to support Win32 - filenames (e.g., "C:\foobar\"). Thanks to Tom Leith - for reporting this. - - * ace/Malloc_T.cpp (ACE_Allocator_Adapter): Moved the constructor - from the *.i file to the *.cpp file and added a new constructor - that takes both a pool_name *and* a lock_name. This is - necessary because the ACE Malloc now has this API, as well. - - * examples/Threads/test_barrier.cpp (main): Fixed a bug that was - caused by the main() thread exiting before all the other worker - threads had finished "waiting" on their Barrier. The fix is to - use ACE_Thread_Manager to control the thread exits... - -Mon May 13 00:03:09 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/Connection/non_blocking/CPP-acceptor.cpp: Modified the - implementation of the Svc_Handler::open() method so that it will - truly behave as an iterative server (as advertised...). - Currently, it behaves as a half-iterative server (i.e., the - Oneshot_Acceptor is iterative, but the Svc_Handler is - "concurrently"), which is causing problems because we're wiping - out the values of Svc_Handler each time through the main event - loop. Thanks to Gerolf Wendland for noticing this problem. - - * ace/Log_Msg: Added an alternative logging mechanism that makes - it possible to integrate variable argument lists from other - logging mechanisms into the ACE mechanism. Thanks to Chris - Lahey for proposing this. - - * ace/Synch.h: Moved ACE_Process_Mutex so that it appears *after* - ACE_Mutex (since it depends on ACE_Mutex). Thanks to Dieter - Quehl for finding this. - - * Released version 4.0.18 for testing. - - * ace/Name_Space.cpp: Added the ACE_BUILD_DLL macro at the - beginning of this file so that it will build as a DLL on NT - correctly. - - * ace/Name_Space.cpp: Added a default constructor for - ACE_Name_Binding so that it will compile when used as a template - argument for ACE_Unbounded_Set. - -Sun May 12 14:23:44 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Map_Manager: Totally reworked the Map Manager so that it can - be more flexible with respect to where the allocator comes from. - This is necessary for certain parts of ACE (e.g., - Local_Name_Space) that must be very careful about which - allocator is used to manage memory. - - * ace/Synch: Moved ACE_Process_Mutex and ACE_RW_Process_Mutex - *outside* of the ACE_HAS_THREADS #ifdef since these are now - always defined on all platforms (because the Process_Mutex stuff - uses SV Semaphores, which are portable even if we don't have - threads!). - - * ace/Naming_Context.cpp (parse_args): Removed an unnecessary call - to strdup(). This was detected by Purify! - -Sun May 12 14:26:20 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (shared_bind): Fixed a small bug. In - computing type_len in shared_bind(), we needed to add 1 to - account for the NUL character. - - * ace/Local_Name_Space.cpp: (list_types): Fixed some potential - memory leaks. In list_types() as well as list_type_entries() - calling pattern.char_rep() was allocating memory which was never - getting deleted. Similarly, in list_names() and list_values, - call to char_rep was also allocating memory that was not getting - deleted. - -Sat May 11 16:19:51 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Log_Msg.cpp (local_host): added a static member to - ACE_Log_Msg that maintains the local host name. Now, instead of - always displaying "", we can insert the actual local - name into the object and then it will be automatically printed - when VERBOSE mode is enabled. Thanks to Chris Lahey for - suggesting this. - - * ace/Local_Name_Space.cpp: Used the new ACE_Name_Binding class to - simplify the implementation of all the list_* methods in - ACE_Local_Name_Space. - - * ace/Name_Space.cpp: Made a number of changes to the - ACE_Name_Binding class in order to make it work more efficiently - and concisely (e.g., reduce the amount of copying and eliminate - the need for converting the type field back and forth to/from - ACE_WStrings). - - * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.cpp: - Fixed a typo where #if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - was *before* the #include of the header file that defines this - macro! Thanks to Nigel for pointing this out, as well. - - * ace: Added a number of fixes to make ACE compile on SCO UNIX - 3.2.4 using gcc 2.7.2. Thanks to Nigel Lowe for - helping with this. - - * netsvcs/lib/Name_Handler.cpp: operation_ needs to be declared as - just LIST_OP and not ACE_Name_Handler::LIST_OP. For some strange - reason NT complains otherwise. Thanks to Prashant for finding - this. - -Fri May 10 01:09:17 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Added new versions of ace.mak and ace.mdp to fix a couple - of minor typos. - - * ace/Malloc_T.cpp (ACE_Malloc): Added a new constructor that - takes both the pool_name and the lock_name explicitly. This is - more flexible. Thanks to Ramesh Nagabushnam - for suggesting this. - - * ace/Malloc_T: Modified the constructor of ACE_Malloc so that by - default the name of the memory pool (which is also used as the - name of the lock...) is ACE_DEFAULT_MUTEX. - - * Released version 4.0.17 for testing. - - * ace/Connector.cpp (create_AST): Must reset errno = EWOULDBLOCK - to avoid making caller's think that something else has gone - awry... Thanks to Steve Warwick for chasing - this down! - - * ace/ACE.cpp (handle_timed_complete): If you issue a non-blocking - connect on a socket, you will have back a failure with errno = - EINPROGRESS. Then, if for some reason, the connection could not - be established, the select (which you have to issue to know - about the completion of connection) will return you the fd set - both in the read mask and in the write mask (infact select - returns 2 in this case). The behaviour above affects the method - ACE::handle_time_complete, so I changed the last part of the - above method, this way: - - if (n <= 0) - { - ... - ... - } - else if (rd_handles.is_set(h)) - { - char dummy; - // The following recv() won't block provided that the - // ACE_NONBLOCK flag has not been turned off . - - if (ACE::recv (h, &dummy, 1, MSG_PEEK) <= 0) - return ACE_INVALID_HANDLE; - } - - // 1. The HANDLE is ready for writing or 2. recv() returned that - // there are data to be read thus the connection was successfully - // established. - return h; - - That is, I reversed the sense of the tests so that the - rd_handles() is checked first for failure along with the recv(). - Thanks to Antonio Tortorici for - suggesting this. - - * examples/Threads/test_thread_manager.cpp (main): Changed argv[1] - to argv[2]. Thanks to Andres Kruse for finding - this problem. - - * examples/Connection/non-blocking: Fixed some nasty bugs that - caused the non-blocking connector and acceptor test programs to - crash and burn. Thanks to Steve Warwick and Gerolf Wendland for - finding this problem. - - * ace/SV_Semaphore_Simple.cpp (open): Check for - ACE_INVALID_SEM_KEY and return -1 in this case. - - * ace/Synch.h: Removed the default value of 0 for the name of the - ACE_Process_Mutex and the ACE_RW_Process_Mutex and replaced it - with a new macro called ACE_DEFAULT_MUTEX. Using 0 didn't make - any sense on either NT or UNIX because process-wide Mutexes - should be named! - - * ace/SV_Semaphore_Simple.cpp (name_2_key): Added a check for name - == 0 and bail out of that's the case rather than crash! - - * ace/Reactor.cpp (wait_for_multiple_events): In the Reactor's - wait_for_multiple_events method, the do {} while () around the - select/poll system call is trying to wait until some "good" - event occurs, with handle_error() taking care of unexpected - problems. In the case of a bad file descriptor, however, - handle_error() returns 0. This was exiting the loop because the - loop exit condition was: - - do { /* ... */ } while (nfound == -1 && this->handle_error () > 0); - - which eventually causes ACE_Service_Config::run_event_loop() to - exit. Since the offending file descriptor is handled by - handle_error(), the loop should continue. Therefore, I've - changed the while to read: - - while (nfound == -1 && this->handle_error () >= 0); - - Thanks to Eric C. Newton for providing this fix. - - * ace/INET_Addr.cpp (string_to_addr): Changed the order of the - parameters so that the form is now "ip-address:port". This - should (finally) be consistent for both string_to_addr() and - addr_to_string()... - - * ace/Log_Msg: Changed the char * parameter of the log() method to - const char *. Thanks to Chris for suggesting this! - - * ace/Synch_T.cpp: Moved the #if defined (ACE_HAS_THREADS) down to - the right part of the file... Thanks to Alex Karev - for finding this. - - * ace/Malloc.h: Added a very important #else... Thanks to Alex - Karev for finding this. - - * ace/Signal.i (ACE_Sig_Guard): Changed the sense of the #ifdef - tests in the ACE_Sig_Guard constructor and destructor from #if - !defined (ACE_MT_SAFE) to #if 0 // !defined (ACE_MT_SAFE) in - order to get the right semantics for signals (which should be - blocked "process wide"). - - * ace/Synch_T.h: put the frigging copy constructor in the public - section of ACE_Atomic_Op because it was causing trouble for - NT... - -Mon May 6 00:11:37 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.16 for testing. - - * ace/Log_Msg.cpp: Was defining ACE_Recursive_Thread_Mutex in the - wrong place (i.e., outside of the #if defined (ACE_MT_SAFE). - This was screwing up HP/UX. Thanks to Neil Cohen for pointing - this out! - - * Incorported new versions of ace.mdp and ace.mak for Win32. - -Sun May 5 16:18:43 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * netsvcs/lib/Server_Logging_Handler.cpp (handle_input): Fixed a - bug whereby handle_input() was returning the number of bytes - read by handle_logging_record() rather than 0 or -1. This was - causing problems for the logger since it was hanging in read()! - - * ace/Synch_T.cpp: Fixed some minor problems with the use of const - in ACE_Atomic_Op that was causing warnings. - -Sat May 4 16:31:46 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace/SOCK_Dgram_Bcast: Reimplemented most of the ACE socket - broadcast mechanism to (1) clean up the code and have it use - other parts of ACE and (2) make it work for Windows NT. Thanks - to Steve Weismuller for the basic - ideas here. - - * ace/INET_Addr: Added a new method to set the port number without - changing the host address. This is useful in the broadcast - class. - - * ace/Log_Record.cpp (print): Changed the hack of replacing the - newline with a call to flush() instead. This seems like a - better fix. Thanks to Alex for suggesting it. - - * ace/Log_Msg.cpp (log): Moved the order of the print operations - so that the ostream one goes last. This avoids a nasty problem - due to the fact that it replaces the newline (if any). Thanks - to Alex for pointing this out too! - - * ace/Log_Msg.cpp (log): Don't auto-increment bp at the end of - the log() method, instead just terminate it: - - *bp = '\0'; // Terminate bp. - - This makes the length computation correct... Thanks to the - ever-vigilent Alexandre Karev for - reporting this. - - * examples/Shared_Malloc/test_malloc.cpp: Fixed a bug where a void - * that was really an int was being cast incorrectly. Thanks to - Raj for pointing this out. - -Sat May 4 12:51:25 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Reactor.cpp (find): Modified the ACE_Handler_Repository so - that it doesn't crash when it isn't initialized properly. - Thanks to Darrin for pointing this out. - - * ace/Synch_T.cpp (wait): Changed the call wait(ACE_Time_Value *) - to wait(const ACE_Time_Value *) since wait() will not change the - time value object. - - * ace/Thread_Manager.cpp (wait): Changed the call - wait(ACE_Time_Value *) to wait(const ACE_Time_Value *) since - wait() will not change the time value object. Thanks to Chris - Lahey for suggesting this. - - * ace/Synch.h: Added a (const char * = 0) argument to - ACE_Null_Mutex so that it would work correctly with - ACE_Thread_Mutex and ACE_Process_Mutex... - -Fri May 3 17:26:07 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * netsvcs/lib/Name_Handler.cpp (lists_entries): Used '_' with - name/value/type in ACE_Name_Binding to be consistent with the - notation. - -Fri May 3 02:24:19 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Synch: Updated ACE_Process_Mutex to use SV_Semaphore_Complex - as the UNIX implementation. This seems like the only portable - and robust way to get the same semantics on UNIX and on NT! - - * ace/Malloc_T: It turned out there was a subtle bug with - ACE_Malloc on NT when used with the ACE_Process_Mutex - concurrency policy. On NT, we were storing the *HANDLE* of a - mutex in shared memory. Naturally, this didn't make any sense - since each HANDLE is relative to only one process!!! (duh ;-)). - This worked fine on UNIX because mutex_t's created with - USYNC_PROC mode can be stored in shared memory and accessed - directly... - - We fixed this by changing ACE_Malloc so that the - LOCK is allocated in non-shared memory. We then - fixed ACE_Process_Mutex so that on UNIX it is - implemented with SV_Semaphore_Complex. This is - (a) portable and (b) it gives the right semantics. - - As a result, we were able to totally eliminate the storage of - the lock in shared memory. Therefore, it doesn't matter of the - host crashes anymore! In addition, we were able to totally - remove the ugly "init_finished" lock that was previously stored - in shared memory by ACE_MMAP_Memory_Pool. This is *much* - cleaner!! - - Thanks to Karlheinz et al for pointing this problem out in the - first place! - - * ace: Removed a stray file called Svc_Conf_tokens.h. This was - causing problems on Win32 due to name clashes... Thanks to Adam - Miller for pointing this out. - - * ace/SString.cpp (strstr): there were some for (size_t j; ...) {} - if (j == x) constructs in the code that have as of recently - become non-standard. Thanks to Darrin - for reporting this. - -Tue Apr 30 00:18:46 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread.i (self): Commented out the ACE_Trace call in the - ACE_Thread::self() methods to avoid infinite recursion problems - on Win32. - - * ace/Token.cpp (ACE_Token): Commented out the ACE_Trace call in - the constructor of ACE_Token to avoid infinite recursion - problems on Win32. - - * ace/Log_Msg.cpp (instance): Moved the definition of the static - variable keylock_ into the static instance() method in order to - avoid "order of initialization" problems on Win32. Thanks - to Tim for figuring this out! - -Sun Apr 28 17:07:58 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * netsvcs: Rearranged and renamed the subdirectories so that they - are now called ./netsvcs/{lib,clients,servers}. In addition, - moved the Logger, Naming, and Tokens examples from ./examples - into the ./netsvcs/clients directory in order to make the - relationships more clear. - -Sat Apr 27 14:23:43 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Space.cpp (operator ==): Created a new file - Name_Space.cpp and moved the definitions for - ACE_Name_Binding::operator== and ~ACE_Name_Space in it. Also - modified code to use '_' at the end of name/value/type in - ACE_Name_Binding. - -Sat Apr 27 16:00:03 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/INET_Addr.i (get_host_addr): There was an error where - sprintf(s,"%d:%s" ...) should have been %s:%d. Thanks to - Raj for pointing this out. - -Mon Apr 22 01:24:45 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Dump_T.h: #included "ace/Dump.h" so that this file will - compile on HP/UX. Thanks to Neil Cohen for reporting this - problem. - - * Released version 4.0.15 for testing. - - * ace/Synch_T: Added the appropriate "const" qualifiers to certain - operators in ACE_Atomic_Op. - -Sun Apr 21 12:54:18 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Fixed a problem that Dieter was having with the Name Server - when toggling between Naming_Contexts. Basically, what I've - done is - - 1. Moved the unmap() call into the ACE_Mem_Map::close() method - (this ensures that the region is correctly unmapped when the - Mem_Map is deleted). - - 2. I've removed the call to this->allocator_->remove () within - ~ACE_Local_Name_Space. This ensures that we don't remove the - backing store file. - - * ace/Mem_Map.cpp: Modified the ACE_Mem_Map::remove method to call - ACE_Mem_Map::close() in order to share code. - - * ace/Mem_Map.cpp: Modified the ACE_Mem_Map::close() method so - that it unmaps the mapped region before closing down the backing - store. This prevents "dangling mapping." - - * ace/Local_Name_Space.cpp (ACE_Local_Name_Space): Initialized all - the pointers to NULL. - - * ace/Synch_T.cpp (ACE_Atomic_Op): Enhanced the Atomic_Op - implementation by adding an assignment operator and disallowing - the copy constructor (forcing objects of ACE_Atomic_Op to be - passed by reference). - - * examples/Naming/Client/Client_Test: Reorganized the code for - Client_Test so that it will run correctly as a Win32 netsvc - (e.g., added the ACE_Svc_Export macro). - -Sun Apr 21 20:23:40 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Naming_Context.cpp (close): Added a new method to - Naming_Context called close() that deletes the instance of - name_space_. - - * ace/Local_Name_Space.cpp (ACE_Local_Name_Space): Added stuff to - the destructor of Local_Name_Space so that it calls remove on - the allocator_ to ensure we unmap the file. Also, we delete the - allocator_. - - * examples/Naming/Client/Client_Test.cpp (set_proc_local): Changed - set_proc_local (), set_node_local() and set_host() so that - before we change name space, we do a close() on - Naming_Context. The close ensures that we unmap the file as well - as delete the instance of the name space. - -Sat Apr 20 12:39:20 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Removed the Name_Options.* files and merged the - ACE_Name_Options class into Naming_Context.*. This simplifies - some order of include problems... - - * ace/Naming_Context.cpp (init): Switched the code so that rather - than always opening with ACE_Naming_Context::PROC_LOCAL, we use - ACE_Name_Options::context(), which can be overridden by using - the new -c command-line option (e.g., -c NODE_LOCAL). Thanks to - Dieter for suggesting this. - - * ace/OS.i: Modified the Win32 implementation of all the - ACE_OS::flock_*lock() methods so that they'd have the same - behavior as the UNIX ones with respect to a length of 0 meaning - "lock the entire length of the file." This works, of course, by - having each method check if len == 0, and if so, calling - GetFileSize() to set the size of the file. - - * ace/Synch.h: Changed the default len value for all the - File_Lock::*acquire* methods to 1 rather than 0 to work around a - problem with Win32. Thanks to Detlef for reporting this. - - * ace/ACE.cpp (ldfind): Added a strdup() of the LD_SEARCH_PATH - returned by getenv() so that we don't overwrite the environment - variable by using strtok(). Thanks very much to Prashant for - figuring this out! - -Thu Apr 18 22:13:43 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * examples/Naming/Client/Client_Test.cpp (list_value_entries): - Added check in list_name_entries and list_value_entries to see - if type actually exists before trying to print it out. - -Wed Apr 17 16:40:42 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.14 for testing. - - * Added Tim Harrison's new instructions for building and using ACE - as a DLL and SLL on Win32. - - * ace/Svc_Conf.h: Due to the new changes to the yacc code, I had - to move the definition of YYSTYPE into the Svc_Conf.h file - rather than have it in the Svc_Conf.y file. This solves a - variety of multiple-inclusion problems... - - * ace: Modified all the yacc token symbols so that they will be - prefixed with ACE_. This avoids namespace pollution problems. - - * Added the ACE_STATIC_SVC* macro support to a number of files so - that the static versions of all the ACE services will be - registered with the ACE Service Repository correctly. Thanks to - Jesper for pointing this out! - - * ace/OS.h: the first occurence of - - typedef thread_t tid_t; - - in the OS.h file should read - - typedef pthread_t tid_t; - - Thanks to Jan Rychter for reporting this. - - * ace/Read_Buffer.cpp: Fixed rec_read() so that it will fail - correctly when new fails! - -Wed Apr 17 19:05:42 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * netsvcs/lib/Name_Handler.cpp (type_request): Here is a brief - description of the changes made to ACE_Name_Handler to simplify - the dispatch method and make it more elegant: - - 1) I created a table called op_table_. It contains pointers to - member functions of ACE_Name_Handler. This table can be - indexed using the msg_type. However, I went one step further - to have all the list methods be grouped under two - methods. That is, requests for list_names, list_values, and - list_types are handled by one method called lists() and - similarly, requests for list_name_entries, - list_value_entries, and list_type_entries are handled by - another method called lists_entries(). A MASK is used to have - the op_table_ index to the same method for these requests. - - 2) I also created another table called list_table_. This is - primarily used by lists() to keep track of a couple of things: - + pointers to member functions of Name_Handler that - handle the actual request. - + pointers to member functions of Name_Handler that act - as factories to create the appropriate request to - send back. - + description of the message type. - - A different MASK is used to index into the list_table_ to - invoke the appropriate method or get the appropriate description. - - 3) Within the method lists_entries(), I once again make use of - the pointers to member functions technique. This time, - however, I use pointers to member functions of Naming_Context - which I assign in the switch statement. - -Tue Apr 16 13:03:49 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.13 for testing. - - * ace/INET_Addr.i: moved the get_port_number routine up to the top - of the file so it gets defined before it is used. Linux did not - like it where it was... Thanks to Neil Cohen for reporting - this. - - * ace: Split the Dump.* files into Dump_T.* files. This is - necessary to support the template policies of various C++ - compilers. - - * ace/Malloc_T.cpp (dump): Fixed an erroneous use of -> since - guard_ is a non-pointer... Thanks to Neil Cohen for reporting - this. - - * ace/Log_Record.cpp (print): Finally figured out how to do - extensible ostream logging so that it will seamlessly work with - ACE_Log_Msg. This required one change to ACE_Log_Record, - however. In Log_Record.cpp: - - In ACE_Log_Record::print(char *, int, ostream, size_t len), added - - char *t = this->msg_data_[len - 1]; - - if (t == '\n') - *t = '\0'; - - s << this->msg_data_ << endl; - - This is required because the virtual function overflow() in - streambuf does not get called until endl is called to flush the - buffer. Note that (at least on AIX), '\n' is treated separately - from endl and will not cause the overflow() function to be - called. Thanks to Chris Lahey for this idea. - - * ace/OS: Added a new wrapper for strrchr(). - - * ace/Token_Collection.cpp (renew): Added a cast of - (const char *) to token_name so that the conversion operator - will get called correctly. Thanks to Gonzalo Diethelm - for reporting this. - -Tue Apr 16 13:29:32 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Request_Reply.cpp (decode): Fixed a small bug in encode() - and decode() of ACE_Name_Request. When doing ntohs and htons, we - only ought to do it for the name and value part of data. type - needed to be left alone since it is not a short. - -Mon Apr 15 02:31:00 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/makeinclude/platform_hpux_orbix.GNU: Added - David.L.Sames.1@gsfc.nasa.gov (David Sames) config*.h file and - platform_*.GNU file for HP/UX 9.x using Orbix. - - * ace/OS.i: Fixed all uses of pthread_cleanup_{pop,push} so that - they will work correctly if (1) the OS implements the as macros - and (2) if these macros must obey strict nesting rules... - Thanks to Reginald S. Perry for pointing out - how to do this effectively. - - * ace/Thread_Manager.h: Fixed a typo where the typedef - - typedef (ACE_Thread_Manager::*THR_FUNC)(int, int); - - was lacking a return value. Thanks to Reginald S. Perry - for reporting this. - - * netsvcs/bin/main.cpp (main): Fixed the main program so that it - passes the options correctly for the statically linked service - invocations. Thanks to Jesper for reporting this. - - * examples/Naming/Client/Client_Test: Updated the client test - program so that it will work on Window NT, where it's not valid - to select() on non-socket HANDLEs (ugh). Thanks to Jesper for - pointing this out... - - * Released version 4.0.11 for testing. - -Mon Apr 15 00:20:02 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (strstr): Fixed ACE_NS_String::strstr - to function properly. It was assuming that length of the pattern - as well as the string was in units of ACE_USHORT16 when in - reality the length is number of bytes. - - * ace/Local_Name_Space.cpp (value_): Modified ACE_NS_Internal so - that instead of taking an ACE_NS_String for type, it now take a - char*. It therefore keeps type around as a char*. This should - help solve some problems we were encountering with byte ordering - when sending data between NT machines and Sun. - - * netsvcs/lib/Name_Handler.cpp: Cleaned up lists_entries by making - use of pointer to member functions. A single call to the - appropriate list method takes care of everything. - -Sun Apr 14 16:21:32 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/INET_Addr.i (addr_to_string): Swapped the order that the - hostname and port number are printed to make this consistent - with the way that ACE_INET_Addr::string_to_addr works. Thanks - to Ashish Singhai for pointing - this out. - - * ace/TLI_Acceptor: Changed the methods to take an ACE_Addr rather - than an ACE_INET_Addr. This allows other address families (such - as DECnet) to be used with the TLI wrappers. Thanks to Ajit - Sagar for suggesting this. - - * ace/Local_Name_Space.cpp (list_types): Removed the use of - regular expression matching for the name and value types of the - name server and replaced these with substring matching instead. - This is necessary since we're working with wide characters here, - and it doesn't make any sense to perform regular expressions on - these puppies... - - * ace/Local_Name_Space.cpp: Added a new strstr() method on all the - ACE_NS_String class so that we can compare substrings for wide - character types. - - * ace/SString: Added a new strstr() method on all the - ACE_[WSC]String classes so that we can compare substrings, - even for wide character types! - - * apps/gperf: Incorporated the GNU gperf program from the FSF. - We're going to make some improvements to this for a subsequent - paper. - -Sun Apr 14 15:30:05 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Request_Reply.h: Changed the enum values for the - Constants such as BIND, REBIND, etc. The new values allow us to - do bitwise operations using MASK to be able to dispatch the same - method for all the list operations. For use case of this, please - see Name_Handler::dispatch(). - - * netsvcs/lib/Name_Handler.cpp (dispatch): Completely changed - dispatch() so that now it uses a table of pointer to member - functions to call the appropriate method when a request - arrives. In addition, requests for LIST_NAMES, LIST_VALUES, and - LIST_ENTRIES are now handled by one method called lists() in which - I factored out a lot of common code. Similarly, requests for - LIST_NAME_ENTRIES, LIST_VALUE_ENTRIES, and LIST_TYPE_ENTRIES are - handled by lists_entries(). This has really cleaned up the code. - -Sat Apr 13 15:26:51 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Request_Reply.cpp: Made changes so that all - byte-ordering computations take place in encode and decode - methods of ACE_Name_Request_Reply and ACE_Name_Reply - only. Previously some of these computations were taking place in - Get/Set methods such as name_len() which was highly error prone. - (init): Added new methods called init() to both ACE_Name_Request - and ACE_Name_Reply that initialize length to size of transfer_. This - is needed since the length gets set only once in the constructor - and after that each call to encode() switches the byte ordering - causing problems. - -Sat Apr 13 11:44:16 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.10 for testing. - - * ace: Removed the ACE_HAS_THREAD_T macro from various places. - This was unnecessary given the new scheme for dealing with - threading. - - * ace/config-linux-pthread.h: Fixed a typo that was preventing - compilation from working. Thanks to Jan Rychter - for finding this. - -Fri Apr 12 13:17:47 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Gateway/Gateway: The gateway application appears to - be working again! - - * ace/OS.cpp (thr_create): Based on conversations with Chris - Lahey, modified the pthreads ACE_OS::thr_create implementation - so that it doesn't try to assign the hthread_t thr_handle since - this is meaningless in pthreads... - - * apps/Gateway/Gateway/Gateway.cpp: Fixed a typo that was causing - the system to go into an infinite loop when the config file was - empty! - - * apps/Gateway/Gateway/Gateway.cpp: I was forgetting to set the - line_number to 0 before calling read_entry()... - - * ace/Parse_Node.cpp: Fixed a dumb error that arose because I - forgot that you can't call dlerror() twice and get the same - result (it returns NULL the second time). As usual, RTFM. - - * ace: Removed ACE_HAS_TLI from all the SunOS 4.x config*.h files - and platform_*.GNU files. There are just too many bugs with TLI - on SunOS 4.x to support it by default... - - * examples: Made some minor fixes to make the examples all compile - with GCC. - - * apps/Gateway/Gateway/Gateway: Reimplemented the Gateway - application as to be an ACE network service. This should make - life much easier on platforms with broken C++ templates... - - * apps/Gateway/Gateway: Revised the Config_Parser.* files so that - templates would be split from the non-templates. This avoids - bugs with some C++ compilers... - - * ChangeLog: added the ACE_TEMPLATES_REQUIRE_SPECIALIZATION flag - to the config-linux-pthreads.h file. Thanks to - Jean-Francois.Ripouteau@netsurf.org for reporting this, and also - for archiving the ACE mailing list. - -Thu Apr 11 01:37:25 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.9 for testing. - - * ace: regenerated all the manual pages and html pages. - - * Built ACE successfully on SGI IRIX 5.3 using GNU G++ 2.7.2. - - * ace/Thread_Manager: renamed the descriptor() accessor methods to - hthread_descriptor() and thread_descriptor() to avoid - ambiguities due to the fact that hthread_t and thread_t can now - be the same type. - - * ace/Thread_Manager: revised the hthread_t so that it is always - large enough to hold valid thread ids. - - * ace: Moved the config-osf1.h file to be named config-osf1-3.2.h - in anticipation of OSF/1 4.0... - - * ace: Changed all occurrences of wchar_t to ACE_USHORT16, which - is a more portable way of representing wchar_t's so that we can - pass them across the network... Unfortunately, wchar_t tends to - be different sizes on different machines, so we can't use the - binary form!!! - - * ace: Added many, many small changes to get ACE to compile on - OSF/1 3.2D using DEC C++ 5.3. Thanks to Tom Marrs - <0002104588@mcimail.com> for slogging through all of this stuff! - - * ace/Thread_Manager.h: Fixed a stupid oversight where I forgot to - add a -1 to the trailing argument of spawn*. Thanks to Neil - Cohen for spotting this. - - * ace: Added a new ACE config file for AIX 3.2.5 courtesy of Bob - Olson . In addition, I changed the name of the - config-aix.h file to be config-aix-4.1.x.h and called the new - file config-aix-3.2.5.h. - - * apps/Synch-Benchmarks/Benchmark.cpp: Added template - specializations for ACE_TSS and ACE_Atomic_Op. Thanks to Matt - Stevens for pointing out the need for this. - - * ace/CORBA_Handler: Added a number of fixes to get the ACE - CORBA_Handler to compile on Win32 with Orbix 2.0. Thanks to - Rich Ryan for these fixes. - - * ace/OS.cpp (thr_create): Fixed a small bug in the pthreads - thr_create() code by dereferencing p_thr before casting it - to hthread_t and assigning it to *thr_handle. - - * ace/OS.i: Backed out the previous changes of pthread_cleanup*. - It turns out that on SunOS 5.5 these macros force a certain - style of programming this is hard to integrate with the existing - implementations of other ACE wrapper methods. Fortunately, none - of this affects existing ACE code since we just use the default - solaris threads API in this case... - - * ace/OS.i: Modified the order of #ifdefs in various ACE_OS::thr_* - methods to take advantage of the pthreads features on Solaris - 2.5. - - * ace: Removed the last few typos that prevented ACE from building - on SunOS 4.x with G++... - - * ace/Thread_Manager: Changed spawn() and spawn_n() so that - they optionally take a group parameter and automatically add - this to an existing thread group. That way we don't need to - spawn the thread(s) and then reassign them after the fact. - The new API automatically assigns the thread(s) to the group - you specify. Thanks to Chris Lahey for this idea. - - * ace: Fully integrated POSIX pthreads into the ACE build for - Solaris 2.5. - - * netsvcs/lib/Server_Logging_Handler.cpp: Rearranged the Server - Logging files so that things will compile and link correctly - using stock GNU G++. - - * ace/Log_Msg.cpp (ACE_Log_Msg): Forgot to initialize the ostream - * to 0. This was causing problems for Win32... - - * ace: *Finally* got the static and dynamic ACE libraries to - compile on SunOS 4.x using stock G++! - - * ace/Synch_T.h: Added a new macro called ACE_SYNCH that will - be ACE_NULL_SYNCH if !ACE_HAS_THREADS and ACE_MT_SYNCH if - ACE_HAS_THREADS. - - * ace/Service_Record.cpp: Changed this to use ACE_SYNCH. This - will fix template problems with G++ on SunOS 4.x. - - * build/SunOS5.5/ace/OS.i (sema_wait): Changed all uses of - ::pthread_cleanup_{push,pop} to pthread_cleanup_{push,pop} since - these are implemented as macros on Solaris.... - -Thu Apr 11 19:43:33 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * examples/Naming/Dump_Restore/Dump_Restore.cpp (init): Modified - Dump_Restore in order to work correctly without having - Name_Options around as a Singleton. - - * examples/Naming/Client/Client_Test.cpp (set_host): Modified - Client_Test in order to work correctly without having - Name_Options around as a Singleton. It simply uses the accessor - provided by Naming_Context to get to Name_Options. - - * ace/Name_Options.cpp: Changed Name_Options so that it is no - longer a Singleton. As a result, now there is an instance of - Name_Options per Naming_Context. Note that for an application to - change Name_Options, it can use the accessor function provided - in Naming_Context. As a consequence of all these changes, we can - now have multiple Naming_Contexts per application. - -Wed Apr 10 20:19:50 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.h: Incorporated a mapping for Solaris 2.5 pthreads so - that it fits in nicely with the earlier ACE pthreads support. - From now on, the pthreads API will be the default threading - scheme for ACE on Solaris 2.5... - - * ace: Added the file name to every *.cpp and *.i file in ACE. - This makes it easier to figure out what's what when looking at - the source code. Thanks to Chris Lahey for suggesting this. - - * ace/CORBA_Handler.cpp (ACE_CORBA_Handler): Added bodies for - the copy constructor and assignment operator of ACE_CORBA_Handler - (which are private) since some compilers generate link errors - for these! Thanks to Rich Ryan for - pointing this out. - - * ace/Synch_T.cpp (ts_get): at line 270 (within - ACE_TSS::ts_get (void) const) there was a keycreate() call - that did not have an instance pointer pass in with it. The - symptom has been that if the last active task has been finished - all active tasks being created afterwards won't get the close() - hook invoked. I've fixed this in order to solve a mysterious - bug with ACE_TSS. Thanks to the ever-vigilant Detlef for - reporting this bug and fix. - -Wed Apr 10 01:56:52 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace: Added the ACE_TEMPLATES_REQUIRE_SPECIALIZATION to - config-sunos5.5-g++.h file. This should allow ACE to build - correctly. Thanks to Adam Miller for - pointing this out. - - * ace: Installed SunOS 5.5, so now we can finally test pthreads! - - * ace/OS: Modified the implementation of mutex_t for Win32 so that - it automatically selects the CRITICAL_SECTION or the HANDLE form - of Mutex depending on whether the type argument is USYNC_THREAD - or USYNC_PROCESS, respectively. This now means that all the - existing ACE code that used ACE_Condition will - continue to work correctly on Win32 and UNIX! - -Tue Apr 9 23:04:30 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace/Synch: Somehow, the definitions for ACE_Thread_Semaphore and - ACE_Process_Semaphore were MIA. I've added the implementations. - Thanks to Bruce Worden for - noticing this... - -Tue Apr 9 02:16:02 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Service_Config.cpp: reordered the #includes in this file so - that it works correctly on Win32. Thanks to Rich Ryan - for help with this. - - * ace/Auto_Ptr.cpp (remove): added the implementations of the - auto_ptr::remove() and auto_array_ptr::remove() static methods. - Thanks to Chris Lahey for noticing their absence... - - * ace/Auto_Ptr: Added the #pragma implementation ("Auto_Ptr.cpp") - statement if defined ACE_TEMPLATES_REQUIRE_PRAGMA to work on - AIX. Thanks to Chris Lahey for this. - - * ace/Makefile: Moved Auto_Ptr from FILES to TEMPLATE_FILES to - work on AIX. Thanks to Chris Lahey for pointing this out. - - * Modified a bunch of the apps and example Makefiles so that - things will build better using G++. - - * ace/Name_Options.cpp (parse_args): Made the "database" name the - same as the process name by default... - - * ace/Reactor.h: Changed the type of current_ in - ACE_Handler_Repository_Iterator from size_t to ssize_t so that - this can handle negative numbers. Thanks to Mark Zusman - for reporting this. - -Mon Apr 8 23:33:15 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * netsvcs/lib/Name_Handler.cpp (recv_request): Fixed a small - bug. In recv_request() ntohl was being called again on length - which was causing problems since the length was already in host - byte order. The ACE Name Server should now be working on NT. - -Mon Apr 8 02:14:30 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Fixed a number of minor problems that caused duplicate - symbols when linking ACE with G++ (no-repo) on SunOS 5.x and - SunOS 4.x. Thanks to Andy Gokhale for help with this. - - * ace: Added Jan Rychter very nice contribution - of pthreads and DCE threads to ACE. This should make life - easier for Linux users and users of other pthreads packages. - - * ace/Service_Config.cpp (process_directives): Changed the code to - use an auto_ptr to make sure that we always release the - ace_obstack memory, regardless of how we exit. - - * ace/OS.i (strerror): Changed sys_errlist to _sys_errlist to work - around bugs with SunOS 4.x. This will undoubted break some - other twisted UNIX system. - - * ace/Local_Tokens.cpp (acquire): Added a return 0 at the very - end... Thanks to Chris Lahey for reporting this (yet - again... ;-)). - - * ace/Parse_Node: Made a bunch of small changes to deal with the - fact that there's no dlerror() equivalent on NT... - - * ace/Task.h: The static function instance() should return - ACE_Task_Exit* (or ), not - ACE_Task_Exit *. Thanks to Chris Lahey for spotting this. - - * ace/Thread_Manager.cpp: added an argument to the exit() method - that allows applications to exit without calling thr_exit. This - would allow the method to be called from within a pthread - cancellation cleanup routine, without calling thr_exit a 2nd - time. Thanks to Chris Lahey for suggesting this. - - * ace/Log_Record.cpp (operator <<): Changed the verbose option so - that it is an attribute, this will allow the ostream to print - verbose information if necessary. Thanks to Chris Lahey for - suggesting this change. - - * ace/config-win32-msvc*.h: Added the - ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES flag since it appears - that this causes problem with some versions of MSVC++ 4.0... - - * Released version 4.0.6 for testing. - - * netsvcs/lib/Server_Logging_Handler.h: #included the - Svc_Handler.h file, that absence of which was causing problems - for HP/UX. Thanks to Richard Orr - for reporting this. - - * Made a few minor changes to the source to make sure that it - compiles correctly on SunOS 5.x with G++. - - * ace/Thread_Manager.h: Added the insert() method for the non-MT - version of Thread_Manager. Thanks to Alexandre Karev - for reporting this. - - * ace/Task: Renamed the static double-check lock_ to - ace_task_lock_ to avoid a name conflict with the existing - this->lock_ instance in each class. Thanks to Prashant for - tracking this down... - -Sun Apr 7 14:40:05 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - Rolled back a change that replaced #defines with typedefs. It - turned out the #defines were there for a reason... Thanks Neil - B. Cohen for pointing this out... - - * ace/OS.h: Added a new check to deal with the fact that many - versions of Pthreads don't support tid_t (which seems to be an - AIXism...). - -Thu Apr 4 01:19:19 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Officially released version 4.0.5... - - * ace/OS.h (ACE_TSS_TYPE): Somehow the ACE_TSS_TYPE macros ended - up *before* the inclusion of Time_Value.h, which meant that - these macros weren't being expanded properly. This may help - explain odd behavior with ACE TSS. - - * ace/Thread_Manager.cpp (insert): Added a new method that allows - us to insert a thread into an ACE_Thread_Control after it's been - constructed. - - * ace/Message_Block: Fixed a typo in the init() method. Thanks to - Ross Dargahi for noticing this. - - * ChangeLog: Finally got all of ACE built on SunOS 5.x and SunOS - 4.x using only the stock GNU GCC compiler (i.e., no template - repository...). This should make it easier to port to other - versions of G++. - - * ace/Task: Modified the ACE_Task and ACE_Task_Exit implemenation - so that it only uses 1 TSS key per ACE_Task template - instantation, rather than 1 TSS key per ACE_Task instance. This - works around horrible limitations with Win32... - - * ace/Thread_Manager: Added new methods to set and get the - Thread_Manager used in a Thread_Control. - - * ace/Pipe.cpp (open): Fixed a bug in where ACE_Pipe::open did not - set this->handles_, thus a garbage handle gets registered. - Inserted the following two lines at line 53 of Pipe.cpp: - - this->handles_[0] = reader.get_handle (); - this->handles_[1] = writer.get_handle (); - - Thanks to Kirk Sinnard for this fix. - - * ace/OS.h: Added a couple of fixes for the SCO port. Thanks - again to Matt Newhook - - * ace/OS.cpp: Integrated Detlef's clever scheme for freeing up - thread-specific storage correctly on Win32... - - * ace/Task.cpp (ACE_Task): Made sure to initialize the - next_-pointer of ACE_TASK and Message_Queue point to NULL. - This fixes a problem on NT. Thanks to Karlheinz for - noticing this... - - * include/makeinclude/rules.lib.GNU (VLIB): Fixed up the ACE - makefiles so that we can now build on SunOS 4.x correctly - without using the template repositories... - - * ace/Service_Config.cpp: Added a bunch of template - specializations so that GNU G++ can be used to compile ACE on - SunOS 4.x *without* requiring the template repository hacks... - Thanks to Mark Zusman for helping with this. - -Wed Apr 3 00:55:12 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/Reactor/Misc/test_reactors.cpp: Added a new torture - test of the ACE_Reactor and ACE_Task. Thanks to Detlef for - contributing this... - - * netsvcs/bin/Makefile: Removed a stray -lACE_svcs from the - Makefile. Thanks to Matt Stevens for reporting this. - - * ace/Synch.cpp: Fixed two mistakes related to keeping INLINE on - the get_thread_id() and get_nesting_level() when I moved them - into the *.cpp file... Thanks to Matt Stevens for finding this. - - * ace/Reactor.cpp (owner): modified owner() so that it returns - the original owner when setting a new owner. This makes it - possible to write code like this: - - thread_t t; - - reactor->owner (ACE_Thread::self (), &t); - reactor->handle_events (); - reactor->owner (t); - - * ace/SOCK_Connector.cpp (connect): Added an additional check for - errno == EWOULDBLOCK for non-blocking connects due to screwy - semantics of Win32 non-blocking sockets... - - * netsvcs/lib/Client_Logging_Handler: Fixed a very obscure bug - that arose due to the way that UNIX select() interacts with - SVR4 MSG_BAND data. It turns out that you must use the - ACE_Event_Handler::EXCEPT_MASK to get this to work properly - (gag). This stuff is much easier with SVR4 poll(). - -Tue Apr 2 13:57:05 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i: Fixed an error compiling the new Log_Msg.cpp because - when it inlined OS.i, there were references to - ACE_OS::thread_mutex_*() before the functions were declared - inline. The references were assumed to be external, and then - when the linkage was actually declared as inline, the compiler - choked. To fix this, in OS.i, all the thread_mutex_* calls - where moved above the first reference, which was in - ACE_OS::cond_broadcast(). Also moved the mutex*() calls since - they are referenced by the thread_mutex calls. So the order is - mutex*(), then thread_mutex*(), and then cond*(). Thanks to - Chris Lahey for reporting this. - - * netsvcs/lib/Client_Logging_Handler.cpp: Added missing return - values in some of the methods. Thanks to Tim Harrison for - spotting this... - - * ace/Map_Manager.cpp (shared_unbind): It was possible that INT_ID - could be assigned a value from a previously unbound map entry. - The shared_unbind matches the ext_id, but does not see if the - entry had previously been unbound. This causes a problem if the - INT_ID type is a pointer type, and the user of the map deletes - objects as a result of the unbind returning a 0. The correct - solution is to include a test for is_free in the shared_unbind - before checking the equality of the ext_id. Thanks to Phil - Mesnier for reporting this. - - * ace/Reactor.cpp (next): Fixed a bug that prevented the - iterator's next() method from detecting the end of the - iteration. Thanks to Mark Zusman - for reporting this. - - * ace/Reactor.cpp (advance): Fixed a bug that prevented the - iterator from advancing. Thanks to Mark Zusman - for reporting this. - - * ace/Log_Msg.cpp (open): Added a check for logger_key being NULL, - in which case we log to STDERR rather than segfault... - - * netsvcs/lib/Server_Logging_Handler.h: Fixed a typo in - the declaration of - - ACE_SVC_FACTORY_DECLARE (ACE_Server_Logging_Acceptor) - - Thanks to Neil Cohen for finding this. - -Mon Apr 1 00:17:21 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace/Time_Value.i: Fixed two stupid bugs in the Time_Value - relational operators. Thanks to Mathew Newhook - for pointing this out. - - * ace/OS.h: Added an extern "C" block around the netdb, net/if.h, - netinet/in.h, arpa/inet.h to work around problems with SCO. - Thanks to Mathew Newhook for this. - - * ace/Reactor: Merged the ACE_Pipe into the Reactor - implementation. This cleans up some nasty OS-specific code in a - clean way. - - * ace/CORBA_Handler.cpp (ACE_MT_CORBA_Handler): Fixed some typos - that arose during the transition to the ACE_Pipe. - - * ace/Pipe: Added a new open() method that doesn't return the - handles, it just stashes them away for safe keeping. This is - useful for places like the Reactor. - - * ace/Local_Name_Space.h: Added ACE_Export to the front of - ACE_NS_String. Thanks to Detlef for suggesting this. - - * From now on, I'll be numbering each new release of ACE with a - different minor number. However, the latest version of ACE will - also always be available at - - http://www.cs.wustl.edu/~schmidt/ACE.tar.gz - - This is useful if you just want to get the latest one without - having to bother with keeping track of minor numbers. For - instance, that way you can still keep that reference in my - bookmark list and you don't have to remodify it with every - release. Thanks to the ever-vigilant Chris Lahey for suggesting - this. - - * ace: added new a ACE project file (ace.mdp) and Makefile - (ace.mak) to create ACE as a DLL on Win32. This should greatly - simplify the Win32 build process... - - * INSTALL: Added new INSTALL file explaining how to build for - Win32. - - * ace/Thread_Manager.cpp: Fixed a horrible bug with Win32. On - reasonable systems ACE_Thread::exit() should not return. - However, due to horrible semantics with Win32 thread-specific - storage this call can return (don't ask...). Therefore, we need - to reacquire the mutex so that we don't get burned when the - Guard automatically releases it when this method returns. Thanks - to Tim for helping me figure this out. - - * ace: Fixed some problems with errno in Remote_Tokens and - Local_Tokens. - - * ace/Reactor.cpp: Fixed an annoying preponderance of useless - ACE_MT_SAFE #ifdefs in the Reactor implementation. Thanks to - Gerolf Wendland for pointing this - out! - -Sun Mar 31 13:09:27 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace/OS: Changed the implementation of cond_t and rwlock_t for - Win32 to use thread_mutex_t (i.e., CRITICAL_SECTIONS) rather - than mutex_t (i.e., Win32 Mutexes). This should improve - performance without sacrificing generality (of which there is - none at the moment since we don't have process-wide condition - variables or readers/writer locks on Win32 anyway.. - - * ace/Thread_Manager.cpp (remove_thr): Fixed bugs in the - ACE_Thread_Manager class. The wait() member grabbed the - Thread_Mutex lock_, then (if the current_count is not zero) - grabs the Condition lock zero_cond_. Doing so, however - implicitly released lock_, which meant that another thread could - get into wait(), and wait on zero_cond_. zero_cond_ was only - signaled from ACE_Thread_Manager::remove_thr() when the - current_count_ is zero, but it signaled with - ACE_Condition_Thread_Mutex::signal(), which only releases one - thread that is waiting on the Mutex. Thus, any other threads - waiting on zero_cond_ would never be resumed. The fix was to - use ACE_Condition_Thread_Mutex::broadcast() rather than - ACE_Condition_Thread_Mutex::signal() in - ACE_Thread_Manager::remove_thr(). This fix is only reliable - since remove_thr() is called only when ACE_Thread_Manager::lock_ - is held by the calling thread. Thank to Bruce Worden - for reporting problem and - suggesting this fix. - - * ace/Token: Modified this class so that it only works with - ACE_Thread_Mutex (which is more precise than what was going on - before...). - - * ace/Synch.h: Modified ACE_RW_Process_Mutex so that on Win32 it - uses ACE_Process_Mutex until we've got a working - RW_Process_Mutex for Win32... - - * ace/Synch: Removed the ACE_Process_Barrier until we get a - working implementation... - - * ace/Synch: Changed the ACE_Barrier so that it only tries to work - within a single process. - - * ace: Changed all uses of ACE_Condition_Mutex to - ACE_Condition_Thread_Mutex to reflect what's really going on - here... - - * Changed all uses of ACE_Mutex to ACE_Thread_Mutex throughout - ACE. This is *much* more meaningful and makes it possible to do - some great optimizations on Win32! - - * ace: Changed all uses of ACE_Mutex_Guard to - ACE_Thread_Mutex_Guard. This is a more accurate name for how - this is used in ACE. - - * netsvcs/lib/Client_Logging_Server: Reengineered the ACE - Client_Logging service so that fits into the ACE network service - format. This version is particularly interesting since it - illustrates a "Connector-driven" service. In contrast, all the - other ACE network services are "Acceptor-driven" services. - - * netsvcs: Merged the implementation of all the ACE network - services into a single ./netsvcs/lib directory. Each of these - is now a fully dynamically linkable service. Created a single - main.cpp program in the ./netsvcs/bin directory. This main - illustrates how to dynamically link an or all of the ACE network - services to form complete applications. Thanks to Prashant for - help with this. - - * ace/OS.cpp: Changed readv() and writev() so that they will once - again compile for Win32. Note, however, that if you try to - readv() and writev() on the same descriptor you will lose since - they are not atomic! However, this stuff is stuff useful if - you're *not* reading/writing to a common descriptor... - - * ace/Synch_T.cpp: Removed the ACE_Null_Condition<> template. - This didn't really make any sense... - - * ace/OS: Changed the test of lock_.get_nesting_level() in - ACE_TSS_Cleanup::exit () to account for the fact that a - ACE_Recursive_Thread_Mutex now starts out with a nesting level - of 1 when it is first acquired. - - * ace/Synch_T: Removed the implementation of ACE_Recursive_Lock. - It just doesn't generalize correctly to other types of - synchronization mechanisms... - - * ace/Synch: Reimplemented ACE_Recursive_Thread_Mutex using Dave - Butenhof's strategy. This fixes some - latent race conditions in the original implementation. - - * ace: Changed the name of ACE_Recursive_Mutex to - ACE_Recursive_Thread_Mutex since the current implementation - really only works for Thread_Mutexes or Thread_RW_Mutexes... - - * ace: Removed the "Assert.h" file and moved its functionality - into Log_Msg.h. This is more consistent with the rest of the - error reporting and logging in ACE and also avoids some nasty - circular include problems. - - * ace/Local_Tokens.cpp: Changed the use of ACE_RETURN so that it - passes in errno. - - * ace/Log_Msg: Changed the arguments to the ACE_RETURN macro so - that errno can be returned explicitly. - -Sun Mar 31 15:52:58 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (create_manager): Added three new - methods -- list_name_entries, list_name_values, and - list_name_types. They work similar to list_names, list_values, - and list_types (respectively) except they return the entire - tuple associated with a name binding. - -Sat Mar 30 16:46:32 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/SPIPE_Stream.i (send_handle): There was a typo -- the - parameter shouldn't be "const ACE_HANDLE handle", it should - just be ACE_HANDLE handle. - -Sat Mar 30 16:09:25 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * INSTALL: Added new Win32 installation instructions to build - ACE as a DLL. - -Sat Mar 30 14:42:02 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Carefully tested ACE on SGI and SunOS 5.x using G++ and CC. - Everything seems to work now... Released version 4.0.2. - - * ace/Acceptor.cpp (ACE_Strategy_Acceptor): Added default - initializations of NULL for service_name_ and - service_description_ in the ACE_Strategy_Acceptor's default - constructor. - - * ace: Fixed a slew of warnings for HP/UX. Thanks to John Morey - for reporting these. - - * ace/FILE.h (ACE_FILE_Info): Changed the type of field size_ from - size_t to off_t to avoid warnings from C++ compilers... - - * ace/OS.cpp (ftruncate): Added a new function for platforms like - SCO that lack ftruncate(). Thanks to Matthew Newhook - for contributing this. - -Sat Mar 30 12:41:16 1996 Douglas C. Schmidt - - * ace: Removed the ACE_svcs library for the time being and merged - everything back into libACE. There were two reasons for this - change: - - 1. There is a subtle dependency between the ACE_Reactor and the - ACE_Local_Tokens* stuff when deadlock detection is enabled. - This was causing problems. - - 2. This was driving GNU G++ nuts because of the need to - do the "prelink." - - Sooo, for the time being, there's just one ACE library. If - anyone wants to take the time to split everything up so that it - works for all different platforms and send me the fixes I'll be - glad to include this in ACE. - - * ace/Thread.i: Made the ACE_Thread::thr_self() methods call - down to the ACE_OS::thr_self() methods for the case where - the platform doesn't support threads. This means that we - only have to set the default thread id in one place... - -Sat Mar 30 11:53:31 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * bin/class2info.awk: Modified the handleClass() AWK function so - that it can correctly deal with the new ACE_Export and - ACE_Svc_Export tags needed to build ACE DLLs... Here's the - trick: - - sub( "^[\t ]*class[\t ]+(ACE_[.]*Export[\t ]+)?", "", $0 ) - - completely intuitive, eh? ;-) - - * apps/Gateway: Reimplemented the Gateway prototype so that it - uses the new Reactor cancel_wakeup() and schedule_wakeup() - methods instead of mask_ops(). - - * ace/Reactor: Added new high-level "scheduling" - operations called schedule_wakeup() and cancel_wakeup(). These - methods utilize the lower-level Reactor mask_ops() methods to - schedule and cancel Event_Handlers for subsequent dispatching by - the Reactor. I added these new interfaces because they are more - intuitive than calling mask_ops(), which is a non-descriptive - name unless you understand the Reactor implementation... - - * ace/config-irix5.*.h: It turns out that on IRIX 5.x the - bi-directional SVR4 pipe semantics are *disabled* by default. - Therefore, I've changed the config-irix4.*.h files to comment - out ACE_HAS_STREAM_PIPES. - -Fri Mar 29 08:25:33 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/ACE.cpp (ldfind): Changed the character given to strtok() to - account for the differences in UNIX and Win32 described in the - follow bullet. - - * ace/OS.h: UNIX and Win32 use different characters to separate - pathnames in their runtime LD search path (':' and ';' - respectively). Therefore, I've added new macros to ACE OS to - account for this stuff portably. - - * ace/OS.i: Changed the behavior of the ACE_OS::thr_self() methods - so that they always return 1 if ACE_HAS_THREADS is *not* - enabled. This makes application code work correctly across - threaded and non-threaded platforms. - - * ace/OS.i: Changed the return value of the Win32 arm of the - ACE_OS::dlopen() and ACE_OS::dlsym() functions so that they are - now identical to the way that UNIX behaves. - - * ace/Svc_Conf.y: added a #define for ACE_BUILD_DLL to make Win32 - happy... - - * ace/Synch.i: Fixed a number of bugs in the ACE_Mutex and - ACE_Thread_Mutex tryacquire_read() and tryacquire_write() - methods. I was calling mutex_lock() rather than - mutex_trylock()! Thanks to Prashant for finding this. - - * ace/OS.cpp (exit): Fixed a bug caused by the fact that the test - for the nesting level of the recursive mutex should have been - for > 0 rather than > 1. Thanks to Kirk Sinnard - <1764@mn.lawson.lawson.com> for tracking this down! - - * ace/Log_Msg: Enhanced ACE_Log_Msg so that it automatically - caches the process id. This makes it more robust even if users - don't call open()! - - * examples/Connection/non_blocking/CPP-connector.cpp Fixed a bunch - of typos that caused templates to fail on HP/UX. Thanks to Neil - Cohen for spotting this. - - * ace/Shared_Memory_SV: Change all uses of "int id" to "key_t id" - to reflect the new use of key_t in the Memory_Pool. - - * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool): Fixed a potential - but in the construction of an MMAP memory pool. Because NT uses - strings rather than integers to name its semaphores we were - passing in junk to the NT Process_Mutex initializer. Arrgh! I - fixed this problem by typedef'ing key_t to be char * on Win32 - and then updating the ACE_DEFAULT_SEM_KEY to be - "C:\\temp\ace.sem" rather than 1234.... Also added a new macro - called ACE_INVALID_SEM_KEY, which is NULL on NT and -1 on UNIX. - - * ace/Log_Msg.cpp (instance): Fixed a typo for HP/UX and - other non-threaded platforms! - - * ace/Synch_T.cpp (ACE_TSS_Guard): Added another small fix - to ACE_TSS_Guard to make sure we free up the key when we - go away. - -Thu Mar 28 15:28:44 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.h: changed the names of macros ACE_DYNAMIC_SVC* to new - names that reflect their new, more general nature now that we've - got the ACE_Static_Svcs stuff... - - * ace/Service_Config.cpp (load_defaults): Added a very nice - mechanism that generalizes the configuration of statically - linked services. This makes it possible to insert statically - linked services into a program without changing any of the - existing ACE_Service_Config code. These static services can - then be enabled via the svc.conf file using the "static" - directive. Thanks to Matthew Newhook for - suggesting this and for doing the bulk of the implementation. - - * ace: Commented out the ACE_TRACE calls in ACE_Unbounded_Set, - ACE_OS, and all the ACE synchronization wrappers to work around - some horrible dependencies with Win32 and thread-specific - storage... The moral here is that you have to be careful what - you trace because circualar dependencies abound... My new - policy is that low-level routines are not automatically traced - because they can cause infinite recursion. - - * ace/Synch_T.cpp: Fixed a nasty bug with ACE_TSS_Guard. This was - causing programs that uses ACE_TSS_Guard to segfault... Thanks - to Kirk Sinnard for reporting this. - - * ace/Synch: Added "lock()" methods to all the ACE synchronization - wrappers to return the underlying C level object... This is - necessary at some points in ACE. - - * ace/Synch: Fixed a horrible bug in ACE_Recursive_Mutex and - ACE_Recursive_Lock that was causing instant deadlock because the - non-recursive Solaris/Pthread mutex was being acquired too - eagerly... - -Thu Mar 28 12:14:57 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Map_Manager.cpp (rebind): Added a new method called resize() - which increases the size of the map. Both open() and - shared_bind() make use of this method to dynamically increase - the size of the map. - - * ace/Local_Name_Space.cpp (shared_bind): Modified shared_bind() - in accordance to the changes to Map_Manager. shared_bind() no - longer has to check if the map runs out of room since - Map_Manager dynamically grows the map. - - * ace/Map_Manager.cpp (shared_bind): Changed shared_bind() so that - when the map reaches max_size_, we grow the map by DEFAULT_SIZE - by making a call to open(). - -Wed Mar 27 20:00:47 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (shared_bind): Fixed a bug which was - allocating memory for a name binding which would fail on a bind - since there already existed a binding. This was causing the - mapped-file to grow even when binds would fail. - -Tue Mar 26 13:49:24 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/INET_Addr.i (addr_to_string): Moved the order of - get_host_addr() so that it comes before addr_to_string(). - Thanks to Neil Cohen for finding this. - - * ace/Synch: Added a new implementation of ACE_Thread_Mutex that - takes advantage of the new ACE_OS::thread_mutex_* mechanisms. - - * ace/OS: Added a new set of ACE_OS::thread_mutex_* mechanisms - that map efficiently to either Win32 CRITICAL_SECTIONs or UNIX - mutex_t's with type set to USYNC_THREAD. This allows ACE to - take advantage of the lightweight Win32 synchronization - mechanisms. When Windows NT 4.0 comes out, we'll at last have a - perfect mapping since WinNT 4.0 supports - TryEnterCriticalSection! - -Tue Mar 26 17:35:31 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Map_Manager.cpp: Added two new methods -- total_size() and - current_size() which return the max_size and current_size of the - map respectively. - -Mon Mar 25 20:22:25 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Service_Config.cpp (initialize): Updated the use of ACE_ARGV - to use the new method names. - - * ace/ARGV.cpp (ACE_ARGV): Changed the name of the two main - methods of ACE_ARGC from count() and operator&() to argc() and - argv(). This seems much more consistent with UNIX and C/C++ - naming conventions. - - * ace/ARGV.cpp (ACE_ARGV): Added environment variable substitution - to the ACE_ARGV class using the new ACE::strenvdup() method. - This is transparently available to the ACE Service Configurator - now, which enables the svc.conf file to include things like - this: - - dynamic Name_Service Service_Object * - name_svc.so:make_Name_Service() "-p $PORT -h $HOST" - - * ace/ACE: Added a new function called strenvdup() that returns a - dynamically allocated duplicate of its argument, - substituting the environment variable if str[0] == '$'. - - * ace/Naming_Context: Modified this class so that it now inherits - from ACE_Service_Config. This enables application programmers - to dynamically link instances of ACE_Naming_Context into their - applications via the svc.conf file. - - * ace/OS.i (access): Added a new wrapper for the access() method. - - * ace/Local_Name_Space.cpp: Fixed an error in each list_xxx - methods. If there's an error in the for-loop we must still call - ACE_OS::free() to release resources. Thanks to the - ever-vigilant Karlheinz Dorn for spotting this. - - * ace/Strategies: added virtual methods with name dump() to - ACE_Scheduling_Strategy, ACE_Schedule_All_Reactive_Strategy, and - ACE_Schedule_All_Threaded_Strategy. These methods are - referenced in ACE_Strategy_Acceptor::dump() method - (Acceptor.cpp). Thanks to Alexandre Karev for reporting this. - - * include/makeinclude: Added a number of changes to allow ACE to - build shared libraries correctly on AIX. Thanks to Chris Lahey - for these fixes. - - * ace/Makefile: added tempinc to the list of directories to delete - for "clean". Also, between the call to the two sub make files, - added a $(RM) -rf tempinc. Since we make both libs from the - same directory, we need to delete the tempinc directory to be - sure we don't get the templates generated for libACE included in - libACE_svcs. - - * ace/OS.i: Improved the mapping between ACE Win32 GetLastError() - values and POSIX-like errnos. This is now centralized in the - ACE_FAIL_RETURN macro. - - * examples/Threads/test_thread_specific.cpp: Added many new tests - to exercise the ACE thread-specific storage mechanisms on Win32 - and UNIX. - -Mon Mar 25 4:00:01 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Options.cpp (parse_args): Added a new data variable - called database_ that keeps the name of the name server - database. Also added accessor methods for this. - - * ace/Local_Name_Space.cpp (create_manager): Changed - create_manager() to use ACE_Name_Options::instance ()->database - () instead of ACE_Name_Options::instance ()->process_name(). - - * ace/ACE.cpp (ldopen): Added a new method called ldopen that - finds a file either using absolute path or using - LD_LIBRARY_PATH. If the file is found, it opens the file and - returns a pointer to the file. - - * ace/Parse_Node.cpp: used the new ACE::ldfind() method to locate - the shared object file. This makes it possible to put - "relative" names into svc.conf files and then allow ACE to - locate the appropriate shared object DLL. - - * ace/ACE: added new methods called ldopen() and ldfind() that - find the file either using absolute path or using - LD_LIBRARY_PATH. If found, ldopen() opens the file and returns - a pointer to the file. - -Sun Mar 24 10:41:12 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Compiled ACE successfully on Windows '95. - - * ace/OS: Totally redid the ACE thread-specific storage cleanup - mechanism in OS.cpp to avoid bugs with the previous - implementation. - - * ace/Synch_T: Modified ACE_TSS_Guard so that it will call - ACE_OS::thr_keyfree () when it's finished. This should help to - eliminate the unbounded use of thread-specific storage slots - within a thread. - - * ace/Thread: added a new method keyfree() that calls down to the - ACE_OS::thr_keyfree (). - - * ace/Thread_Manager.cpp: Modified the semantics of - ACE_Thread_Manager::exit () so that it "always" calls - ACE_Thread::exit () even if the user hasn't registered this - thread with the thread manager. This avoids some subtle - problems that arise typically when I forget to put an - ACE_Thread_Control around the main() function. - - * examples/Threads/test_thread_specific.cpp: Added new tests to - ensure that the Win32 TSS cleanup logic is working correctly! - - * ace/Log_Msg: Moved the definition of the ACE_FIFO_Send_Msg queue - from the Log_Msg.h file to the Log_Msg.cpp file. The MSVC++ - compiler was having problems with this when building a DLL. - Besides, this needs to be replaced with Sockets for Win32 - anyway... - - * ace/OS.cpp: Put a safe guard in the readv() and writev() - emulations so that they return ACE_NOTSUP_RETURN if - ACE_HAS_THREADS is enabled. This is necessary because the - readv() and writev() emulations are *not* atomic if multiple - threads are used. If someone can provide an atomic - implementation I'll enhance the code to remove the existing - restrictions. - - * ace/OS: Created a new macro called ACE_SYSCALL_FAILED, which is - mapped to 0xFFFFFFFF on Win32 and -1 on UNIX. - - * ace/Synch and Synch_T: cleaned up the implementation of the - Recursive_Lock and Recursive_Mutex to use the ACE_Guard classes. - This simplifies the code. - -Sat Mar 23 16:53:14 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace: Updated all ACE classes to use the new ACE_Export macro. - This will enable them to transparently be used to create a Win32 - DLL. Also added ACE_BUILD_DLL to all the *.cpp files. - - * tests/CPP-inserver.cpp (main): Modified CPP-inclient.cpp and - CPP-inserver.cpp to use non-blocking I/O. In particular, - CPP-inserver times out on select and then checks to see if any - connections have arrived. Both applications are also working on - NT. - -Sat Mar 23 15:02:47 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Local_Tokens.cpp (proxy_): Modified the print statement for - local tokens to account for the fact that thread ids can be - unsigned on some platforms. - - * ace/Log_Msg.cpp (log): Modified the output format of the %t - directive to ACE_Log_Msg::log() so that it prints values in - unsigned form rather than signed form. This fixes a bug with - Win32 on Windows '95. - - * ace/ACE: Added two new methods ACE::read_n() and ACE::write_n(). - These are now necessary since Win32 distinguishes between - operations on SOCKETs and operations on other forms of HANDLEs. - - * ace/ACE: Changed all uses of ACE::set_fl() and ACE::clr_fl() to - ACE::set_flags() and ACE::clr_flags(). - - * ace/ACE: Changed the name of ACE function handle_timed_connect() - to handle_timed_open() since this is reall what it does... - -Fri Mar 22 00:11:19 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Stack: Added a "Node of last resort" to the - ACE_Unbounded_Stack. This ensures we are graceful in the face - of memory failures. - - * ace/OS.i (sleep): Fixed a bug with the Win32 ACE_OS::sleep - mapping. This should have had an "ACE_OSCALL_RETURN" in it... - - * ace/ACE.h: Had forgotten to put "static" in front of "basename". - Thanks to Neil Cohen for reporting this... - - * ace/Name_Options.cpp (process_name): Changed char * to const - char * to avoid compile error. Thanks to Neil Cohen for this... - - * ace/IPC_SAP: Implemented the enable()/disable() methods to work - with non-blocking I/O for SOCKETs on Windows NT. - - * ace/OS.i: Modified ioctl() to support the ioctlsocket() call on - Windows NT. - - * ace/Log_Msg.cpp (log): Fixed a bug that was caused by not - NUL-terminating the logging string properly when a %a is given. - Thanks to Tim Harrison for finding this. - - * ace/OS: Added a new overloaded "ACE_OS::sleep" method that takes - an ACE_Time_Value rather than a u_int. This is much more useful - for fine-grained timers than the horrible UNIX sleep() call. - - * ace/OS.h: #included "sys\timeb.h" in the Win32 version of ACE. - -Thu Mar 21 22:18:50 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps: Fixed all incorrect usages of ACE_HANDLE = -1 to use - ACE_HANDLE = ACE_INVALID_HANDLE in order to work with Win32... - - * ace/OS.i (gettimeofday): Replaced the existing implementation of - gettimeofday with a new version that is shorter, more efficient, - and most importantly, correct... Thanks to Todd Montgomery. and - Mike Flinn for this stuff. - - * ace/ACE: added a new method called basename() that returns the - filename portion of a pathname. - -Thu Mar 21 21:51:48 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/OS.h (ACE_DEFAULT_GLOBALNAME): Added some new #defines for - NT: ACE_DEFAULT_NAMESPACE_DIR, ACE_DEFAULT_LOCALNAME, and - ACE_DEFAULT_GLOBALNAME. - - * ace/Local_Name_Space.cpp (ACE_Local_Name_Space): Fixed a subtle - bug. Instead of doing a new char [xxx], I was doing a new char - (xxx). Also, added some #if defined (ACE_WIN32) to support - special cases for NT (for example determining the context file - name). - -Wed Mar 20 02:03:39 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Log_Msg.cpp (log): If we're writing to stdout or to an - iostream make sure the lock is help to avoid race conditions and - scrambled output. - -Tue Mar 19 00:12:25 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread_Manager.h: Added new default values to spawn() and - spawn_n(). - - * ace/OS.i (sigaction): Added support for signals to the ACE NT - mapping. - - * ace/ACE: Added 4 new methods to class ACE: send(), send(), - recv(), recv(). These calls mask some differences between UNIX - and Win32 IPC mechanisms. Then, reimplemented the Reactor's - notification mechanism to use this. - - * ace/OS.i (ACE_OSCALL_RETURN): fixed zillions of warnings on - HP/UX by making a small change to line 151 of the OS.i file. - Thanks to Neil Cohen for reporting this. - - * ace/Reactor.cpp: Rewrote the Reactor::notify() mechanism to - avoid using readv() and writev(). These work fine on UNIX, but - don't work correctly on Windows NT due to race conditions. - Basically, we need to reimplement this stuff on Win32 to avoid - the problem. - - * ace/OS.h: Added SIGQUIT, SIG_BLOCK, SIG_UNBLOCK, and SIG_SETMASK - definitions to NT. - - * ace/Time_Value: added a new set() method to be consistent with - the ACE_Time_Value (long, long) constructor. - - * ace/Service_Config.cpp (open): Fixed a bug where the - ACE_Service_Repository and ACE_Reactor weren't being initialized - correctly if the ACE_Service_Config::ACE_Service_Config (const - char *) method was called. - - * ace/Service_Config.cpp: Changed the constructor for - Service_Config so that it doesn't barf if the svc.conf file - isn't found. - -Mon Mar 18 00:34:45 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Reactor.h: Hid the inclusion of the Local_Tokens.h file in - the Reactor so that by default there will be no dependency - between libACE and libACE_svcs. This should prevent compilation - problems on some platforms. - - * bin: Included the html-windex shell script from Vincent Pommier - . - - * man: Included a shell script to automatically generate an - acewindex.html file. This file is useful just after running - man2html. Thanks to Vincent Pommier - for contributing this. - - * man/html: I've just used the man2html programs to generate the - html documentation from the man3 directory. It seems to work - pretty well. - - * ace/Assert.h: Added a forward declaration for class ACE_Log_Msg - to fix problems NuMega preprocessing. Thanks to Mike Flinn - for finding this. - - * ace: Implemented about 1/3rd of the "dump" methods for the - various ACE classes. - - * ace/Acceptor.cpp (info): Fixed a bug -- should use PR_AD rather - than ACE_INET_Addr since this is used for SPIPEs as well... - - * ace/Synch_T.cpp (ACE_TSS): If ACE_Thread::keycreate () fails - then we do an fprintf() and return at the moment. It doesn't do - any good to do an ACE_Log_Msg operation since those all require - thread-specific storage and this will just cause a recursive - problem... - - * ace/OS.cpp: Removed a memory leak in ACE_OS::thr_destory_tss() - that was caused by forgetting to delete each ACE_TSS_Key_Info - object when we no longer needed it. Thanks to Mike Flinn - for finding this. - - * ace/OS.cpp: Added a new method to class ACE_OS called - thr_keyfree(). This enables us to free up a thread-specific - storage key on Win32 (it isn't implemented on the UNIX - platforms). - - * ace/ACE.cpp (timestamp): In order to get ACE_OS::timestamp to - work on Win32, the wMonth, wDay, wYear structure members were - added to the sprintf statement. Thanks to Mike Flinn - for this fix. - - * examples: Changed all uses of ACE::send_n (1, ...) to - ACE_OS::write (ACE_STDOUT, ...) to avoid problems with NT's - hacked support for sockets and HANDLEs. Thanks to Bernd Hofner - for noticing this. - -Sun Mar 17 00:43:14 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/CORBA_Handler.cpp (handle_input): Fixed the CORBA_Handler to - use send()/recv() rather than read()/write(). - - * ace/Process_Manager: put the hooks in for the forthcoming ACE - Process Manager, which will provide a service similar to the - ACE_Thread_Manager, except that it will work for processes, not - threads. - - * netsvcs: all the ACE network services appear to be working - again... - - * man: Completely regenerated all the manual pages to reflect all - the most recent changes. - - * ace/OS.h: Created a new macro called ACE_DEFAULT_REACTOR_SIZE. - This is useful for two reasons (1) it centralizes this value in - one place in ACE and (2) removes a horrible circular dependency - between the Service_Config.h and Reactor.h... - - * ace/Strategies: Added new strategies to handle "scheduling" of - Svc_Handlers launched by a Strategy_Acceptor. In this context, - scheduling refers to "suspending" and "resuming" Svc_Handlers. - There are several alternative strategies ranging from (1) - suspending/resuming a single handler, (2) suspending/resuming - all the handlers in a Reactor, and (3) suspending/resuming all - handlers controlled by a Thread_Manager. This very powerful - feature makes it simple to write ACE_Network_Services that can - control all their handlers in one fell swoop... - - * ace/Task: Added new accessors/mutators to get/set the - Thread_Manager and the Message_Queue associated with a Task. - This makes life easier and more abstract in subclasses and - elsewhere. - - * ace/Reactor: added an iterator to the ACE_Handler_Repository. - This makes it possible to implement the suspend_handlers() and - resume_handlers() very efficiently on both UNIX and Windows NT. - - * ace/Reactor: Added two new methods called suspend_handlers() and - resume_handlers(). These methods suspend and resume all the - active Event_Handlers in the Reactor in one fell swoop. - - * ace/Reactor.i (suspend_handler): Fixed a bug in the Reactor - where we were not factoring out the code for suspend_handler() - appropriately with respect to locking. - - * netsvcs/Logging/Server_Daemon/Thr_Logging_Handler: Enhanced the - threaded logging service so that all active threads can be - automatically suspended and resumed via the ACE_Service_Config - svc.conf file. - - * netsvcs/Logging/Server_Daemon/Logging_Handler.cpp: Rewrote the - ACE Logging service to use the new ACE_Strategy_Acceptor - implementation. This greatly reduced duplicate code. There's - almost nothing left in this directory save the actual service - itself! - - * netsvcs/Tokens: Rewrote the ACE Token service to use the new - ACE_Strategy_Acceptor implementation. This greatly reduced - duplicate code. There's almost nothing left in this directory - save the actual service itself! - - * netsvcs/Naming: Rewrote the ACE Naming service to use the new - ACE_Strategy_Acceptor implementation. This greatly reduced - duplicate code. There's almost nothing left in this directory - save the actual service itself! - -Sat Mar 16 20:02:08 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * netsvcs: Created a new subdirectory off of $WRAPPER_ROOT and put - all the ACE network services (e.g., Time, Logging, Naming, and - Tokens) into that directory. These services all instantiate the - new ACE_Strategy_Acceptor implementation, which greatly - simplifies their behavior and code. - - * ace/Acceptor: Made some enhancements to the - ACE_Strategy_Acceptor in order to make it more suitable for use - as a generic "Service" launcher. This class now defines common - behavior for all the ACE network services (e.g., Time, Logging, - Naming, and Tokens). - - * apps/Token_Server: Made the main Token_Server application be - dynamically linked if there's a valid svc.conf file. - - * apps/Name_Server/Name_Server: Made the Server_Test a - "well-behaved" service. Previously, it block in a private event - loop within Name_Server::run(), which was called by - Server_Test::init() when the service was linked dynamically. - This obviously doesn't work correctly since it means that we - can't dynamically link any other services after this one! The - new version is "event-loop" friendly since it uses the main - Service_Config::run_event_loop() method. - - * ACE-categories: Added a new emacs "outline" file that - illustrates how the filenames in $WRAPPER_ROOT/ace cluster into - class categories. Thanks to Chris Eich - and Alex V. Maclinovsky - for helping create this. - - * ace: Split ACE into two libraries: libACE and libACE_svcs. - libACE contains the "core" ACE components. libACE_svcs contains - the client-side layered services (e.g., naming service, token - service, etc.). There are two reasons for doing this: - - 1. It reduces the size of ACE for many common usecases (i.e., - most people aren't using the naming service or the token - service). Any future layered services in ACE will be placed - into the libACE_svcs library rather than libACE. - - 2. It works around annoying compiler bugs with lame compilers - like HP/UX C++. Now, if those compiles can't compile the - token service (which is very template intensive) it won't - affect the core ACE library components. This improves the - portability of ACE. - - * Added -lACE_svcs to the ./apps/{Token_Server,Name_Server} and - ./examples/{Tokens,Naming} Makefiles to account for the new - libraries. Note that no source code changes are required... - -Fri Mar 15 00:03:48 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Name_Server/server/Name_Handler.cpp (recv_request): Fixed - the same problem as occurred in Token_Handler (these both come - from the same source...). - - * apps/Token_Server/Token_Handler.cpp (recv_request): There was a - subtle bug in the Token_Handler that stems from my old code. - The line - - n = this->peer_.recv ((void *) (((char *) &this->token_request_) - + sizeof (ACE_UINT32)), - length); - - This should actually be: - - n = this->peer_.recv ((void *) (((char *) &this->token_request_) - + sizeof (ACE_UINT32)), - length - sizeof (ACE_UINT32)); - - since length was read already. The old way tried to read 4 - bytes too much. Thanks to Jesper for noticing this. - - * ace/Connector.cpp (connect_svc_handler): Modified the connector - so that it automatically calls the close () method of the - Svc_Handler when the connection fails abortively. This makes - the semantics the same for synchronous and asynchronous - connection invocation modes. Thanks to Irfan for insisting on - this! - - * apps/Token_Server/Token_Acceptor.cpp (handle_input): Changed - return type from int to ACE_HANDLE for NT compatibility. Thanks - to Jesper for this insight. - - * ace/OS.h: The defines for ACE_LACKS_MODE_MASKS (OS.h) were only defined - when !ACE_WIN32. This has been fixed. Thanks to Irfan for - spotting this too. - - * ace/OS.i (mmap): made a small change to ACE_OS::mmap to fix NT - portability problem (new variable added:nt_flags). Thanks to - Irfan for spotting this. - - * ace/Local_Tokens.h: Added #include "ace/Map_Manager.h" after - line 41 in Local_Tokens.h to allow ACE to compile correctly with - the horrid HP/UX compiler. Thanks to Neil Cohen for figuring - this out (what a trooper!). - - * ace/Local_Tokens.cpp (ACE_TPQ_Entry *): Replace - - return ACE_TSS::operator ACE_TPQ_Entry *(); - - with - - return (ACE_TPQ_Entry *) (*((ACE_TSS *) this)); - - to work around problems with MSVC++ 4.0 when the browse option - is enabled. Thanks to Kirk Sinnard <1764@mn.lawson.lawson.com> - for this fix. - - * ace/config-sunx86-sunc++-4.x.h: Swapped the lines - - // Compiler/platform supports SVR4 signal typedef. - //#define ACE_HAS_SVR4_SIGNAL_T - #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES - - to - - // Compiler/platform supports SVR4 signal typedef. - #define ACE_HAS_SVR4_SIGNAL_T - //#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES - - to avoid an error using ProWorks C++ 4.0.1 (w/ patches) which - blow up in the Signal.x stuff with a prototyping error. Thanks - to John P. Hearn for this recommendation. - - * ace/Shared_Memory.h: The conditional compilation wrapper was out - of date, so I renamed it. Thanks to Alex V Maclinovsky - for reporting this. - -Thu Mar 14 23:18:59 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread.h: There was a bug in the ACE_Thread class. I - attempted to make the class uninstantiable by making the - constructor private. However, the statement was: - - private: - Thread (void); - - which is not the definition of the ctor! The code compiled - since it thinks Thread is a member function. As a result, you - could instantiate a object of ACE_Thread class, but no longer... - Also added this to the !defined (ACE_HAS_THREADS) arm of the - conditional compilation. Thank to Sandeep Joshi - for noticing this. - - * ace/Log_Record.i (decode): Fixed a stupid typo where htonl - (this->length_) should have been htohl (this->length_)... - Thanks to Audun Tornquist for - noticing this. - -Tue Mar 12 14:51:39 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Name_Request_Reply.cpp (decode): Added ntohl and htonl calls - wherever data was being exchanged. - -Sat Mar 9 17:49:51 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/OS.i (cond_wait): Updated the Win32 implementation to - correspond precisely with the UNIX semantics where the mutex is - always reacquired even when errors occur. - -Mon Mar 4 23:03:37 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * INSTALL: updated the win32 to describe building test - applications. - -Mon Mar 4 16:17:05 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (resolve): Fixed a small bug. The type - field in resolve was copying extraneous stuff (because of being - kept around as a wchar_t). So I added a new method to the class - ACE_NS_String called len() which simply returns len_. Using this - I can now do a strncpy of len bytes for type (instead of a - simple strcpy) and then null-terminate the string to remove the - garbage. - -Thu Feb 29 23:41:04 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/Token_Request_Reply.cpp: Fixed a byte-order bug which was - showing up on intel platforms. - - * ace/Remote_Tokens.cpp: Fixed a race condition in - ACE_TSS_Connection which was munging mt token server clients. - - * examples/Tokens/mutex/*: The Token Server example applications - now use ACE_Thread_Manager, which should make them portable to - Win32. - - * apps/Token_Server/Token_Server.cpp: The Token Server is now a - Service_Object which can be dynamically linked. - - * ace/OS.i: Win32 ACE_OS:: signal methods now return 0 instead of - -1. So, calls to signal code succeed, but do nothing useful. - -Thu Feb 29 20:38:32 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Logger/Server_Daemon/Server_Logger.cpp - (handle_logging_record): There was a typo where - ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES was incorrectly spelled. - This caused problems on HP/UX. Thanks to Neil Cohen for - finding this. - -Wed Feb 28 11:41:49 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Mem_Map.cpp: Fixed a nasty bug with Win32 memory mapping... - It turns out we need to be very careful when remapping a - previously mapped region if the MapViewOfFile we're trying to - establish *grows* beyond what was originally mapped with - CreateFileMapping(). The new scheme seems to work correctly - with both UNIX and Win32. - - * ace/OS.h: apparently when using MFC library functions it - is not possible to include windows.h. Instead, users - must include AFX.h. Therefore, I've modified OS.h to - include the following: - - #if !defined (__AFX_H__) - #include - #endif /* __AFX_H__ */ - - Thanks to Patty Genualdi (genualdp@agcs.com) for pointing this - out. - - * ace/Memory_Pool.cpp: Modified init_acquire() so that it calls - ACE_Mem_Map::open() rather than ACE_Mem_Map::map() the first - time. This ensures that the file is mapped correctly. - - * ace/Mem_Map: Added a new method called open() that creates/opens - a file without actually mapping it. - - * ace/SOCK_Dgram_Mcast.cpp (make_multicast_address): Added - new support for Windows NT. - - * ace/Memory_Pool: reimplemented ACE_MMAP_Memory_Pool so that uses - ACE_Mem_Map. This ensures that we can leverage all the work - that went into making ACE_Mem_Map work on Win32. - - * ace/Memory_Pool.cpp (map_file): Modified the code so that we - always unmap the file before trying to remap it. This avoids - problems with Win32... - - * ace/Mem_Map: Modified the implementation of ACE_Mem_Map so that - it takes advantage of the improved features in ACE_OS::mmap. - Also added new a method that returns the memory-mapped addr more - easily. - - * ace/OS: Modified the ACE_OS::mmap() method so that it is more - efficient for remapping files on Win32. - - * ace/OS.h: renamed the type QWORD to ACE_QWORD to avoid namespace - pollution. Thanks to Patty Genualdi (genualdp@agcs.com) for - pointing this out. - - * ace/OS.h: Changed the value of the SIGPIPE emulation for Win32 - to match the UNIX value in order to avoid problems. Thanks to - Jesper for noticing this. - - * apps/Token_Server: Fixed misuse of int for ACE_HANDLE in various - places. Thanks to Jesper for noticing this. - - * Renamed the ./tests directory to ./examples to make way for the - new ACE regression tests. These tests will go into the new - ./tests directory. - - * ace/Mem_Map.cpp: Added a destructor and a close() method that - closes down the file HANDLE if we allocated it. This is useful - to prevent descriptor leaks. Thanks to Irfan for suggesting - this. - - * ace: Made a number of changes to remove unreferenced parameters - from ACE methods. This eliminates zillions of warning from the - HP/UX compiler. Thanks to Neil Cohen for reporting this. - - * ace/Local_Name_Space.cpp (resolve): revised some code to work - around bugs with the HP/UX compiler... Thanks to Neil Cohen for - this workaround. - -Tue Feb 27 21:06:09 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i: The Win32 CreateFile does not handle the return you - would expect when the file exists. You would expect EEXISTS (17 - in UNIX) but the GetLastError is set to 80 - (ERROR_FILE_EXISTS). Therefore, I changed ACE_OS::open to map - ERROR_FILE_EXISTS onto EEXIST. This is only a partial solution, - however. There must be a better way to handle this! - - * ace/Mem_Map.cpp (ACE_Mem_Map): Fixed a bug with one of the - ACE_Mem_Map destructors that was causing problems due to the - fact that base_addr_ wasn't being initialized to 0. Thanks to - Karlheinz for noticing this. - - * ace/Signal.i: signals on AIX cannot use sigprocmask() in any - multithreaded programs. Instead, the call - ACE_OS::thr_sigsetmask() should be used since it is used to - update the thread signal mask. This comes up only in the - Sig_Guard constructor and destructor. Therefore, I #ifdef the - call under the ACE_MT_SAFE macro, using sigprocmask() in the - #else case. Thanks to Chris Lahey for reporting this. - - * tests: removed all uses of ACE_OS::join (0, ....) in ACE and - replaced them with ACE_Thread_Manager::wait() calls. This - ensures that the ACE code is portable to Win32 and POSIX - pthreads! - - * ace/Dynamic_Service.cpp: Added a #include of - "ace/Service_Config.h" to work around problems with HP/UX. - Thanks to John Morey for reporting this. - -Sun Feb 25 12:10:38 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * apps/Token_Server: changed the name token_server.cpp to main.cpp - to avoid a name clash on Win32... - - * man/man3: updated all the ACE manual pages to reflect the - most recent changes. - - * ace/OS.i: Implemented the cond_timedwait() method correctly in - ACE_OS. This method should now do the right thing with respect - to blocking, polling, and timewaits for Win32. - - * ace/OS.i: Modified the Win32 implementation of all the - socket-related wrappers in ACE_OS. The new implementation very - cleverly sets errno to the result of WSAGetLastError() if a - socket-related call fails. Since all of the WinSock errors are - mapped into their equivalent UNIX errno values this enables - socket applications to work portably for UNIX and Win32. - - * ace/Malloc_T.cpp (ACE_Malloc): Improved error reporting for - cases where the Memory_Pool::init_acquire() fails (e.g., if the - backing store was already created by another user and we don't - have permission to access it...). - - * ace/Task: modified Task.h so that it is no longer necessary to - write #include "ace/Synch_T.h" in order to use ACE_MT_SYNCH, - etc. - - * ace/SOCK.cpp (DllMain): Added a clever "Schwartz counter" to - make sure that the WinSock library is correctly initialized, - even if we're not using ACE as a DLL!!! - - * tests/Mem_Map/file-reverse: got the file reverse test program - working. The ACE_Mem_Map class should now be ported to Win32... - - * ace/OS.i (open): Changed how the O_CREAT flag was handled - to give it UNIX semantics... - -Sat Feb 24 12:55:27 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/UPIPE_Stream.cpp (recv): Fixed a signed/unsigned mismatch. - There should be no more mismatches in ACE... - - * ace/Name_Proxy.cpp (recv_reply): Fixed a signed/unsigned - mismatch. - - * ace/Message_Block.cpp (copy): Fixed a signed/unsigned mismatch. - - * ace/INET_Addr.cpp (get_host_name): Changed the type of the - hostnamelen parameter from int to size_t to be more "abstract." - This will also prevent a warning from the MSVC++ compiler. - - * apps/Logger/Client_Daemon/Client_Logger.i: Fixed a braino with - network byteoder that was causing Client_Logger::send() to fail - on INTEL boxes. Thanks to Bryon G. Rigg - for finding this. - -Fri Feb 23 01:59:34 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i: Enhanced mmap() to give the same semantics as UNIX - mmap() by using MapViewOfFileEx(). Also greatly improved the - UNIX emulation capabilities so that mmap() now has the same API - for UNIX and Win32. - - * ace/Time_Value: Added functions to constructor and conversion - from/to Win32 FILETIME. This enables us to reuse those 100ns - conversions in ACE_Profile_Timer. - - * ace/Time_Value: Fixed a problem with these: - - // True if tv1 < tv2. - - INLINE int - operator < (const ACE_Time_Value &tv1, - const ACE_Time_Value &tv2) - { - ACE_TRACE ("operator <"); - return tv2 > tv1; - } - - This should be "tv2 >= tv1". Same problem was fixed with - operator <=. - - * ace/Profile_Timer.i, fixed the following: - - this->end_time_ = ACE_OS::gettimeofday (); - this->last_time_ = this->end_time_; - this->last_usage_ = this->end_usage_; - ACE_OS::getrusage (RUSAGE_SELF, &this->end_usage_); - - This will overwrite end_time before it is saved to - last_time... - - * tests/Threads: Added Jesper's test for readers/writers locks. - The test adds a number of reader and writer threads. When - active, writers modify a shared variable and verify that only - one writer and no readers are active. When active, readers - check that no writers are active and that the shared data is - never changed. The test passes for different ratios of - readers/writers, and debug output shows that several readers are - allowed simultaneously. Or, in other words, we have an - indication that it should work. - - * ace/OS.i: Added Win32 implementations of getpid(), fork(), - lseek(), dup(), cond_timedwait (), getrusage () - - * ace/OS.i: Modified all the ACE_OS::str* routines so that they no - longer do an ACE_OSCALL_RETURN. This can lead to weird bugs... - Thanks to Jesper for noticing this. - - * ace/config-sunos4-sun4.1.4.h: Added a new config file that - should work with SunOS 4.x... Also added support for SunOS - 4.1.4. Thanks to Mick Adams (eeimas@eei.ericsson.se) for help - with this. - -Thu Feb 22 18:58:36 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests/Naming/Client/Name_Service.h (ACE_Service_Object): - Modified test application to make use of ACE_Dynamic_Service. - - * ace/Dynamic_Service.h: Added a new class called Dynamic_Service - which provides a general interface to add and retrieve arbitrary - things into the ACE service repository. - - * apps/Name_Server/README: Rearranged files so that Name_Server - and Name_Handler are now contained in the server directory under - apps and are no longer under /ace. Also, the Dump_Restore - directory has been moved under /tests/Naming. - -Thu Feb 22 01:56:46 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/INET_Addr.cpp (set): Fixed a byteorder bug in ACE_INET_Addr - that was causing problems when ACE was used on Win32 running on - Intel platforms... - - * ace/Mem_Map.cpp (map_it): Fixed ACE_Mem_Map so that it will work - correctly on Win32. - - * ace/SOCK_Stream.i: Changed the implementation of the Win32 - versions of send() and recv() so that they will never use the - read() and write() calls. This works around limitations with - Win32, which can't do a ReadFile() or WriteFile() - *synchronously* with a SOCKET. - - * Changed all occurrences of read (0, ...) to read (ACE_STDIN, - ...) and all occurrences of write (1, ...) to write - (ACE_STDOUT, ...) in order to be compatible across UNIX and - Win32. - - * tests/ASX/Event_Server: Fixed up all the socket I/O calls so - that they use the WinSock send()/recv() methods rather than - ReadFile and WriteFile... - - * ace/OS.i: Updated open() to correctly emulated UNIX open() - semantics on Win32. - - * ace/OS.cpp (thr_exit): Added support to the NT port so that - thr_exit() doesn't endup doing multiple deletions of the same - object. Thanks to Karlheinz for this fix. - - * ace/OS.h: Moved the location of ACE_MAXCLIENTIDLEN so that - MAXHOSTNAMELEN would be correctly visible for NT. - - * ace/Reactor.cpp: Added a temporary fix for the fact that - writev() and readv() don't work correctly yet on NT. The - solution is to replace write() with two writes() and readv() - with two reads() for the Reactor's notification scheme. A - better solution should be forthcoming. - - * ace/Reactor.cpp: Made sure to initialize the timer_queue_ to 0 - in the constructors so that the Reactor's destructor can avoid - crashing horribly if the constructor fails. Thanks to Karlheinz - for pointing out the need for this. - - * ace/SOCK.cpp: Added support for WSAStartup for using WinSock - within the ACE_SOCK class. - -Wed Feb 21 21:05:55 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/ACE.cpp (bind_port): Made a quick fix to work around the - fact that NT doesn't set errno... - - * ace/OS.i (mmap): Fixed a bug in mmap for the NT port. It should - return MAP_FAILED on error rather than 0 to be equivalent to the - UNIX version. Thanks to Irfan for spotting this. - -Mon Feb 19 00:31:42 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Typed_SV_Message.i (ACE_Typed_SV_Message): Modified the - constructor calls so that length_ and max_size_ are correctly - set when created. Thanks to Alexandre Karev - for reporting this. - - * ace/SV_Message_Queue.i (remove): fixed bug in - ACE_SV_Message_Queue::remove method where `internal_id_' member - was modified *BEFORE* it was used the last time in - ACE_SV_Message_Queue::control. Thanks to Alexandre Karev - for reporting this. - - * ace/Typed_SV_Message.i (length): Fixed a minor typo that caused - a bigger bug ;-). Thanks to Alexandre Karev - for reporting this. - - * ace/OS.h: Added new macros that allow programs to portably - access stdin, stdout, and stderr HANDLEs on Win32 and UNIX as - follows: - - #if defined (ACE_WIN32) - #define ACE_STDIN GetStdHandle (STD_INPUT_HANDLE) - #define ACE_STDOUT GetStdHandle (STD_OUTPUT_HANDLE) - #define ACE_STDERR GetStdHandle (STD_ERROR_HANDLE) - #else - #define ACE_STDIN 0 - #define ACE_STDOUT 1 - #define ACE_STDERR 2 - #endif /* ACE_WIN32 */ - - * ace/INET_Addr.i: modified the return value of get_port_number so - that it returns the value in host byte order. This has actually - been a latent bug in ACE for years, but it only surfaced - recently after porting to NT on the Intel instruction set (which - is "little-endian"). - - * tests/ASX/Event_Server: Merged in the latest changes to the - Event_Server tests, which enable it to compile on Windows NT. - Now, I just need to get it working on NT... - - * Updated all of ACE to use the new ACE_ASSERT rather than assert. - - * ace/Assert.h: Added a new file and a new macro called - ACE_ASSERT. This uses the ACE_Log_Msg Singleton to provide a - more consistent means to do assertions. Thanks to Alexandre - Karev for suggesting this. - - * ace/Log_Msg.cpp (log): added for method ACE_Log_Msg::log lines - to skip the `sprintf' part for %N - file name and %l - line - number format specifiers. Thanks to Alexandre Karev - for reporting this. - - * Remote_Name_Space: Removed an initalizer to ACE_WString that was - driving the HP/UX compiler nuts. - -Sun Feb 18 18:11:22 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Synch.h (ACE_Null_Condition_Mutex): Added a missing body to - the wait() method. Thanks to Byron Riggs for noticing this. - -Sat Feb 17 19:10:06 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests/Naming/README (client): Added description for new - features, including support for list_values and list_types. Also - added a small description about test programs using DLL. - - * ace/Name_Request_Reply.cpp (decode): Fixed a small bug in - ACE_Name_Request::decode. type_ was not null terminated causing - some garbage to be returned. - -Thu Feb 15 14:57:06 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Remote_Name_Space.cpp: Changed names of some parameters to - comply with ACE syntax. - -Wed Feb 14 13:36:31 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (resolve): Type support has been added - to Name_Server. A new class called ACE_NS_Internal was created to - keep value and type information. - -Fri Feb 9 17:12:00 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * "Officially" released ACE 4.0 - - * ace/OS.i (sema_post): Fixed a bug in the NT port. - - #elif defined (ACE_HAS_WTHREADS) - return ::ReleaseSemaphore (*s, 1, 0); - #endif /* ACE_HAS_STHREADS */ - - This returns 1 for success, and disturbs cond_broadcast... - This was replaced by: - - #elif defined (ACE_HAS_WTHREADS) - return ::ReleaseSemaphore (*s, 1, 0) ? 0 : -1; - #endif /* ACE_HAS_STHREADS */ - - Thanks to Jesper S. M|ller (stophph@diku.dk) for this. - - * ace/OS.i (cond_init): Fixed a bug in the NT condition synch - code, as the initial count of the semaphore was 1. This gives an - inconsistent condition: The first waiter went straight through... - Change in ACE_OS::cond_init: - - if (ACE_OS::sema_init (&cv->sema_, 0, type, name, arg) != 0) - return -1; - - Thanks to Jesper S. M|ller (stophph@diku.dk) for this. - - * ace/Singleton.cpp: Fixed a stupid bug that was caused by failure - to #include "ace/Synch_T.h"... Thanks to Neil Cohen and Byron - Riggs for giving me insights on what the problem was. ACE now - compiles on HP/UX. - -Fri Feb 9 11:07:04 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests/Naming/server/Server_Test.cpp (init): Modified server - tests to dynamically link Naming Services. Both client and - server tests now make use of the ACE dynamic linking mechanisms. - - * ace/Local_Name_Space.cpp: Added list_values() to Name - Server. The functionality is very similar to list_names (returns - list of values that match a pattern). - - * tests/Naming/client/Client_Test.cpp (bind): Replaced all uses of - cerr and cout with ACE_ERROR, ACE_ERROR_RETURN, and ACE_DEBUG. - Split the file Client_Test.cpp into two files -- Client_Test.cpp - and Name_Service.cpp (similarly .h file) each containing the - corresponding class. Modified svc.conf to work with the changes. - -Thu Feb 8 02:05:26 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Log_Msg.cpp (log): Enhanced the Log_Msg class so that it - supports "nested" calls via %r. If SILENT mode enabled, nested - outputs will enclosed in {..} brackets in thread-specific - storage. Thanks to Alexandre Karev for - suggesting this. - - * ace/Synch: Added a new class called ACE_Null_Condition_Mutex. - This is necessary to fix bugs with stupid compilers... Thanks - to Zusman Mark for reporting this. - - * tests/Naming/client: made a first pass implementation of a - client application that dynamically links in a Naming_Context - based on information provided by the svc.conf file. - - * ace/Name_Options: Fixed yet more problems with dynamic memory - management. The old version didn't make a copy of the strings - it was passed and this caused major problems. - - * ace: Fixed a whole slew of problems with the ACE Name Server - stuff that arose from inconsistent use of const char * vs. char - *... - -Wed Feb 7 00:58:45 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/CORBA_Handler.cpp (ACE_MT_CORBA_Handler): Added new - enhancements to ACE_MT_CORBA_Handler to make it work correctly - with Windows NT. Thanks to Irfan for making these changes. - - * ace/Connector.cpp (fini): Make another workaround for bugs with - MSVC++ 2.0... - - * ace/SPIPE_Connector.cpp (connect): Added a call to ACE_CLR_BITS - (flags, O_CREAT) to make darn sure that the O_CREAT flag is not - set. Thanks to Chris Cleeland for suggesting this. - -Tue Feb 6 01:40:29 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.h: added a new prototype to OS.h that should help with - portability to nasty platforms with broken rand_r() definitions. - Thanks to Aurelio Nocerino - for suggesting this. - - * Local_Tokens: Changed all uses of enumerals MAXTOKENNAMELEN and - MAXCLIENTIDLEN to symbol #defines ACE_MAXTOKENNAMELEN and - ACE_MAXCLIENTIDLEN. This works around bugs with HP/UX. - Thanks to Neil Cohen for reporting this problem. - - * ChangeLog: split the ChangeLog files into 4 separate files -- - one for '96, '95, '94', and '93. Hard to believe I've been - working on this stuff for so long! - - * ace/OS: Fixed the use of ::memset to replace sizeof buffer with - sizeof (ACE_SERVENT_DATA) and sizeof (ACE_HOSTENT_DATA). This - fixes bugs that surfaced on AIX. Thanks to Chris Lahey for - finding these. - - * ace/SPIPE_Addr.cpp (ACE_SPIPE_Addr): Fixed a bug in - SPIPE_Addr::SPIPE_Addr(const SPIPE_Addr&). What happens is that - when the size is calculated it does not take into account the - required zero byte at the end of the rendezvous_ member. Thanks - to Chris Cleeland for reporting this. - - * ace/Local_Tokens: Had to move all ACE_Token_Proxy methods from - Local_Tokens.i to Local_Tokens.cpp and remove INLINE - otherwise - gcc reported them as undefined methods during linkage stage. - Thanks to Zusman Mark for - reporting this. - - * ace: Changed ACE_Name_Request_Reply::LAST to - ACE_Name_Request_Reply::MAX_ENUM to avoid problems with name - conflicts on OSF/1. Thanks to Eshel Liran - for suggesting this. - - * ace/Synch_T: Fix all definitions of ACE_Atomic_Ops so that they - compile correctly on platforms that lack threads! Thanks to - Alexandre Karev for noticing this. - - * include/makeinclude: Added a new config file from Bryon G. Rigg - , which should allow ACE to build on - Linux. - - * ace/Remote_Tokens.cpp: Moved ACE_TSS_Connection to - Remote_Tokens.h to avoid problems with AIX. Thanks to the - ever-vigilant Chris Lahey for reporting this. - -Mon Feb 5 23:34:42 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * Added CORBA_Ref.h which contains the new class ACE_CORBA_Ref. - This class provides a nice wrapper for making the use of Orbix - object references more transparent. This is done by automating - the release and duplicate calls. - -Mon Feb 5 15:43:17 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: added Prashant's latest changes to the Name_Handler*, - Naming_Context*, and Remote_Name_Space*. These changes make it - possible to retrieve lists of values based on a pattern, which - can be a regular expression. - - * Moved the apps/Name_Server/Client-Server tests into tests/Naming - and most of the apps/Token_Server/* tests into tests/Tokens to - conform to Karlheinz's testing style. - - * ace: Modified a number of files in ACE to make it compile - correctly with MSVC++ 2.0. - -Sun Feb 4 23:58:43 1996 Douglas C. Schmidt (schmidt@mambo.cs.wustl.edu) - - * ace/Reactor: Generalized ACE_Null_Callback to work correctly - with Windows NT (which lacks pipes). The new design uses the - ACE socket wrappers for NT. It requires very few changes to the - code to handle NT now! Also changed the name to - ACE_Notification_Handler, which is more descriptive. - -Sun Feb 4 14:47:50 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Remote_Tokens.cpp: Reworked ACE_Singleton to avoid - portability problems on compilers like GCC. - -Thu Feb 1 12:47:46 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Remote_Tokens.cpp: Generalized the parameters passed into - ACE_Singleton so they would compile on HP/UX and other platforms - that lack threads. Thanks to Neil Cohen for noticing the - problem. - -Wed Jan 31 22:49:13 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Modified a number of minor things in ACE to get it to - compile successfully with Windows NT MSVC++ 4.0. Updated the - INSTALL file to explain this process better... - -Tue Jan 30 01:12:07 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/CORBA_Handler.cpp: changed things so that no diagonistic - messages are printed. - - * Regenerated all the ACE manual pages to bring them up to date - with the recent changes. - - * ace/Malloc.h: Modified the ACE_Malloc header file so that it - works correctly when ACE_MALLOC_STATS is enabled. Thanks to - Alexandre Karev for reporting this. - - * ace/OS.cpp (mutex_lock_cleanup): removed the leading & before - p_lock. Thanks to Chris Lahey for noticing this. - - * ace: Added the new ACE_Singleton class. This class uses the - Adapter pattern to turn ordinary classes into Singletons - optimized with the Double-Check pattern. - - * Added Tim's latest Token Server changes (which include support - for local and remote mutexes and readers/writer locks) and - Prashant's latest Name Server changes (which allows the contents - of a Name Server to be dumped and restored to/from an ASCII - file). - -Mon Jan 29 02:22:23 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Handle_Set: Changed MAX_SIZE and WORD_SIZE to MAXSIZE and - WORDSIZE to avoid name collisions with HP/UX. Thanks to Byron - Rigg for suggesting this. - - * ace/Time_Value.h: Added a new config symbol ACE_HAS_SVR4_TIME to - differentiate between UNIX platforms that support "POSIX_TIME" - (i.e., timespec_t) and those that support "SVR4_TIME" (i.e., - timestruc_t). This is necessary to work around HP/UX... Thanks - to Byron Rigg for suggesting - this. - - * ace/config-hpux-10.x.h: config-hpux.h has now been renamed to - config-hpux-10.x.h and config-hpux-9.x.h. Thanks to Byron Rigg - for suggesting this. - - * ace/Synch_T: Added a new method called ts_get() and made both - the operator-> and operator TYPE * call this. I hope this will - fix a bug with HP/UX reported by Neil Cohen... - - * ace/OS.i (dlclose): Added Win32 support for dlclose(). Thanks - to Todd L. Montgomery for pointing the way - here... - - * ace: Split off the old class ACE_Dynamically_Allocated, renamed - it ACE_Dynamic, put it in a separate file called Dynamic.*. - This is necessary to solve nasty multiple definition problems - with compilers that require the source of template. - - * ace/Synch_T: moved - - template TYPE * - ACE_TSS::make_TSS_TYPE (void) const - { - return new TYPE; - } - - out from condition compilation block - - #if (defined (ACE_HAS_THREADS) && defined(ACE_HAS_THREAD_SPECIFIC_STORAGE)) - - in file Synch_T.cpp. This class member called in many other - places regardless ACE_HAS_THREADS and - ACE_HAS_THREAD_SPECIFIC_STORAGE defined or not... - - * ace/Name_Handler.cpp: Changed the use of the "inherited" typedef - to fully expand to ACE_Svc_Handler. This is necessary to workaround bugs with AIX. - Thanks to Chris Lahey for reporting this. - - * tests and apps: Fixed an odd problem that only surfaced recently - with GNU G++. Apparently, it doesn't like function-style casts - of the form ACE_SignalHandler (foo), but will accept - (ACE_SignalHandler) foo. Since both approaches are equally good - for what I'm doing, I've updated all the code in ACE to be more - portable. - -Sun Jan 28 12:24:58 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * tests/Shared_Malloc/test_malloc.cpp (spawn): when forming - argv[] for execv, moved - - argv[ ... ] = Options::instance ()->debug () ? "-d" : ""; - - to the end of the vector just before terminator. This will - allow to pass rest of arguments to exec if -d switch not - specified. Thanks to Alexandre Karev - for reporting this. - - * tests/Shared_Malloc/Malloc.cpp: To avoid conflict with - ACE_DEFAULT_SEM_KEY in OS.h changed SEMA_KEY value in - tests/Shared_Malloc/Malloc.cpp to ACE_DEFAULT_SEM_KEY + 1. - Thanks to Alexandre Karev for reporting - this. - - * ace/SV_Semaphore_Complex.i: Changed all arguments in calls like - - this->acquire( n+2 ) - and - this->tryacquire( n+2 ) - to - this->acquire( n ) - and - this->tryacquire( n ) - . - Since the semaphore number is incremented by 2 in - SV_Semaphore_Complex::acquire - and - SV_Semaphore_Complex::tryacquire - - when SV_Semaphore_Simple::(acquire/tryacquire) is called. - Thanks to Alexandre Karev for pointing - this out. - -Sat Jan 27 16:14:27 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Read_Buffer: Added a new component that efficiently reads in - an artibrarily large buffer from a file up to an including a - termination character. Also performs search/replace on single - occurrences a character in the buffer using the priniciples of - Integrated Layer Processing. - -Fri Jan 26 12:01:06 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread_Manager: Made a small change to workaround the use of - a struct type for thread_t and hthread_t in HP/UX. Thanks to - Bryon Rigg for noticing this. - -Thu Jan 25 19:54:01 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Svc_Handler: Added some minor changes to account for - limitations with GNU G++. I think the new implementation will - be portable across all C++ platforms. - - * ace/SV_Semaphore_*: Widened the interface of SV_Semaphore* - classes to include a flags parameter. This can be used to pass - in SEM_UNDO, which is important in many applications. Thanks to - Andrew Gilbert for suggesting this. - - * ace/Synch_T.cpp: We are forced to "cast away const" inside of of - the ACE_TSS const methods in order to make the ACE_Guard work. - The right thing to do would be to make the lock "mutable" but - that's hopelessly non-portable. - -Thu Jan 25 14:34:12 1996 Douglas C. Schmidt (schmidt@merengue.cs.wustl.edu) - - * ace/Log_Msg: Fixed a minor bug in ACE_Log_Msg that kept - resetting the restart and iostream value no matter what we'd set - it to before. Thanks to Prashant for finding this. - - * bin: Fixed up the Makefile process for the clone program. Now - it builds without having to depend on ACE. Thanks to Brad Brown - (bbrown@rdxsunhost.aud.alcatel.com) for suggesting this. - - * ace/Synch: Modified ACE_Condition*.remove so that cond_destroy() - is called in a loop if the condition variable is BUSY. This - avoids a condition where a condition is signaled and because of - some timing problem, the thread that is to be signaled has - called the cond_wait routine after the signal call. Since the - condition signal is not queued in any way, deadlock occurs - unless this loop is used. Thanks to Chris Lahey for pointing - this out. - - * ace/CORBA_Handler: Made all the methods in ACE_CORBA_Handler - private to make sure that users don't inherit from this class! - Instead, the ACE_MT_CORBA_HAndler and ACE_ST_CORBA_Handler - should be used as Singletons. - - * ace/CORBA_Handler: Added new support for Orbix on Windows - NT. This requires clever use of macros in order to handle - inherent differences between generated code. - - * ace/Svc_Handler: Added a clever idiom that transparently checks - if we were allocated dynamically. This information is used by - the method to decide if we need to delete ... - The idiom is based on a paper by Michael van Rooyen - (mrooyen@cellnet.co.uk) that appeared in the April '96 issue of - the C++ Report. We've spruced it up to work correctly in - multi-threaded programs by using our ACE_TSS class. - - * ace/config-win32-msvc4.0.h (ACE_LACKS_RECVMSG): Fixed a typo - in the MSVC++ config files. - -Thu Jan 25 02:59:22 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Finally got the frigging library built on SGI. This was a chore - due to compiler bugs, but at least it's another datapoint for - successful cross-platform building... - -Wed Jan 24 00:10:29 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Time_Value.cpp (operator-=): Changed operator += and - operator -= to use const ACE_Time_Value & rather than - ACE_Time_Value &. Thanks to Alex V Maclinvosky for noticing - this. In addition, also changed *all* ACE_Time_Value parameters - to be const ACE_Time_Value &. This should reduce the number of - excess constructors called... - - * ace/OS: Added Chris Lahey's latest changes that introduce POSIX - pthread cancellation cleanup handlers. Also added an herror() - function that is comparable to perror(). - - * ace/OS: (thr_join): Added a new version of thr_join() which - works for Windows NT. Windows NT requires a HANDLE, which is - fundamentally incompatible with other things... - - * ace/Thread_Manager: added two new methods that return the - ACE_Thread_Descriptor corresponding to either a thr_id or a - thr_handle. - - * ace/Thread_Manager: Made the spawn() interface compatible with - the other spawn() interfaces in ACE_OS and ACE_Thread by adding - the hthread_t type. - - * ace/Log_Msg.cpp (log): Fixed things up so that we can now print - out the thread id for all versions of threads! - - * ace/OS: Added a new overloaded version of ACE_OS::thr_self() - that returns the "kernel" thread id. This is necessary on - systems like NT and AIX, which separate kernel thread ids from - user thread ids. Thanks to Chris Lahey for suggesting this. - -Tue Jan 23 01:17:23 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (sigwait): Changed the parameter of sigwait() from - const sigset * to sigset *. Thanks to Neil Cohen for chasing - this down on SunOS 5.5.... - - * ace/Malloc_T.cpp: Fixed a typo in bind() whereby - the test if (duplicates == 0 || this->shared_find (name) != 0) - should be if (duplicates == 0 && this->shared_find (name) != 0). - Thanks to the ever vigilant Alexandre Karev - for reporting this. - - * tests: Fixed all test programs that previously used the "execl" - family of system calls to use the "execv" family instead. - - * ace/OS: Added support for the "execv" family of exec() system - calls. Unlike the "execl" family, these calls are easy to - support since they don't require variadic arguments. I've added - the hooks for the "execl" family, as well, but haven't actually - implemented them yet. - - * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): Fixed a bug that - was tickled when pool_name == 0. Thanks to Alexandre Karev - for reporting this. - - * ace/OS.h: removed FD_SETSIZE from the ACE_WIN32 stuff since this - is defined in winsock.h. - - * ace/OS.cpp (ACE_Spawn_Args): Added "f" to the parameter list. - - * ace/CORBA_Handler: Added a new macro called CORBA_T that masks - the incompatibilities between the version of Orbix on NT and on - Solaris. - - * ace/OS.h: Added support for compilers (like NT) that don't - support "mode masks" (these are used to give symbolic names for - file creation modes passed to open() and creat(). - - * ace/SString.cpp: Added Tim's new copy constructor code for - SString.cpp. This doesn't appear to be strictly necessary , but - it is more explicit and therefore it useful. - - * ace/Map_Manager.cpp: Fixed a bug in Map_Manager that was failing - to call the placement new operator for every element in the map - that was dynamically created by the allocator(). - - * ace/Synch_T: Added Tim's new ACE_TSS implementation. This - version is more flexible than the old one. - -Mon Jan 22 00:03:24 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Time_Value.h: changed a few minor things to get this - compiling again on NT. Thanks to Irfan for helping with this. - - * ace/Synch_Options: Changed all the "accessor" methods to be - const member functions at the request of Irfan. I just know - this is going to cause const cancer... ;-) - - * ace/Acceptor and Connector: Changed all parameters that take - ACE_Synch_Options & to take const ACE_Synch_Options & at the - request of Irfan. - - * ace/OS.i (uname): Added rudimentary support for the uname() - function for Windows NT. If anyone has suggestions on how to - fill in all these fields portably please let me know! - - * ace/Connector.h: Changed a stray -1 to ACE_INVALID_HANDLE. - Thanks to Irfan for noticing this. - - * ace/Profile_Timer.h: Added the keyword "public" to handle one - arm of the conditional compilation that is only exercised on - NT... Thanks to Irfan for noticing this. - - * ace/OS.i (mutex_init): Removed the call to - pthread_mutexattr_setkind_np() it isn't in the final POSIX - standard. - - * ace/Reactor.cpp (unbind): Removed the ACE_MAX3 template function - from OS.h and inlined its only use in the Reactor. This was - causing problems with some C++ compilers. Thanks to Mark Zusman - for reporting this. - - * ace/OS.i: Fixed a number of omitted return results in - gettimeofday() and ctime_r() that were masked by the - ACE_OSCALL_RETURN macros. Thanks to Mark Zusman - for reporting these. - - * ace/config-linux.h: Added new symbolic constants to handle the - fact that Linux seems to lack recvmsg(), sendmsg(), msync(), and - madvise(). Thanks to Neil Cohen for noticing this. - - * include/makeinclude: Fixed all the *-orbix.GNU files to use - $(ORBIX_ROOT)/lib rather than $(ORBIX_ROOT)/ace. Thanks to - Pramod Kumar Singh for reporting - this. - - * ace/config*.h: Changed all typos of the form ACE_HAS_SVSV_IPC to - ACE_HAS_SYSV_IPC. Thanks to Alexandre Karev - for reporting this! - - * ace/OS: Changed the order of parameters passed to thr_create() - to be consistent with all the spawn() and spawn_n() usages in - ACE. Thanks to Chris Lahey for pointing this out. - -Sun Jan 21 15:06:15 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Added a new "priority" parameter to the spawn() and - spawn_n() methods in ACE_Thread and ACE_Thread_Manager. This - allows us to pass the priority on down to thr_create(). Thanks - to Chris Lahey for pointing this out. Note that this change - required reordering the parameters so that the stack and - stack_size parameters now come last for these methods. Since - those are not likely to change much this is a good place to put - them (i.e., at the end). - - * ace/Thread.i (spawn_n): Added a new overloaded spawn_n() method - that accepts an array of thread_t's to be filled in. This is - useful if you want to know the thread IDs of any threads - created. - - * Changed ACE_OS::signal() to ACE_Sig_Action across all of ACE to - be portable to pthreads implementations. Thanks to Chris Lahey - for pointing this out. - - * ace/OS: Added a new set of OS C++ wrappers for POSIX pthread - cancellation routines. Thanks to Chris Lahey for these. - - * ace/Thread: Added a new set of ACE C++ wrappers for POSIX - pthread cancellation routines. Thanks to Chris Lahey for - these. - - * ace/Map_Manager: Revised the Map_Manager::bind method. This has - now been split into bind() and rebind() methods. The bind() - method is very simple -- if you try to bind() to something that - already exists you fail. The rebind() method allows you to - atomically update existing values in a map. It also gives you - back the existing values so that you can delete them if - necessary. The Local_Name_Space::bind() and rebind() methods - have been updated to use this new interface. - - * ace/Malloc_T.cpp (find): Fixed a typo -- find() should have set - its pointer parameter to node->pointer_, rather than - node->name_! This bug was revealed during testing of the ACE - Name Server. - - * ace/Local_Name_Space.cpp: Fixed bugs with computation of the - size of ACE_NS_Strings -- they needed to count the wchar_t's - correctly, along with several other minor fixes. These were - revealed during testing of the ACE Name Server. - - * ace/SString.cpp: Fixed several bugs that prevented the - assignment operators from working correctly. These were - revealed during testing of the ACE Name Server. - -Sat Jan 20 08:33:54 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (shared_bind): The args to to the - NS_String constructors were not in the correct order: - - wchar_t *value_rep = (wchar_t *) (ptr); - wchar_t *name_rep = (wchar_t *) (ptr + name_len); - ACE_NS_String ext_id (name.fast_rep (), name_rep, name_len); - ACE_NS_String int_id (value.fast_rep (), value_rep, value_len); - - They should be: - - ACE_NS_String ext_id (name_rep, name.fast_rep (), name_len); - ACE_NS_String int_id (value_rep, value.fast_rep (), value_len); - - Thanks to Irfan for noticing this. - - * ace/OS.h: defined the following in ACE_OS: - - #define MS_ASYNC 0 - #define MS_SYNC 0 - #define MS_INVALIDATE 0 - - under NT so that calls to mmap will port transparently. Thanks - to Irfan for suggesting this. - -Thu Jan 18 16:25:16 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Added a new symbol that indicates if the platform supports - the new BSD sin_len field of inet_addr. - - * ace/OS: added new support for AIX gethostbyaddr_r(), - gethostbyname_r(), and getservbyname_r(). This fixes some - problems caused by improper choice of buffer size. Also changed - the INET_Addr.cpp file to use these new changes. Thanks to - Chris Lahey for recommending these changes. - -Wed Jan 17 01:10:48 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (printf): the ACE_OS::printf() function did not work. - Needed to call vprintf() internally, not printf. Thanks to - Chris Lahey for pointing this out. - - * Released version 4.0. - - * include/makeinclude: added the -lgen library to all the - platform_sunos5.*.GNU files. - - * ace/Memory_Pool.cpp: removed the INLINE macros in Memory_Pool.cpp. - Thanks to Alexandre Karev (karev@vxcern.cern.ch) for noticing - this! - - * ace/Malloc_T.cpp: moved the comment "Ce n'est pas une catst" - outside of the macro ACE_NEW_RETURN. The prepocessor truncates - the macro expansion when it encounters the comment. Thanks to - Greg Baker for pointing - this out. - - * ace/Reactor.cpp (close): added "return 0" at the end of the - close member function. The function is prototyped to return an - int and the compiler expects a return outside of the if clause. - Thanks to Greg Baker for - pointing this out. - - * ace/Stack.cpp (free_all_nodes): Removed a spurious ACE_OS that - was stuck on the front of ::delete. Thanks to Greg Baker - for pointing this out. - - * ace/OS.i: Added extern "C" to the prototype for syscall in OS.i. - Without it, you get unresolved symbols at link time. Thanks to - Greg Baker for pointing - this out. - - * ace/Message_Queue.cpp: Changed the return values for - enqueue_head(), enqueue_tail(), dequeue_head(), and - peek_dequeue_head() to return the number of messages that are - still on the queue. This helps some algorithms perform better - and avoid blocking unnecessarily. Thanks to Alex V Maclinvosky - for suggesting this... - - * ace/Synch_T.cpp (ACE_Condition): Fixed a bug in - ~ACE_Recursive_Lock and ~ACE_Recursive_Mutex that was causing - the destructor to be called twice (once implicitly and once - explicitly). Thanks to Chris Lahey for pointing this out. - -Mon Jan 15 12:44:29 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Created a new config symbol called ACE_HAS_ALLOCA_H. This - is required to differentiate between AIX and other versions of - UNIX. Thanks to Chris Lahey for pointing this out. - - * ace: moved config-hpux.h to config-hpux-9.x.h in anticipation of - the changes required to handle HP/UX 10.0! - -Sun Jan 14 23:38:23 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.h (ACE_MAX3): Fixed the definition of ACE_MAX3 (it needed - a return value of template type T). Thanks to Mark Zusman - for noticing this. - - * ace: Added a new section to all the template files called - ACE_TEMPLATES_REQUIRE_SPECIALIZATION to deal with the screwy GNU - G++ semantics that are required if you *don't* have the template - repository patches. Thanks to Mark Zusman - for this. - -Fri Jan 12 00:47:57 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Time_Value.h: #included to the Time_Value.h - class so that it would be the first file included. This fixes a - problem with AIX. Thanks to Chris Lahey for reporting this and - suggesting the fix. - - * ace: Fixed a braino with the #ifdefs in SPIPE_Stream and - SPIPE_Acceptor. These were checking for ACE_WIN32 rather than - ACE_HAS_STREAM_PIPES. Naturally, that failed on versions of - UNIX (e.g., Linux) that lack STREAM pipes! Thanks to Neil Cohen - for taking time out of fighting blizzards to report this! - - * ace/Svc_Handler: Added a new method for handle_timeout, which - shuts things down by default. Thanks to Irfan for suggesting - this. - - * Fixed a minor problem caused when Tim added the Double-Check - pattern to ACE_ODB... - -Thu Jan 11 01:48:02 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Integrated AIX fixes from Chris Lahey . - These should allow ACE to build correctly using the AIX compiler - and it's screwy template mechanisms! - - * ace: Fixed some minor bugs that caused problems when compiling - with G++. - -Wed Jan 10 00:17:05 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Trace.cpp: Fixed a typo that was causing problems when using - ACE_TRACE (we were ending up with recursive tracing in the - ACE_Trace class!). Thanks to Detlef for noticing this. - - * ace/ACE.cpp: Moved methods from ACE.i to ACE.cpp and removed the - INLINE macro to deal with order of include problems with GNU - G++. - -Tue Jan 9 19:00:41 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Task.i (flush): Added a check to make sure that msg_queue_ - != 0 before trying to close() the queue. This solves a problem - if the queue has already been closed. Thanks to Alex V - Maclinvosky for reporting this... - - * tests/ASX/Event_Server/Event_Server: Fixed minor bugs in - Supplier_Router.cpp and Consumer_Router.cpp -- I was checking - for this->getq (mb) > 0 rather than this->getq (mb) >= 0. - Thanks to Alex V Maclinvosky for - noticing this... - - * ace/Synch_T.h: Commented out the ACE_ALLOC_HOOK stuff. This is - causing order-of-include problems on HP/UX. Also moved the - ACE_Null_Condition::wait() method to Synch_T.i to avoid the same - problem. Thanks to Greg Baker - for pointing this out. - -Sun Jan 7 18:57:49 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Makefile: Added the Dump file to ACE. Thanks to Tim for - fixing this up to make it ready for prime time. - - * Thanks to Craig Rodrigues for sending - me a new version of psnup that *finally* fixes the nasty - problems with "4-up" printing of postscript! This makes it much - easier to distribute ACE documentation... - -Sun Jan 7 18:31:07 1996 Tim H. Harrison (harrison@merengue.cs.wustl.edu) - - * ace: Used the "Double-Check" pattern to eliminate potential race - conditions when using Singletons in multi-threaded programs. - Classes affected included ACE_[MS]T_CORBA_Handler, Name_Options, - Trace, and ACE_ODB. - -Fri Jan 5 00:03:29 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i: Added the following to OS.i: - - #if defined (ACE_LACKS_SYSCALL) - int syscall (int, ACE_HANDLE, struct rusage *); - #endif /* ACE_LACKS_SYSCALL */ - - This should fix some problems with HP/UX. Thanks to Walt Akers - (akers@cebaf.gov) for pointing out the problem. - - * ace/Handle_Set: Fixed the Handle_Set conversion operator so that - it returns fd_set * rather than ACE_FD_SET_TYPE *. Thanks to - Walt Akers (akers@cebaf.gov) for pointing out the problem. - - * ace/Time_Value.h: I think I've fixed the problem with the order - of #includes with respect to POSIX and SVR4 time. The trick was - to put this test in ace/Time_Value.h and then to make sure that - the ace/config.h file was included at this point! Also changed - the symbol from ACE_HAS_POSIX_TIMERS to ACE_HAS_POSIX_TIME to be - more accurate. - -Thu Jan 4 23:16:59 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/OS.i (gettimeofday): Changed the implementation of - gettimeofday() to use the ::_ftime call rather than the more - complex ::GetSystemTime(), ::SystemTimeToFileTime() duo. - -Thu Jan 4 9:32:38 1996 Chris Lahey (clahey@ix.netcom.com) - - * ace/config-aix.h: added #define ACE_TEMPLATES_REQUIRE_SOURCE - to make ACE work with AIX C++ compiler. - - * include/makeinclude/platform_aix.GNU: - - Added -qtempinc to the CPPFLAGS - Removed the PIC= definition completely - - * ace/Task.h: ACE_Task::svc() should not be declared as a pure - virtual, removed = 0. - - * ace/Map_Manager.cpp: in trybind() member function, the line - int_id = ss.int_id_; - should be: - int_id = search_structure[index].int_id_; - -Thu Jan 4 01:23:38 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Map_Manager.cpp: Fixed a braino in Map_Manager -- didn't - need the parameter to shared_bind(). Thanks to Tim for - finding this! - - * ace/Log_Msg.cpp (instance): Tim Harrison did a noble service to - humanity by fixing a potential race condition in the instance() - Singleton of ACE_Log_Msg. - -Wed Jan 3 00:49:57 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Made some minor changes to fix portability problems with - SGI. Fortunately, this should also fix some other problems with - HP/UX another other non-thread platforms. - - * ace/ACE.cpp (format_hexdump): Added Todd Montgomery's amazing - "format_hexdump" method to class ACE. - -Tue Jan 2 20:47:57 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/SV_Semaphore*: updated the interface of the _Simple and - _Complex System V semaphore wrappers to include the _read() and - _write() forms of acquire() and tryacquire(). Note that I've - implemented these as calls to acquire() and tryacquire(), so - they don't add any extra behavior. This is needed for interface - conformance with other forms of ACE synchronization mechanisms. - - * ace/Time_Value.h: Changed the header to #include - in order to work around nasty "order of include" problems. - - * tests: Created a new directory called Win32. This contains test - programs that This directory contains test programs that have - been compiled and tested successfully under Windows NT. As we - get further along, we'll move this stuff into the general ACE - $WRAPPER_ROOT/tests directory (since of course all ACE programs - will run without any problems under Win32, right? ;-)). See - the ./tests/Win32/README file for instructions on how to build - these tests. - - * ace/Reactor.h: Moved the ACE_Handler_Repository out of the - ACE_MT_SAFE section of the code. This was a "typo." Thanks to - Walt Akers for reporting this. - -Mon Jan 1 01:18:12 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/ACE.i: Moved the recv_n() and send_n() methods from ACE.cpp - into ACE.i and set things so that if __INLINE__ is set then - we'll inline those too! - - * ace: Irfan and I got the first major part of the Win32 to work - finally! We made two socket programs (client and server) that - talked to each other and to UNIX. Things are really starting to - take shape! diff --git a/ChangeLog-96b b/ChangeLog-96b deleted file mode 100644 index c2217f16f89..00000000000 --- a/ChangeLog-96b +++ /dev/null @@ -1,5879 +0,0 @@ -Tue Dec 31 18:27:50 1996 Douglas C. Schmidt - - * ace/Log_Msg.cpp (log): Added a test so that if we're - (1) not printing to stderr and (2) aborting the program we still - print a message to stderr. - - * ace/Message_Block: Added synchronization support to - ACE_Message_Block. This is necessary now that we've got - reference counting to ensure that we don't have race conditions - when incrementing and decrementing the reference count in - separate threads. The approach is very clean and uses the new - ACE_Lock mechanism to conditionally acquire()/release() the - locking strategy if concurrency control is necessary. - - * ace/Synch_T: Created a new set of ACE_Lock and - ACE_Lock_Adapter<> classes which are similar in spirit to the - ACE_Allocator and ACE_Allocator_Adapter<> classes. These make - it possible to treat polymorphically synchronization mechanisms - in ACE polymorphically, *without* creating an entire new - parallel hierarchy of locking mechanisms. - - * ace/Synch: Added the full suite of acquire_{read|write}() and - tryacquire_{read|write}() methods to ACE_Semaphore and - ACE_Process_Semaphore so they will be consist with the other - synchronization APIs. - -Tue Dec 31 00:11:56 1996 Douglas C. Schmidt - - * Changed all uses of ACE_Event_Handler::RWE_MASK to - ACE_Event_Handler::ALL_EVENTS_MASK to reflect the fact that - we will soon have more than READ, WRITE, and EXCEPT events. - However, I've kept RWE_MASK around for backwards - compatibility. - - * examples/ASX/Message_Queue: Changed the tests so that they use - the new ACE_Message_Block::release() method rather than calling - delete explicitly. - - * apps/Gateway: Revised the implementation of the Gateway and Peer - applications to take advantage of the new ACE_Message_Block - reference counting scheme. - -Tue Dec 31 15:06:51 1996 David L. Levine - - * ace/Task.cpp: added comments that try to explain interaction - between ACE_Task_Base::svc_run () and ACE_Task_Exit instance - - * ace/Hi_Res_Timer.h: added comment to print_total () saying it - should only be used for incremental timings; added defaults to - a few print_ave/print_total args - - * ace/Hi_Res_Timer.{i,cpp}: inlined the constructor; trimmed output - if count is 1; rounded instead of truncated usecs portion of time - -Mon Dec 30 15:24:59 1996 Douglas C. Schmidt - - * ace/Message_Block: Added reference counting to ACE_Message_Block - so that we no longer have to clone() messages when we want to - pass them around "by reference." - - * apps/Gateway/Peer/Peer.cpp (init): The Peer_Acceptor had gotten - out of date wrt newer ACE features, so I updated it. - -Mon Dec 30 15:24:59 1996 Douglas C. Schmidt - - * ace/OS.h: Added a special case for ACE_UNUSED_ARG that works - with G++. Thanks to David Levine for this. - -Mon Dec 30 16:05:11 1996 David L. Levine - - * ace/OS.cpp (ace_thread_adapter): Updated ACE_TRACE arg - names (even though they're currently commented out). - - * ace/Task.cpp (svc_run): If TSS isn't supported, and on - Linux, for now, create the ACE_Task_Exit exit_hook instance - on the stack so that it's destructor will be called when - svc_run () completes. - -Sun Dec 29 18:38:03 1996 Douglas C. Schmidt - - * apps/Gateway/Gateway/File_Parser.h: Removed the endofline() - method declaration -- it doesn't seem to be defined anywhere. - - * ace/OS.h: Added an ACE_INT32 to complement the ACE_UINT32. - - * netsvcs/lib: Cleaned up all the ACE network services by removing - their SIGINT signal handler. This was interferring with the - main event loop's ability to shutdown... - - * apps/Gateway/Gateway: Once again changed the name of - *IO_Handler* to *Proxy_Handler* since these things are really - proxies, in the COS sense! - - * ace/Service_Record.cpp: Tidied up the implementation of - ACE_Module_Type::fini() so that it doesn't try to call fini() on - NULL pointers. Also, rather than explicitly deleting the reader - and writer Tasks, we call ACE_Module<>::close(), which knows how - to take care of all this stuff. - - * ace/Module.cpp: Added an extra parameter to close_i() so that we - can correctly pass the value of "flags" from close() in order to - prevent deleting tasks when we don't want to do this. - - * ace/Module.cpp: There was a bug in the open() method - since we were potentially deleting reader_q and writer_q twice - if memory allocation failed. - -Sat Dec 28 19:02:13 1996 Douglas C. Schmidt - - * ace/ACE.cpp: Changed the implementation of ldfind() so that it - doesn't try to add the DLL prefix (e.g., "lib") unless it - doesn't match filename. This is necessary to keep lots - of existing svc.conf files from breaking. - - * ace/Event_Handler.h: Added a new ACCEPT_MASK for use with the - new asynchronous accept() operation support for Win32. - - * ace: Added a new config file for WinNT 4.0 called - config-winnt-4.0-msvc4.x.h. This file contains #defines for new - features in WinNT 4.0 such as non-blocking acquire for - CRITICALSECTIONs (TryEnterCriticalSection()), - SignalObjectAndWait(), and CancelIO(). Oddly enough, these - functions seem to be missing from the MSVC++ 4.2 #include files, - so I added them to the config file. - - * ace: Changed the name of config-win32-msvc4.0.h to - config-win32-msvc4.x.h since this config file works for MSVC++ - 4.0, 4.1, and 4.2. - - * ace/Proactor: Added a new "cancel_io" method on the Proactor. - This makes it possible to cancel all I/O that is outstanding on - a thread. Thanks to Tim for help with this. - -Sat Dec 28 23:49:09 1996 Tim H. Harrison - - * ace/ReactorEx.h: Fixed some bugs with ACE_ReactorEx::dispatch. - For instance, the index should only be incremented when handlers - are dispatched. - - * ace/OS.i: Fixed some typos regarding the ACE_cond_t for NT. - - * examples/Reactor/Proactor/test_proactor.cpp: Dr. Schmidt and I - hacked this to be way cool. In particular, we no longer - have to know the size of the files to be transferred in - advance. This scheme uses a clever protocol that shuts down - the Peer Handler when (1) all input from the file has arrived, - (2) all output to the remote peer handler has been sent, and (3) - all input from the remote peer handler has been received. - The Peer Handler now uses calls close_writer on the stream - to notify the remote peer when its done writing. The Input - File Handler sends an mb==0 to tell the Peer Handler when - it's done reading from the file. The Peer Handle uses a - state variable to OR in all the different conditions for - exiting. It works. - -Fri Dec 27 23:39:19 1996 Douglas C. Schmidt - - * ace/Stream.cpp (pop): Modified the code so that we don't delete - the Module we are popping unless the flags request this. - - * ace/Service_Record.cpp (fini): Always make sure to first fini() - each Module, then remove() (and delete) them. - - * ace/Stream.cpp (remove): Updated the code so that we don't - delete the Module unless the flags request this. - -Thu Dec 26 18:51:22 1996 David L. Levine - - * ace/config-linux-lxpthreads.h: Has James CE Johnson's - latest adjustments to this config file. - -Tue Dec 24 10:55:20 1996 Douglas C. Schmidt - - * ace/OS.cpp (ace_thread_adapter): Changed the message that is - printed if we exit the thread. Thanks to Luca for this - suggestion. - -Tue Dec 24 15:38:43 1996 David L. Levine - - * ace/OS.i (cond_destroy): added call to event_destroy () - for waiters_done_ on WTHREADS platforms - - * ace/Future.cpp: added specialization of - template class ACE_Atomic_Op; - so that libACE is self-contained with respect to template - instantiations (with g++, for example) - - * ace/Malloc.cpp: added specialization of - template class ACE_Atomic_Op; - so that libACE is self-contained with respect to template - instantiations (with g++, for example) - - * examples/Reactor/Misc/test_reactors.cpp, - examples/Threads/future1.cpp, examples/Threads/future2.cpp, - examples/Threads/manual_event.cpp, examples/Threads/task_two.cpp, - performance-tests/Synch-Benchmarks/Benchmark.cpp, - tests/Future_Test.cpp, tests/Reactors_Test.cpp: instantiate - ACE_Atomic_Op with int instead of u_long so that it can use - the specialization in libACE - -Tue Dec 24 12:49:21 1996 David L. Levine - - * ace/OS.h (struct siginfo_t): added declaration of - siginfo_t (ACE_HANDLE *handles) to match definition in - OS.cpp. Thanks to James Johnson for pointing this out. - - * ace/OS.cpp (thr_create): fixed position of - #endif /* !ACE_LACKS_THREAD_STACK_SIZE */ directive, it - needed to be before the closing '}' of the block. Thanks to - James Johnson for pointing this out, also. - - * ace/OS.cpp: don't include ace/ARGV.h except on WIN32 because - it's only needed there, and don't compile ACE_Thread_Adapter on - VxWorks to save space - - * apps/Gateway/Peer/Gateway_Handler.h: changed #include "Event.h" - to be #include "Peer_Message.h" so that Peer_Header::ROUTING_ID - can be referenced in the class declaration. This subproject - still doesn't build, though; I think that Event.h is needed. - - * ace/OS.h (struct ACE_cond_t): declare waiters_done_ as - ACE_sema_t on VxWorks only, to avoid recursive struct - definition with ACE_event_t - - * ace/OS.i (ACE_OS::cond_*): on VxWorks only, use sema - operations on ACE_cond_t::waiters_done_ instead of event ops - -Tue Dec 24 10:55:20 1996 Douglas C. Schmidt - - * examples/Threads/task_three.cpp (main): Changed the use of - new-style C++ casts for ACE_Sig_Action to old-style C casts so - that more picky compilers like GCC won't complain. Thanks to - Sandro Doro for reporting this. - - * examples/Threads/task_two.cpp: Fixed a typo where int should be - used as the type for ACE_Atomic_Op rather than u_long. Thanks - to David Levine for noticing this. - - * ace/OS.i: Generalized the implementation of ACE_OS::cond_wait() - so that it will work with Win32 and VxWorks. Thanks to David - Levine for pointing this out. - - * ace/Synch_T.cpp: Removed ACE_Process_Condition since it isn't - really feasible to implement this as a template. At some point, - it should be reimplemnted as a non-template that is only - guaranteed to work on Solaris and some POSIX pthreads platforms. - -Sun Dec 22 21:23:57 1996 David L. Levine - - * ace/Acceptor.cpp: replaced two statements that looked like this: - "ptr && ptr->foo ()" with "if (ptr) ptr-> foo()" to prevent - compiler warnings about computed values that aren't used - - * netsvcs/clients/Tokens/manual/manual.cpp: added explicit "int" - return type to declaration of handle_exception (ACE_HANDLE) so - that compilers don't complain about no type - - * ASX/Event_Server/Event_Server/Options.cpp, - ASX/UPIPE_Event_Server/Options.cpp: rearranged initializers - in Options ctor to match declaration order - -Sun Dec 22 21:16:23 1996 Douglas C. Schmidt - - * ace/OS.cpp (thr_create): added a new ACE_HAS_PTHREADS_XAVIER to - deal with the sparam.sched_priority features of the Linux - pthreads implementation. Thanks to James Johnson for this. - - * ace/OS.i (thr_setprio): I forgot to define int policy = 0; - - * ace/SV_Semaphore_Simple.i: Removed the frigging LUSED macro and - updated the ACE_SV_Semaphore_Simple::name_2_key() method to - consider *all* the characters in the name. This will help avoid - nasty bugs when different lock names have a common prefix. - - * ace/Local_Name_Space_T.cpp (ACE_Local_Name_Space): Added a call - to "delete this->lock_" since we now allocate it dynamically. - - * apps/Gateway/Gateway/gatewayd.cpp: Changed call to - ACE_SVC_INVOKE from ACE_Gateway to Gateway. - - * ace/OS.i: In function thr_sigsetmask changed the line: - - #if defined (ACE_HAS_IRIX62_THREADS) - - to - - #if defined (ACE_HAS_IRIX62_THREADS) || defined (ACE_HAS_PTHREADS_XAVIER) - - Thanks to James CE Johnson for this. - - * ace/config-linux-[lx]pthreads.h: Added a #define for the - ACE_HAS_THREAD_SPECIFIC_STORAGE symbol. Thanks to James CE - Johnson for this. - - * ace: created a new config file called config-linux-lxpthreads.h. - This contains the ACE #defines necessary to use L. Xavier's - threading package on Linux. Thanks to James CE Johnson - for this. - - * build/gcc/ace/Synch: Moved the definition of the ACE_*Event - classes *outside* of ACE_HAS_THREADS so that the Proactor will - compile correctly even when there's no threading defined. - - * ace/config-linux-pthread.h: Added #define ACE_MT_SAFE, which - seems to have been missing. Thanks to James Johnson for - suggesting this. - - * tests/TSS_Test.cpp: Now that we've got Chris Lahey's fixes for - AIX we can run this test on AIX. - - * ace/OS.cpp (thr_create): Added a #ifdef for - pthread_attr_setstacksize() for Linux pthreads, which doesn't - seem to support this. Thanks to James CE Johnson - for this fix. - - * ace/OS.i: Added DCE pthreads fixes for OSF/1 3.2. Thanks to - Harry Gunnarsson for these. - -Sat Dec 21 13:54:45 1996 Douglas C. Schmidt - - * ace/Synch_T: Integrated a solution that will allow MVS to use - ACE_TSS. The problem is that the MVS C++ compiler requires an - extern "C" destructor function for pthread_key_delete and the - ACE_TSS stuff uses a paramatized C++ destructor function - (ACE_TSS::cleanup). To solve this, a new class - (ACE_TSS_Adapter) was created that encapsulates a thread - specific object and it's associated C++ destructor. The ACE_TSS - methods were then modified so that they provide access to the - thread specific object through the ACE_TSS_Adapter. Also added - a generic extern "C" cleanup routine that takes an - ACE_TSS_Adapter as an argument. It then calls the adapters - cleanup method passing it the saved address of the thread - specific object. Thanks to Chuck Gehr - for all of this. - - * ace/OS: Updated the code so that it will work with MFC and - AfxBeginThread(). Thanks to Detlef for these changes. - - * ace/README: Added two new #defines for ACE_LACKS_COND_T and - ACE_LACKS_RWLOCK_T to make it possible to define these in a - fine-grained manner for various platforms. - - * ace/OS.h: Restructured the ACE_HAS_THREADS section so that we - factor out the code for ACE_cond_t and ACE_rwlock_t so that it - is only defined if we don't support these features natively. - - * ace/ReactorEx: Added a new "alertable" parameter to the - handle_events() method. If alertable is true, then - WaitForMultipleObjectsEx is used as the demultiplexing call, - otherwise WaitForMultipleObjects is used. - - * ace/Signal.cpp: Had to move a few things around so that the code - would compile for HP/UX. Thanks to Neil B. Cohen - for reporting this. - - * ace/Acceptor.cpp: Updated the handle_close() method so that the - Acceptor shuts down the listen socket and prevents handle leaks. - Thanks to Irfan for reporting this. - -Thu Dec 19th 03:48:26 1996 Irfan Pyarali - - * ace/Local_Name_Space_T.cpp: Made sure that the mutexes are - getting named properly (both the mutex owned by the - Local_Name_space and the lock owned by the backing - store). For the time being I named these two to be the - extensions of the backing store file name. - - * ace/Local_Name_Space_T.cpp: Replaced the create_manager code - such that we use the double check pattern. This is simpiler - and easy to understand compared to the current code. - - * ace/Naming_Context.cpp: Gave the database name a default value. - - * ace/Malloc_T.cpp: The lock_name should never be 0. This will - cause all instances of the same pool to get different - mutexes. - -Sat Dec 21 09:43:35 1996 David L. Levine - - * ace/OS.{h,i}: fixes for VxWorks introduced in 4.1, and for - inlining: moved #include of OS.i after #defines but before - other ace #includes - -Thu Dec 19 15:58:09 1996 David L. Levine - - * ace/config-vxworks*.h, include/makeinclude/platform_vxworks*.GNU: - enable inlining on VxWorks by default - -Wed Dec 18 16:44:47 1996 Tim H. Harrison - - * ace/Proactor.cpp (dispatch): Changed this method to take an - int error parameter to set errno just before dispatching. - This allows us to better propagate overlapped I/O errors to the - handlers. - -Wed Dec 18 16:21:36 1996 David L. Levine - - * ace/OS.{h,i} and ace/INET_Addr.cpp: more VxWorks - gethostbyname () tweaks - -Wed Dec 18 15:24:13 1996 Tim H. Harrison - - * ace/Proactor.cpp (ACE_Proactor): Initialize completion_port_ to - 0. This is the only way that CreateIoCompletionPort works - first time in. ACE_INVALID_HANDLE makes it break. - - * (ACE_Proactor): Added a call to CreateIoCompletionPort in the - constructor so that GetQueuedCompletionStatus can be called - before ACE_Proactor::initiate is called. This is necessary if - an application is using the Proactor as a timer mechanism only. - -Tue Dec 18 7:58:07 1996 Tim H. Harrison - - * ace/Proactor.i (get_handle): Changed this to return - ACE_INVALID_HANDLE on non Win32 platforms. Also changed - shared_event_ from an ACE_Manual_Event to an ACE_Auto_Event. - This allows us to remove the call to reset from handle_signal. - - * examples/Reactor/Proactor/test_timeout.cpp: Added a new example - application to the Proactor example suite. Check the README for - more details. - - * examples/Reactor/ReactorEx/test_timeout.cpp: Added a new example - application to the ReactorEx example suite. Check the README for - more details. - - * ace/Service_Config.cpp: Fixed a bug in run_reactorEx_event_loop - (ACE_Time_Value &) so that it doesn't return on timeout. - -Tue Dec 18 7:06:32 1996 - - * ace/Proactor.cpp (handle_events): Once again removed the - timer_skew_ code. Changed the ACE_HANDLE global_handle_ to - ACE_Manual_Event shared_event_. Added a constructor that takes - an ACE_Timer_Queue *. Changed the implementation to use an - ACE_OS::sleep if only timers are registered. We need to figure - out a better approach than the sleep. - - * ace/Service_Config.cpp (run_proactor_event_loop): Changed this - to only return when an error occurs. If handle_events returns a - 0, then a timeout occurred, and we can continue to dispatch - events. We only return when all of the time has expired. - - * ace/Registry_Name_Space.h (ACE_Registry_Name_Space): Moved the - include statements below the ACE_WIN32 and UNICODE directives. - - * ace/OS.h (siginfo_t): Added siginfo_t (ACE_HANDLE *handle) - constructor prototype. - -Wed Dec 18 06:37:22 1996 Douglas C. Schmidt - - * ace/OS.i (cond_wait): Added the new algorithm for condition - variable emulation on Win32. (and VxWorks). This should fix the - nasty problems we had with earlier version (which weren't - "fair"). Thanks to James Mansion, Karlheinz, Detlef, and Irfan - for helping with this. - - * ace/Registry.h: Removed the "ACE_TURN_NOMINMAX_OFF" stuff - in order to simplify the code. Thanks to Irfan for this. - - * ace/OS.i (sema_post): Added a new overloaded version of - ACE_OS::sema_post(), which takes a "release count." This is the - number of times to release the semaphore. Note that Win32 - supports this natively, whereas on POSIX we need to loop... - - * ace/Proactor.cpp (handle_events): Changed the Proactor logic so - that it will correctly propagate any errors that occur to the - handle_{input,output}_complete callback. - -Tue Dec 17 20:56:56 1996 David L. Levine - - * ace/OS.{h,i}: on VxWorks: implemented ACE_OS::gethostbyname (), - and fixed inet_ntoa () to return -1 on failure - - * ace/OS.cpp: in ::spa () for VxWorks, zero out unused argv[] - slots to overwrite args from previous invocations OS.cpp - -Tue Dec 17 04:27:07 1996 Douglas C. Schmidt - - * ace/ReactorEx: Added a new feature to the ReactorEx. If we - enable the wait_all flag when calling - ACE_ReactorEx::handle_events() *and* we give an - ACE_Event_Handler (this is a new final param to the call) then - the handle_signal() call will be invoked on this - "wait_all_callback" object when all the handles become signaled. - Moreover, we pass in the array of signaled handled to through - the siginfo_t parameter (see the following ChangeLog entry for - details). If there is no wait_all_callback param, then all the - handle_signal() methods are invoked on all the handles. - - * ace/OS.h (siginfo_t): Augmented the siginfo_t interface so that - we can pass an array of signaled Win32 HANDLEs, in addition to - just a single HANDLE. This is used in the ReactorEx. - - * examples/Reactor/ReactorEx/test_reactorEx.cpp: Added a number of - enhancements to this test program based on discussions with - Irfan, Karlheinz, Dieter, and Detlef. - - * ace/Task_T.i (msg_queue): If we override the existing definition - of the Message_Queue in an ACE_Task then we need to delete the - existing Message_queue (if necessary and mark the Message_Queue - as no longer being a candidate for deletion (since we have - supplied our own definition). Irfan had added this earlier, but - it seemed to get lost... - - * examples/Reactor/Proactor/test_proactor.cpp: The class called - STDIN_HANDLEr is misnamed since we don't read from stdin, we - read from a file. Therefore, I've changed this to be - Input_File_Handler. - - * examples/Reactor/ReactorEx/test_{proactor,reactorEx}.cpp: - Changed misspellings of transfered to transferred. - - * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool): Since NT doesn't support - SIGSEGV thre's no point in even trying to register for this - signal! - - * ace/OS.i: Reverted some lost UNICODE fixes -- thanks to Irfan - for finding these. - - * ace/Local_Name_Space_T.cpp (create_manager_i): Removed a - debug statement since it may be causing problems with printing - UNICODE. - -Mon Dec 16 11:25:55 1996 Douglas C. Schmidt - - * ace/OS.i (cuserid): Fixed the definition to ACE_OS::cuserid() so - that it uses LPTSTR. Thanks to Irfan for this fix. - - * ace/Task.cpp (activate): In ACE_Task::activate() there is a possibility to actually - "reactivate" the task using the flag. The following - illustrates that ability: - - if (this->thr_count_ > 0 && force_active == 0) - return 1; // Already active. - else - this->thr_count_ = n_threads; - - The thing is that, when the task is running and we reactivate it - (actually we add threads) the command should be: - - this->thr_count_ += n_threads; - - rather than - - this->thr_count_ = n_threads; - - That way thr_count_> holds the new number of threads currently - associated with the task. Thanks to Hamual for this fix. - - * ace/OS.i (inet_aton): Placed the return 1 within the curly - braces to make the HP/UX compiler happy. Thanks to Kenny Want - for reporting this. - -Mon Dec 16 12:56:43 1996 David L. Levine - - * ace/OS.i: removed spurious "*/" after an #endif. Thanks to - Harry Gunnarsson for reporting this. - - * ace/Svc_Conf_l.cpp: #ifdef'ed out ace_yyunput () and - ace_yy_{push,pop,top}_state () because they're not used, - and commented out a few "break"s after "return"s in switch - statements to prevent compiler warnings. - - * ace/Typed_SV_Message.i: reordered initializations in ctor to - match declaration order. - - * examples/Threads/Makefile, performance-tests/Misc/Makefile, - tests/Makefile: - Removed "LIBS += -lm" from these Makefiles because it doesn't - appear to be necessary, and not all platforms have a libm. - - * include/makeinclude/platform_sunos4_g++.GNU, platform_sunos5_g++.GNU, - platform_sunos5_x86_g++.GNU, platform_unixware_g++.GNU: - added -lm to LIBS because it was removed from the Makefiles, and - it's needed with g++. - - * netsvcs/lib/Makefile: removed /pkg/gnu/lib dependencies. Thanks - to Per Andersson for pointing - this out. - - * netsvcs/servers/svc.conf: changed _make_ACE_Logger() to - _make_ACE_Logging_Strategy() svc.conf. Thanks to Per Andersson - for reporting this. - -Sun Dec 15 13:01:17 1996 David L. Levine - - * ace/Naming_Context.cpp: reordered initializations in default ctor - to match declaration order. - - * ace/Svc_Conf_y.cpp: added parens to a couple of combined - assignments/conditionals to avoid compiler warnings. - - * include/makeinclude/platform_sunos5_sunc++*.GNU: reverted - SOLINK step back to creating real .so files, because it - seems to be necessary, sometimes, for template instantiation. - - * netsvcs/lib/Server_Logging_Handler.cpp: removed ACE_INLINE's. - - * tests/MM_Shared_Memory_Test.cpp: declare shm_key as char[] - instead of char *, so that the string gets put into the data - segment rather than the text segment. The string gets modified, - which causes a core dump with the g++/SunOS5.5 build if the string - is in the text segment. - -Sun Dec 15 10:29:20 1996 Douglas C. Schmidt - - * netsvcs/servers/svc.conf: Removed the "lib" prefix for the - netsvcs DLL. This is now added automatically by the - ACE::ldfind() operation. - - * ace/SString.cpp (ACE_CString): Removed the #pragmas for Win32. - They aren't necessary since we should replace the ACE_USHORT16 - cast with a char cast. Thanks to Amos Shapira - for reporting this. - -Sat Dec 14 14:25:38 1996 Douglas C. Schmidt - - * build/SunOS5.5/tests/UPIPE_SAP_Test.cpp (main): Fixed several - minor bugs with UPIPE_SAP_Test.cpp. - - * ace/OS.i (thr_join): Added implementations for Solaris threads - and most versions of POSIX pthreads where ACE_hthread_t and - ACE_thread_t are the same type! - - * ace/OS: Began adding hooks so that we can eventually move away - from the current split between ACE_thread_t and ACE_hthread_t - and unify them via ACE_Thread_ID. - - * ace/{OS,Thread}.h: Changed the interface of thr_getprio() so - that it takes an int & rather than an int *. - - * ace/OS.i (thr_getprio): Fixed a minor bug for Win32 where we - weren't depositing the thread priority into the return value! - - * Makefile: Changed the order in which things are built so that - netsvcs are built right after libACE, followed by the tests. - -Sat Dec 14 11:54:22 1996 Douglas C. Schmidt - - * apps/Gateway/Gateway/Consumer_Map: Change the Consumer_Map class - so that it was no longer templatized. There isn't any point in - doing this since we aren't going to be changing these types for - this application. - - * apps/Gateway/Gateway: Factored out the code for selecting the - concurrency strategy into a separate *.h file called - Concurrency_Strategy.h. - - * apps/Gateway/Gateway: Began revising the Gateway application to - use the new ACE Event Channel. - - * ace/Svc_Handler: Now that we've got put() and svc() with no-op - defaults in class ACE_Task_Base, we don't need them in - ACE_Svc_Handler anymore, so I removed them! - - * ace/Task: Finally got sick of having to provide no-op - open()/put()/close() routines in all ACE_Task subclasses, so I - changed these methods from pure virtual to virtual with default - no-op behavior. Updated all the tests, as well. - -Sat Dec 14 11:39:15 1996 David L. Levine - - * ace/{Module,Stream,Svc_Handler,Synch_T,Task_T}.cpp and Synch_T.i: - removed ACE_INLINE qualifier from functions in .cpp files; in - the case of Synch_T, moved ACE_INLINE functions from .cpp to .i file - - * apps/Gateway/Gateway/Routing_Table.cpp, - examples/ASX/Event_Server/Event_Server/Peer_Router.cpp, - examples/ASX/UPIPE_Event_Server/Peer_Router.cpp: - removed ACE_INLINEs from .cpp files - - * ace/CORBA_Handler.h and ace/Token_Collection.{h,cpp}: - changed __INLINE__ to __ACE_INLINE__ - - * ace/Svc_Conf_y.cpp: commented out unused arguments to - suppress compiler complaints - -Fri Dec 13 22:07:11 1996 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++*.GNU: replaced - SOLINK step in build of shared objects for SunOS5 with SunC++ - with symlink from .so to .o file. - - * ace/config-vxworks*.h: added ACE_NEEDS_SYSTIME_H to VxWorks - configs because it's needed with inlining - - * include/makeinclude/platform_vxworks*.GNU: cleaned up VxWorks - config files - -Fri Dec 13 00:53:34 1996 Douglas C. Schmidt - - * ace: Replaced all uses of - - #if defined (.....) // .... - - with - - #if defined (.....) /* ... */ - - so that broken C++ compilers won't complain. Thanks to - John Cosby for reporting this. - - * ace/Thread.i: Updated the signature of getprio() and setprio() - so that they take ACE_hthread_t. Thanks to Wayne Vucenic - for finding this. - - * Reran all the tests on NT and Solaris. Everything seems to - work. Therefore, incremented the version number to 4.1 and put - it out for ftp and http. - -Thu Dec 12 18:51:04 1996 Douglas C. Schmidt - - * tests/Priority_Task_Test.cpp (svc): Added a new test to exercise - the new "priority" feature of ACE_OS::thr_create() - (which is also available to ACE_Task). - - * ace/Thread: Added getprio() and setprio() methods to ACE_Thread. - -Fri Dec 13 13:44:12 1996 David L. Levine - - * ace/config-vxworks*.h: added ACE_NEEDS_SYSTIME_H to VxWorks - configs because it's needed with inlining - - * include/makeinclude/platform_vxworks*.GNU: cleaned up VxWorks - config files - -Thu Dec 12 18:51:04 1996 Douglas C. Schmidt - - * ace: Added a new macro called ACE_UNUSED_ARG() to keep - the compiler from outputting warnings about unused - arguments. So far, this is mostly done for Win32, but it - should be easy to do it for other compilers. Thanks - to Matthias for these changes. - - * ace/OS.cpp: Added support so that thread priorities will - automatically be set when we spawn threads using - ACE_OS::thr_create(). - - * ace/OS.cpp: Simplified the logic for handling NULL thr_handles - and thr_ids. Now, we set all this stuff in one place at the - beginning of the function, rather than recomputing it all over - the place. - - * ace/config-aix-{3.2.5,4.1.x}.h: Added the - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS flag. - - * ace/Thread_Manager.cpp (ACE_Thread_Control): Conditionally - compiled the logic for calling this->exit() in the destructor - for ACE_Thread_Control so that we only make this call if - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS is *not* set. This will - prevent infinite recursion on platforms like AIX. Thanks to - Chris Lahey for reporting this. - - * apps/Gateway/Gateway/Channel.cpp (recv_peer): Added the logic - that makes sure we don't get screwed up by partial headers. - Thanks to Chris Cleeland for this. - -Thu Dec 12 20:55:02 1996 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++*.GNU: removed - SOLINK step in build of shared objects for SunOS5 with SunC++: - it's not necessary. - -Thu Dec 12 03:48:26 1996 Irfan Pyarali - - * ace/Naming_Context: Modified ACE_Naming such that on Win32, you - can use ACE_Registry_Name_Space. - - * ace/Registry_Name_Space: ACE_Registry_Name_Space is a Name_Space - which uses ACE_Registry as the persistence mechanism. Win32 - clients of ACE_Naming can now start using (the more robust and - reliable) Registry persistence without any major code changes. - - * tests/Naming_Test.cpp: Added the use of Registry_Name_Space to - the test if we are on Win32 and UNICODE is turned on. - - * examples/Registry: Fixed UNICODE behavior of the tests - -Wed Dec 11 20:33:28 1996 Douglas C. Schmidt - - * ace/Synch_T.h: Added a warning that indicates why it isn't - possible to use ACE_Process_Condition on - Win32... - - * tests/TSS_Test.cpp: Moved the Errno class to a file - TSS_Test_Errno.h and replaced the Errno class with the #include - "TSS_Test_Errno.h" to work around "features" with AIX C++'s - template instantiation scheme. - - * ace/OS.i (inet_aton): Replaced the use of ((ACE_UINT32) -1) with - ((ACE_UINT32) ~0). I expect this is more portable... - - * tests/run_tests.bat: Added "Service_Config_Test" to the - run_tests.bat file. - -Tue Dec 10 22:59:26 1996 Irfan Pyarali - - * tests: Added Service_Config_Test to Win32 makefiles. - - * ace/OS.i (inet_aton): We need to cast htonl to (long) - - * tests: Added/Fixed UNICODE behavior of the following: - - MM_Shared_Memory_Test.cpp - Mem_Map_Test.cpp - Mutex_Test.cpp - Naming_Test.cpp - Process_Mutex_Test.cpp - SPIPE_Test.cpp - Time_Service_Test.cpp - Tokens_Test.cpp - UPIPE_SAP_Test.cpp - - * netsvcs/lib: Added/Fixed UNICODE behavior of the following: - ACE_TS_Clerk_Processor::poolname_ - -Tue Dec 10 00:33:08 1996 Douglas C. Schmidt - - * tests/Service_Config_Test.cpp (main): Added a new method called - run_test() to ensure that ACE_Service_Config daemon is destroyed - before we try to end the test. - - * ace/OS.i (inet_aton): We need to cast -1 to (ACE_UINT32). - - * tests/Process_Mutex_Test.cpp (main): Added a minor change to - make gcc happy by moving the definition of int i *outside* the - loop. Thanks to Thilo Kielmann - for reporting this. - - * ace/OS.h: gcc complains about memcmp, memcpy, strcmp, and strcpy - (from ACE_OS::) being used before defined inline. This is due - to the include of SString.h at the end of OS.h. So I reordered - things in accordance to the changes from Thilo Kielmann - . - - * build/SunOS5.5/examples/Shared_Malloc/test_multiple_mallocs.cpp: - Changed the definition of char *base_addr to void *base_addr. - - * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool_Options): Changed the - definition of char *base_addr to void *base_addr. - - * Put out what is hopefully the final beta release of 4.0.33. - - * ace/Message_Queue: Added the enqueue() method again to maintain - backwards compatibility. Thanks to Karlheinz for pointing out - the need for this. - - * ace/Service_Config.h: The svc.conf factory functions were - begin defined as extern "C", but the function pointer defined in - the ACE_Static_Svc_Descriptor struct is not declared as extern - "C", therefore, there was a mismatch. Here's how to fix this: - - In Service_Config.h, before the struct ACE_Static_Svc_Descriptor - add: - - extern "C" { - typedef ACE_Service_Object *(*ACE_SERVICE_ALLOCATOR)(void); - } - - Then in the struct alloc_ field was changed as follows: - - from: ACE_Service_Object *(*alloc_)(void); - to: ACE_SERVICE_ALLOCATOR alloc_; - - Thanks to Chuck Gehr for this. - - * ace/Memory_Pool.cpp (commit_backing_store_name): Changed uses of - "counter" from int to size_t to remove warnings. - - * ace/ACE.cpp: Reimplemented the ACE::daemonize() method to - conform to the latest version in Richard Steven's new UNP book. - - * ace/INET_Addr.cpp (set): Replaced the use of ACE_OS::inet_addr() - with ACE_OS::inet_aton(). Thanks to W. Richard Stevens for this - idea ;-). - - * ace/OS: Added a new function called inet_aton(), which is based - on a new POSIX socket addressing function that is non-ambiguous - in its return value (unlike inet_addr). - - * tests: Added a new Service_Config_Test.cpp to make sure that the - timeout features mentioned below work. - - * ace/Service_Config.cpp: Changed the implementation of - run_{reactor,proactor,reactorEx}_event_loop so that it returns - if the corresponding handle_events() method times out. - Thanks to Phil Logan for reporting - this. - - * ace/LSOCK_Stream: Moved get_remote_addr() from the private part - of the class and implemented it using get_local_addr(). This - fixes problems that previously occurred when using the - ACE_Connector with ACE_LSOCK_Stream. Thanks to Stuart Powell - for this suggestion. - -Mon Dec 9 22:03:30 1996 Douglas C. Schmidt - - * examples/Threads: Updated the test.mak and test.mdp files to - reflect the new name changes. Thanks to Matthias for this. - - * ace/ACE.cpp (ldfind): Added new code that will work if the - "base" part of the filename to look for is the same on both UNIX - and NT. The library name will be made up of three parts - [ACE_DLL_PREFIX]base part[ACE_DLL_SUFFIX], where prefix is "lib" - on UNIX and nothing on NT and suffix is ".dll" on NT and ".so" - on UNIX. If either prefix or suffix are missing from the - filename you supply to ldfind they will be added - automagically. This all will work independent from the pathname, - which will be treated completely separately from the filename - and can contain either UNIX style or NT style separators. - - Examples: - Source NT UNIX - =============================================================== - netsvc netsvc.dll libnetsvc.so - (PATH will be evaluated) (LD_LIBRARY_PATH evaluated) - - libnetsvc.dll libnetsvc.dll libnetsvc.dll + warning - netsvc.so netsvc.so + warning libnetsvc.so - - ..\../libs/netsvc ..\..\libs\netsvc.dll ../../libs/libnetsvc.so - (absolute path used) (absolute path used) - - The first and the last of these 4 examples is the way the new - functionality is supposed to be used. You simple supply the - pathname and the base part of the filename and ldfind will - figure everything out. - - Thanks to Tilo Chris for this code. - - * ace/OS.h: Added a new macro called ACE_DLL_PREFIX, which is - defined to "" on Win32 and "lib" on UNIX. Thanks to Tilo for - this. - - * ace/Reactor.cpp (detach): After further thought, I - have commented out the - - eh->reactor (0); - - call since I don't think we really need it. - - * ace/Reactor.cpp (detach): There was a problem with - ACE_Reactor::detach(). - - The following lines: - - // Reinitialize the Reactor pointer to 0. - eh->reactor (0); - - should be moved before: - - eh->handle_close (handle, mask); - - This will render the reactor handle not available in the - handle_close method but at least handle_close can delete itself. - Thanks to Luca for reporting this. - - * examples/Reactor/Ntalker: Replaced the use of ACE_OS::getopt() - with the ACE_Get_Opt iterator. Thanks to Alexandre Karev - for suggesting this. - - * ace/OS.h: Moved the #endif /* ACE_HAS_DCETHREADS || - ACE_HAS_PTHREADS */ once again in order to make sure that the - right things happen when #if defined (ACE_HAS_THREADS) is - *false*. Thanks to Robert Lyng - for reporting this. - -Mon Dec 9 02:06:48 1996 Irfan Pyarali - - * ace/SString: Made accessors return const references. - - * ace/OS.h: Added macro ACE_WIDE_STRING which allows the - conversion of char* to wchar_t* when UNICODE is turned on. - - * ace: Added/Fixed UNICODE behavior of the following: - - /* Local_Name_Space */ - ACE_Local_Name_Space_T::context_file_ - - /* ACE */ - ACE::basename - - /* Token */ - ACE_Token::ACE_Token - - /* Synch */ - ACE_File_Lock::ACE_File_Lock - - /* SPIPE_Addr */ - ACE_SPIPE_Addr::addr_to_string - ACE_SPIPE_Addr::set - - /* FILE_Addr */ - ACE_FILE_Addr::addr_to_string - - /* DEV_Addr */ - ACE_DEV_Addr::addr_to_string - - /* Addr */ - ACE_Addr::addr_to_string - ACE_Addr::string_to_addr - Note: These two were removed from the base class since they are - not common to all Address classes. - - /* Malloc */ - ACE_Allocator_Adapter::ACE_Allocator_Adapter - ACE_Malloc::ACE_Malloc - - /* Process */ - ACE_Process::start - - /* Shared_Memory_MM */ - ACE_Shared_Memory_MM::ACE_Shared_Memory_MM - ACE_Shared_Memory_MM::open - - /* Proactor */ - ACE_Overlapped_File::ACE_Overlapped_File - ACE_Overlapped_File::open - - /* Log_msg */ - ACE_Log_Msg::open - - /* Naming_Context */ - ACE_Name_Options::namespace_dir - ACE_Name_Options::process_dir - ACE_Name_Options::database - - /* Registry */ - ACE_Predefined_Naming_Contexts::connect - ACE_Predefined_Naming_Contexts::is_local_host - - /* SString */ - ACE_CString::ACE_CString - - /* Mem_Map */ - ACE_Mem_Map::ACE_Mem_Map - ACE_Mem_Map::map - - /* Service_Config */ - ACE_Service_Config::logger_key_ - - /* System_Time */ - ACE_System_Time::ACE_System_Time - - /* Memory_Pool */ - ACE_Sbrk_Memory_Pool::ACE_Sbrk_Memory_Pool - ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool - ACE_Local_Memory_Pool::ACE_Local_Memory_Pool - ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool - ACE_Lite_MMAP_Memory_Pool::ACE_Lite_MMAP_Memory_Pool - - /* OS */ - ACE_OS::strstr - ACE_OS::strdup - ACE_OS::hostname - ACE_OS::open - ACE_OS::unlink - ACE_OS::dlopen - ACE_OS::dlsym - ACE_OS::cuserid - ACE_OS::fork_exec - ACE_OS::sprintf - ACE_OS::access - ACE_OS::fopen - ACE_OS::getenv - ACE_OS::system - ACE_OS::mkdir - ACE_OS::mktemp - -Sun Dec 8 19:00:45 1996 Tim H. Harrison - - * ace/Reactor.cpp (handle_events): Updated this method to use the - ACE_Countdown_Time::update method after the mutex has been - acquired. - - * ace/Time_Value.cpp (update): Added an ACE_Countdown_Time::update - method that calls stop and start. This is useful for methods - such as ACE_Reactor::handle_events that need to update timeout - values after acquiring locks, but before waiting on the - demultiplexing mechanism (e.g. select). - - * ace/ReactorEx.cpp (handle_events): Modularized the - implementation of handle_events. Now it uses helper functions - to significantly simplify the implementation. Also updated the - header file documentation. - - * ace/Timer_Queue: Added a timer_skew_ data member and accessor - methods to ACE_Timer_Queue. Also added an expire method that - calls gettimeofday and adds the timer_skew_ for you. These - changes will help simplify Reactor, Proactor, and ReactorEx - code. - - * ace/Reactor : Removed timer_skew_. This code now just calles - timer_queue->expire () with no parameters. Very clean. - - * ace/ReactorEx : Removed timer_skew_ code. - - * ace/Proactor : Removed timer_skew_ code. - - * examples/Proactor/test_proactor.cpp: Fixed this application so - that it exits when all the data has been sent and received. - Previously, it used a cool timeout mechanism to "guess" when all - the data had been received. Ahh, but we can't have too much - fun, or people start to get nervous. - - * ace/Service_Config.cpp (run_reactorEx_event_loop (Time_Value)): - Fixed the implementation of this method. It now handles - reactorEx events until end_reactorEx_event_loop is called, or - the specified time value expires. Also fixed the - run_proactor_event_loop (Time_Value) method. - - * examples/ReactorEx/test_timeout.cpp: Added a new example - application that shows how to use - Service_Config::run_reactorEx_event_loop with timeouts. Check - the examples/ReactorEx/README file for more details. - - * examples/Proactor/test_timeout.cpp: Added a new example - application that shows how to use - Service_Config::run_proactor_event_loop with timeouts. Yes, this - screams for common dispatcher interfaces for Reactor, Proactor, - and ReactorEx. - -Sun Dec 8 10:27:19 1996 Douglas C. Schmidt - - * ace/Service_Manager.cpp (init): Changed all uses of "int port" - to "u_short port" to be consistent with socket types. - - * ace/ACE.cpp (bind_port): Changed all uses of "int port" to - "u_short port" to be consistent with socket types. - - * ace/Remote_Name_Space.cpp: Changed all uses of "int port" to - "u_short port" to be consistent with socket types. - - * ace/SV_Semaphore_{Simple,Complex}: Changed all uses of "int n" - to "u_short n" to be consistent with the SYSV types! - - * ace/OS.h: Moved the location of the ACE_HAS_USING_KEYWORD macros - until *after* we #include "ace/Time_Value.h". Thanks to - Matthias for this. - - * ace/Signal.cpp: Finished implementing the - ace_signal_handlers_dispatching logic, which wasn't done - entirely earlier. Thanks to Alexandre Karev - for reporting this. - - * netsvcs/servers/main.cpp (main): Fixed several small bugs in the - netsvcs main test program. Thanks to Alexandre Karev - for finding this. - - * ace/Reactor: Removed the timer_skew_ data member from the - ACE_Reactor since this is now covered by the - ACE_Timer_Queue. - - * ace/Reactor.cpp (handle_events): Added the new version of the - ACE_Countdown_Time to simplify the code. - - * ace/Time_Value: Added a new class called ACE_Countdown_Time, - which is used by the Reactor, ReactorEx, and Proactor to keep - track of how much time elapsed. - - * ace/config-win32-msvc4.0.h: Added a change that forces the MSVC - compiler to reference the proper Winsock - lib during linking of - ACE. This change is necessary because a) in the release version - the link to the winsock.lib was completly missing and b) only - wsock32.lib has been included (which is wrong when WinSock2 is - used). Thanks to Matthias for this. - - * ace/Module.cpp (ACE_Module): Added code to zero-out the - q_pair_[2] pointers. Thanks to Matthias for this. - - * tests: Removed the argv name from most main() functions so that - we don't get warnings... - - * examples/Threads: Fixed some errors in the threads examples - directory, most of which are ambigious overloads. Also included - a (MSVC 4.1) makefile for all tests in this directory. Thanks - to Matthias for this. - - * examples/Threads: Renamed all the files by removing the word - "test_" at the beginning. This is redundant! - - * tests/TSS_Test.cpp: If we are running AIX (i.e., if - ACE_TEMPLATES_REQUIRE_PRAGMA), then conditionally avoid - compiling this test program because it doesn't work unless we - split off class Errno due to AIX's rules for generating - templates. This is too much work to get right... - - * ace/OS.i (thr_self): Updated the conditional compilation tests - so that we check for ACE_HAS_THREAD_SELF first. Thanks to Chris - Lahey for this. - - * ace/{config-osf1-3.2.h,config-aix-4.1.x.h}: Updated this file so - that is has the new ACE_HAS_THREAD_SELF macro, which indicates - that the platform uses thread_self() rather than pthread_self(). - - * ace/config-aix-4.1.x.h: According to Chris Lahey - , AIX 4.1.x should have ACE_HAS_PTHREADS - rather than ACE_HAS_DCETHREADS. - - * ace/Thread_Manager: Removed the thread_descriptor_i() methods - and replaced them by generalizing the find() method to become - find_thread() and find_hthread(). Thanks to Hamutal Yanay - for suggesting this. - -Sun Dec 8 14:39:53 1996 Tim H. Harrison - - * ace/Timer_Queue: Added a timer_skew_ data member and accessor - methods to ACE_Timer_Queue. Also added an expire method - that calls gettimeofday and adds the timer_skew_ for you. These - changes will help simplify Reactor, Proactor, and ReactorEx - code. - -Sat Dec 7 01:14:04 1996 Irfan Pyarali - - * tests/Process_Mutex_Test.cpp: Added new test which checks the - functionality of a ACE_Process_Mutex. Abandoned mutexes can be - created by selecting the correct command-line arguments. - - * examples/Reactor/ReactorEx/test_reactorEx.cpp: Reverted back to - old scheme which does not utilize traits. - - * ace/Task_T.h: Removed the synchronization trait in Task. This is - because template typedefs are only supported by a few - platforms. Sigh ;-) - -Sat Dec 7 16:55:37 1996 Douglas C. Schmidt - - * ace/Thread_Manager.cpp: Because thread_descriptor_i() only returns - 0 or -1 on failure the code for - ACE_Thread_Manager::thr_self(ACE_hthread_t &) should read: - - if (-1 == this->thread_descriptor_i (id, td)) - return -1; - handle = &td.thr_handle_; - - Thanks to Matthias for reporting this. - - * ace/OS: Added a new static instance of ACE_thread_key_t to work - around the pthreads implementation on MVS (which doesn't store - TSS keys as ints!). Thanks to Chuck Gehr for reporting this. - - * ace/config-mvs.h: Added #define ACE_TEMPLATES_REQUIRE_SOURCE for - MVS C++. Thanks to Chuck Gehr for reporting this. - - * ace/Signal.cpp: ace_dispatcher was being set to - ace_signal_handlers_dispatch() which calls - ACE_Sig_Handlers::dispatch (when ACE_HAS_SIC_C_FUNC is defined), - whereas it was set to ACE_SigHanlder::dispatch (no s) if not - defined. I intended to set this to ace_signal_handler_dispatch - (no s). Thanks to Chuck Gehr for reporting this. - - * ace/Makefile: Fixed a small typo where I wasn't matching char - *getenv in the sed regular expression. - - * ace/{OS,Synch}: Moved various classes around so that things will - compile correctly when ACE_WIN32 is defined but ACE_HAS_THREADS - is *not* defined. Thanks to Robert Lyng - for reporting this. - -Sat Dec 7 16:55:37 1996 Matthias Kerkhoff - - * ace/Module: Added some values to the enum so Module clients - can decide whether the reader, the writer or both should be - automatically deleted. - - * ace/{Stream,Module,Task}: Changed some function arguments - from u_long to int (because enums are represented as ints). - - * ace/Task: Added a new virtual function to ACE_Task_Base - (module_closed), which by default calls - ACE_Task_Base::close(1). Please note the changed flags - argument. This allows clients to differ between calls - originated from a Module and/or Stream from those which - result from ~ACE_Task_Exit(). ~ACE_Task_Exit() calls - ACE_Task_Base::close(0). This may be or not be a problem to - existing applications. It may (hopefully not) - be neccessary to change ACE_Task_Base::module_close back to - calling ACE_Task_Base::close(0). - -Fri Dec 06 14:44:20 1996 David L. Levine - - * ace/OS.cpp: added ::spa () function to allow command line args - to be passed to programs in VxWorks - - * ace/OS.i: (ACE_OS::gettimeofday): VxWorks returns nsec instead - of usec, so convert - -Fri Dec 6 01:21:48 1996 Irfan Pyarali - - * examples/Reactor/ReactorEx/test_reactorEx.cpp: Rewrote the - example such that the test now uses the new Notification - Strategy scheme in ACE. This allows a message queue consumer to - wait in ReactorEx without spawning a new thread, or creating - extra Win32 events. This make the example smaller and much - cleaner. - - * ace/Task_T.h: Added synchronization trait to Task. - - * ace/Task_T.i (msg_queue): Added a check to delete the old - message_queue if we had created it. - - * ace/ReactorEx.cpp (remove_handler): Removed the call to set - reactorEx of the event handler to zero becauses the event - handler may no longer be there after the handle_close() - completes. - -Thu Dec 05 21:18:49 1996 David L. Levine - - * ace/OS.cpp (thr_create): Oops, needed to add another check if - thr_id == 0 before assigning *thr_handle = *thr_id, for systems - such as Solaris 2.4 that don't have PTHREADS. - -Wed Dec 4 09:09:56 1996 David L. Levine - - * ace/Log_Msg.cpp (log): added printout to stderr before call - to exit(). Silent calls to exit() are bad :-} - - * performance-tests/Synch-Benchmarks/Options.cpp (print_results): - only use rusage if ACE_HAS_PRUSAGE_T is #defined - - * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: - use blocking connect on VxWorks - - * ace/config-vxworks*.h: added ACE_LACKS_MPROTECT and - ACE_HAS_STRERROR - - * include/makeinclude/platform_vxworks*: removed INCLDIRS and - added indlib.o to GreenHills LIBS - - * Makefile (cleanrelease and release): changed "rm -r" of - ACE.tar.gz to "rm -f", that's probably what was meant - -Wed Dec 4 00:27:07 1996 Irfan Pyarali - - * ace/config-win32-msvc*.0.h: Added NOMINMAX. - - * ace/Registry: Removed NOMINMAX and - VC_PLUS_PLUS_NESTED_CLASS_PROBLEM flags from the header file. - The VC_PLUS_PLUS_NESTED_CLASS_PROBLEM flag is no longer needed - and NOMINMAX is defined at the project level. Thanks to - Matthias Kerkhoff for suggesting this. - -Mon Dec 2 14:13:44 1996 Douglas C. Schmidt - - * ace: Changed all occurrences of ACE_Event_Handler - reactorex() to reactorEx() to be consistent. Thanks to - Matthias for suggesting this. - - * ace/Message_Queue.cpp (close): We didn't allocate the memory for - the notification_strategy_, so we darn well can't delete it! - Thanks to Matthias for finding this. - - * ace/Log_Msg.cpp (ACE_TSS_cleanup): Made the ACE_TSS_cleanup - function extern "C" for MVS C++ and compilers like it... Thanks - to Chuck Gehr for reporting this. - - * tests/Naming_Test.cpp (main): Added delete ns_context to close - things down and free up the semaphores. Thanks to David Levine - for suggesting this. - - * examples/Reactor/Misc/test_demuxing.cpp (handle_input): Fixed a - "typo" where we were accessing mb->msg_priority() *after* - deleting it! Thanks to Matthias for finding this. - -Mon Dec 2 09:57:15 1996 David L. Levine - - * tests/run_tests.*: updated lists of tests to be run - - * tests/*.cpp: removed trailing .cpp from argument to - ACE_START_TEST because it would appear in the log file name - -Mon Dec 2 00:08:51 1996 Douglas C. Schmidt - - * ace/Log_Record.cpp (dump): There was an error on line 19 of - Log_Record.cpp: - - ACE_DEBUG ((LM_DEBUG, "\npid_ = %s\n", this->pid_)); - - should be changed to: - - ACE_DEBUG ((LM_DEBUG, "\npid_ = %d\n", this->pid_)); - - Thanks to Sandro Doro for reporting - this. - - * examples/Reactor/Misc/test_handle_set.cpp: Updated the test to - remove a warning caused by sloppy nesting of loop counters. - -Mon Dec 2 00:23:23 1996 Irfan Pyarali - - * ace/Strategies.{h,cpp}: Update the base-class and added - documentation. - - * tests/test_config.h: Added ACE_INIT_LOG, ACE_APPEND_LOG and - ACE_APPEND_LOG to facilitate the appending of log messages to a - file. Also changed Pipe_Test to use this new mechanism. - - * test/Naming_Test: Changed test to use "lite" implementation to - speed things up. - - * netsvcs/lib: Fixed multiple type mismatch warnings. - - * ace/ReactorEx: Fixed syntax errors in recently modified - ReactorEx.* files - - * ace/ace.{mdp.mak}: Added Strategies.cpp to VC++ makefile. - -Sun Dec 1 19:19:02 1996 Douglas C. Schmidt - - * ace/Service_Config: Moved the #inclusion of ace/Proactor.h and - ace/ReactorEx.h from the *.h file to the *.cpp file to avoid - problems with circular dependencies. - - * ace/Reactor: Added a new parameter to the Reactor's - initialization methods so that we can install a subclass of - ACE_Timer_Queue. This is in anticipation of Tim's new - "real-time" implementation of a timer queue. - - * ace/Reactor: Changed the internal Reactor name - ACE_Notification_Handler to ACE_Reactor_Notify to be consistent - with the ACE_ReactorEx_Notify class. - - * examples/Reactor/Misc/test_demuxing.cpp: Revised this test so - that it now illustrates the new notification mechanism of the - ACE_Message_Queue class. - - * examples/Reactor/Misc: Changed the name of the signal_tester.cpp - file to test_demuxing.cpp, which is really what this does. - - * ace/{Strategies,Message_Queue}: Created a suite of - "Notification Strategies" that are used with the new - ACE_Message_Queue notification scheme. This works as - follows: - - 1. There's a new virtual hook method on ACE_Message_Queue - called notify(). Whenever a new Message_Block is - enqueued the notify() hook is called. By default, this - does nothing. - - 2. If you want to do something with the notify() hook, you - have two choices: - - a. You can subclass from ACE_Message_Queue and - override this method. This is an example of the - "Template Method" pattern. - - b. You can configure an ACE_Notification_Strategy * - into an ACE_Message_Queue. An - ACE_Notification_Strategy is the vehicle for - extending the behavior of ACE_Message_Queue wrt - notification *without subclassing*. Thus, it's an - example of the Bridge/Strategy patterns. - - 3. ACE_Notification_Strategy is defined in - ace/Strategies.{h,cpp}. There are two pre-defined - subclasses: - - a. ACE_Reactor_Notification_Strategy -- integrates the - ACE_Message_Queue notification into the - ACE_Reactor::notify() method. - - b. ACE_ReactorEx_Notification_Strategy -- integrates - the ACE_Message_Queue notification into the - ACE_ReactorEx::notify() method. - - Both of these can be used almost identically in order to - seamlessly integrate multiple threads of control, inserting - ACE_Message_Blocks in one or more ACE_Message_Queues, with - the various ACE event demultiplexors (i.e., ACE_Reactor - and ACE_ReactorEx). - - * ace: Created a new pair of files called Strategies_T.cpp and - Strategies_T.h and move the template ACE_*Strategies classes - into those files. This was necessary since there are now new - non-template notification strategies in Strategies.{h,cpp}. - - * ace/Message_Queue: Created a new "notification hook" mechanism - that makes it possible for event demuxers (like ACE_Reactor and - ACE_ReactorEx) to be informed automatically when a Message_Block - is inserted into the Message_Queue. This is useful for - sitations where you'd like to integrate multiple threads (each - of which is pumping data into an ACE_Message_Queue) with an - ACE_Reactor or an ACE_ReactorEx. Thanks to Matthias Kerkhoff - and Luca for suggesting this. - - * ace/Synch.h: Modified the implementation of - ACE_Null_Condition_Mutex::wait() so that it always returns -1 - and sets errno to ETIME. This reflects the fact that if you'll - never be awakened if you "sleep" on a Null_Condition... - - * ace/ReactorEx: Generalized the ACE_ReactorEx so that its - notify() method now behaves like the ACE_Reactor, i.e., it can - queue up ACE_Event_Handlers that are dispatched in the ReactorEx - thread of control. - - * tests: Renamed the Shared_Memory_MM_Test.cpp to - MM_Shared_Memory_Test.cpp and remove the - Shared_Memory_SV_Test.cpp since it was redundant to the - SV_Shared_Memory_Test.cpp. - - * tests/SV_Shared_Memory_Test.cpp (main): Revised the SVSV IPC - shared memory test to be more robust. - - * ace/SV_Semaphore_Simple.cpp (open): If the char *name == 0 then - use ACE_DEFAULT_SEM_KEY instead. - - * ace/Memory_Pool: Generalized the ACE_Shared_Memory_Pool so that - there can be more than 1 shared memory pool active at a time - (similar to what we did for ACE_MMAP_Memory_Pool). - - * ace/Memory_Pool.h: There was an unnecessary - ACE_SV_Semaphore_Complex in ACE_Shared_Memory_Pool that was left - over from earlier days. I've removed this. - - * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): Revised - the constructor so that if we get a NULL pool_name we'll - initialize the - - * examples/Makefile: Added the System_V_IPC and Shared_Memory - directories. - - * ace/Message_Queue.h: Added a virtual destructor to - ACE_Message_Queue so that it can be destroyed appropriately, - even if subclassed. - - * ace/Message_Queue.h: Renamed enqueue() to enqueue_prio() to be - consistent with the other names (e.g., enqueue_head() and - enqueue_tail(). Updated the test programs to reflect this. - -Sun Dec 1 12:06:46 1996 David L. Levine - - * ace/config-vxworks*.h: Removed #define ACE_HAS_STRBUF_T: - copy and paste error - -Sun Dec 1 00:15:45 1996 Irfan Pyarali - - * ace/OS.h: ACE_NEW_RETURN and ACE_NEW were reverted back to the - old implementation. This is temporary till the infinite loop - problem with ACE_ERROR, ACE_DEBUG and ACE_TRACE being called - from ACE_Log_Msg::instance() is fixed. - - * ace/Synch.h: Repositioned ACE_Semaphore such that there are no - problems in compiling ACE_Process_Semaphore under Win32. - - * ace/config-win32-msvc4.0.h: Changed ACE_HAS_STL to - ACE_HAS_STANDARD_CPP_LIBRARY which is more descriptive (and what - is expected by stdcpp.h). - - * ace/Registry.h: Added the setting of NOMINMAX and - VC_PLUS_PLUS_NESTED_CLASS_PROBLEM flags so that STL behaves - properly. - - * ace/Log_Msg.cpp (open): Fixed a small bug such that msg_ostream - is only set this to cerr if it hasn't already been set. - - * STL: Updated the STL directory will latest code from - http://www.rahul.net/terris/ and also added the original - readme2.stl file. Created ACE_Changes which has the list of - changes made to the STL distribution. - -Sat Nov 30 12:02:00 1996 Douglas C. Schmidt - - * ace/OS.h: Added a new pragma that disables warning #4097 in - MSVC++ (typedef-name used as synonym for class-name). This - keeps Win32 clients from getting warning on Win32. Thanks to - Matthias Kerkhoff for this. - - * ace/Log_Msg.cpp: Created a new macro called ACE_NEW_RETURN_I, - which is used withing ACE_Log_Msg::instance(). We can't afford - to call ACE_LOG_MSG->instance() from within - ACE_Log_Msg::instance() or else we will recurse infinitely! - Thanks to Irfan for finding this. - - * ace/OS.i (mprotect): Added a #if !defined (ACE_LACKS_MPROTECT) - conditional compilation directive to support the EPLX real time - OS from CDC (based on LYNX). Thanks to Alexandre Karev - for reporting this. - -Sat Nov 20 12:23:45 1996 Prashant Jain - - * tests/Naming_Test.cpp (main): Added code that creates a unique - backing store name and removes the backing store every time - the test is run. - -Fri Nov 29 12:54:12 1996 Douglas C. Schmidt - - * ace/Stream.cpp (open): Changed tail->close() and head->close() - to delete tail and delete head now that we've got our new - changes. - - * ace/Module: Moved the destructor from the private part of the - class to the public part and changed things so that close() no - longer "deletes this." This is too confusing and error-prone. - In addition, changed the Module destructor so that it will try - to call close() only if close hasn't already been called. - - * ace/Synch.h: Moved ACE_Process_Semaphore out of the - ACE_HAS_THREADS section since this is available on platforms - that don't have threads. - - * Now that Log_Msg.h is being #included in OS.h, I removed all - other #includes of Log_Msg.h throughout the rest of ACE. - - * ace/OS.h: Rearranged the definition of the ACE_NEW and - ACE_NEW_RETURN macros so that they come at the end of OS.h. - This enables us to #include "ace/Log_Msg.h" here, as well, so - that we can make use of the ACE_LOG_MSG macro in the definition - of ACE_NEW and ACE_NEW_RETURN. - - * ace/Singleton.cpp (instance): Updated the ACE_Singleton - implementation to use the new ACE_NEW and ACE_NEW_RETURN macros. - - * ace/OS.h: Revised the ACE_NEW and ACE_NEW_RETURN macros so that - they check to see if the constructor of the newly allocated - object failed (i.e., by checking the ACE_LOG_MSG->op_status() - value). - - * tests/Reactors_Test.cpp: Added an ACE_ASSERT() after each - Reactor we create in order to make sure it worked. - - * tests/Reactors_Test.cpp: Added an ACE_Service_Config daemon - instance within main() in order to ensure that the Reactor is - cleaned up appropriately. This avoids problems with NT 4.0, - where there seems to be a bug if you don't shut down sockets - explicitly when the process exits. - - * tests/Pipe_Test.cpp (main): Improved the pipe test so that it - automatically iterates multiple times in order to test whether - there are problems with rapidly opening and closing NT socket - handles... - -Thu Nov 28 03:07:48 1996 Irfan Pyarali - - * netsvcs: netsvcs.mak and netsvcs.mdp were changed such that - it becomes easier to find ace.lib while compiling netsvcs.lib. - - * tests/Pipe_Test.cpp: Add more instances of ACE_Pipes to the test - and also added an option to close down the pipe. - -Thu Nov 28 00:53:16 1996 Douglas C. Schmidt - - * ace/config-sunos4-g++.h: This config file contained two - exclusive definitions - - #define ACE_HAS_SVR4_SIGNAL_T - - and - - #define ACE_HAS_SUNOS4_SIGNAL_T - - The first one was moved out. Thanks to Alexandre Karev - for reporting this. - - * ace/OS.h: - - #elif defined (ACE_HAS_SUNOS4_SIGNAL_T) - - was changed from - - typedef void (*ACE_SignalHandler)(void); - typedef void (*ACE_SignalHandlerV)(void); - - to - - typedef void (*ACE_SignalHandler)(...); - typedef void (*ACE_SignalHandlerV)(...); - - to make gcc happy. The first one was moved out. Thanks to - Alexandre Karev for reporting this. - - * ace/Pipe.cpp (close): Arrgh! Fixed a total braino where we - weren't using ACE_OS::closesocket() to close down the Win32 - ACE_Pipe implementation, which uses sockets... Thanks to Irfan - and Tilo for helping me figure this one out! - - * tests/CPP_Test.cpp: Completely reworked this test so that it - should run correctly on Win32 and UNIX. - -Wed Nov 27 16:50:17 1996 Douglas C. Schmidt - - * Put out a new beta of ACE 4.0.33. - - * tests/Mutex_Test.cpp (test): Fixed the test() function so that - it doesn't use the ACE_Thread_Control unless we explicitly want - to use threads. - - * tests/test_config.h: Added addition information about the - process id and thread id of the main thread. - - * ace/Synch.h: Speed things up a bit by conditionally #including - "ace/SV_Semaphore_Complex.h" only if we are compiling on a - non-Win32 platform or a POSIX platform. Thanks to Matthias - Kerkhoff for this. - - * ace/SV_Semaphore_Complex.h: Incorporated the new ACE_USING - macro, which is useful if you have - - class b { - a() - }; - - class d : private b { - b::a() // still works, but depriciated - using b::a() // should be used instead - }; - - Thanks to Matthias Kerkhoff for this. - - * ace/OS.h: Added a new macro called ACE_USING, which is used to - distinguish between platforms that support namespace "using" - semantics and those that don't. Thanks to Matthias Kerkhoff - for this. - - * examples/Misc/test_XtReactor[12].cpp: Had to add the infamous - #define String XtString before including Xm/PushB.h. Also, there - were some references to XtReactor when the class is now - ACE_XtReactor. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/XtReactor.cpp (ACE_XtReactor): timeout_ was not being - initialized on the constructor, and that caused a core dump. - Thanks to Gonzalo Diethelm for reporting - this. - - * ace/SOCK.h: Put the open() call in the protected part of the - class since we generally don't want clients to call this - directly. Thanks to Eric Newton for pointing - this out. - - * ace/ACE.cpp: Fixed a bug where sin.sin_family was being set - rather than sin.sin_len. Thanks to Chuck Gehr - for reporting this. - - * ace/ACE.cpp: Enhanced the ACE::{send_n,recv_n} methods so that - they check to see if errno == EWOULDBLOCK when ACE_OS::send() or - ACE_OS::recv() returns -1. If that's the case, then they keep - iterating. - - Thanks to Mehdi TABATABAI for - this suggestion. - - * ace/Log_Msg.h: Fixed ACE_RETURN so that it only has 1 parameter - if ACE_NLOGGING is enabled. Thanks to Antonio Tortorici - for reporting this. - - * ace/config-vxworks*.h: Added ACE_NTRACE macros so that - tracing doesn't magically turn on! - - * ace/Task.cpp (activate): the &ACE_Task_Base::svc_run() argument - needs a cast to ACE_THR_FUNC, because that's what - ACE_Thread_Manager::spawn_n() requires. On VxWorks, - ACE_THR_FUNC functions return an int, while svc_run() returns - void *. Thanks to David Levine for this. - - * ace/Thread_Manager.cpp (kill_thr): I was mistakenly passing in - the thr_handle_ where I should have been passing in the thr_id_. - In addition, made sure we don't set errno to the wrong value... - Thanks to Ross Dargahi for reporting this. - - * ace/{Synch_T,Synch}.h: If we don't actually own the lock - anymore, don't try to do a release. Thanks to Jonathan Biggar - for reporting this bug. - - * ace/ACE.cpp (handle_timed_complete): Added an ex_handles mask so - that non-blocking connects will work correctly on Win32. Thanks - to Antonio Tortorici for - reporting this fix. - - * ace/Message_Queue.h: Updated the documentation to stress the - fact that the timeouts are specified in *absolute* time, rather - than in relative time. Thanks to Bob Dunmire - for reporting this. - - * tests/test_config.h: Modified the ACE_END_TEST macro so that the - log file is closed. This works around a problem on VxWorks - where destructors of static objects don't get closed - automatically. Thanks to David Levine for this fix. - - * ace/OS.i (rand_r): Added a fix for Digital UNIX so that rand_r - works correctly in MT settings. Thanks to Thilo Kielmann - for this. - -Wed Nov 27 16:12:00 1996 Tim H. Harrison - - * ace/Stream.cpp: Fixed a bug in ACE_Stream::open to - allow applications to specify a tail or a head without - having to specify both. This was needed by the ACE_Pipeline - application since it only needs a Pipeline-specific tail - (not a head). - -Tue Nov 26 18:00:25 1996 Douglas C. Schmidt - - * ace: Functions should not be declared with ACE_INLINE in a - .cpp file. Fixed this problem in the following files: - - SPIPE_Acceptor.cpp:116:ACE_INLINE - TLI_Acceptor.cpp:145:ACE_INLINE int - TLI_Acceptor.cpp:192:ACE_INLINE - Task.cpp:121:ACE_INLINE int - Task.cpp:130:ACE_INLINE void - - * ace/{OS,Thread}: Added Chuck Gehr's suggested change for the - pthread_keycreate() routine, which must take extern "C" - functions on MVC C++. This fix isn't perfect, but it should - allow the ACE library to build... - - * man: Updated all of the manual pages and HTML files. - - * ace/Signal.cpp: Updated the code so that we don't try to - register a static C++ dispatch method if ACE_HAS_SIG_C_FUNC is - defined. This fixes problems with the MVS C++ compiler... - Thanks to Chuck Gehr for this suggestion. - - * ace/OS.h: Added extern "C" { } wrappers around the signal - handling mechanisms if ACE_HAS_SIG_C_FUNC is defined. This - fixes problems with the MVS C++ compiler... Thanks to Chuck - Gehr for this suggestion. - - * ace/Reactor.cpp (open): Moved the initialization of the - ACE_Timer_Queue field to *before* the handler_rep_.open() call. - We do this first in case the handler_rep_ call fails (which it - sometimes does on Win32 when we restart applications quickly due - to the use of sockets as a notification mechanism). At least - this way the timer_queue_ isn't 0, so we can still use the - Reactor as a timer... Thanks to Tilo Christ for motivating - me to fix this. - - * ace/OS.i: Apparently, DIGITAL_UNIX gethostbyname() returns - thread-specific storage, so we can use this for - gethostbyname_r(). - - * ace/OS.i: Need to add: - - #else - - after line 3268: return (size_t) ACE_OS::sysconf (_SC_THREAD_STACK_MIN); - - otherwise we get a compile error: - - line 3296.1: CBC1331(W) Return value of type "unsigned int" is expected - - This is because no code ends up getting generated. Thanks to Chuck - Gehr for this fix. - - * ace/OS.i (ACE_PTHREAD_CLEANUP_PUSH): Removed an extraneous set - of parens. Thanks to Chuck Gehr for this fix. - - * ace/OS.cpp (thr_create): Oops, needed to add a check if thr_id - == 0 before assigning *thr_handle = *thr_id! Thanks to Prashant - for finding this. - -Tue Nov 26 21:06:13 1996 Irfan Pyarali - - * ace/Pipe.cpp (open): This change relates to Win32 code only. - Removed the reuse_addr flag to acceptor.open() so that we don't - try to reuse the acceptor socket immediately. Apparently, this - causes no end of trouble on Win32 as the following connect() - call fails (randomly). Now it should be possible to create - multiple ACE_Pipes in one process and hence create multiple - Reactors also without any problems. - - * tests/Pipe_Test.cpp: Added a ACE_Pipe test to check for the - creation of multiple pipes in a process. Also changed the - relevant makefiles and scripts. - -Tue Nov 26 11:27:33 1996 David L. Levine - - * tests/{CPP_Test,Mutex_Test,Shared_Memory_MM_Test,SPIPE_Test}.cpp: - added VXWORKS support for these tests by spawning a new thread - instead of forking a new process (the same as on Win32) - - * netsvcs/clients/Naming/Client/Client_Test.cpp (open): Added a - return 0 for success. - - * ace/Singleton.h: Modified the use of the ACE_NEW_RETURN macro so - we not only check if new has failed, but also check that the - constructor has succeeded. If it hasn't, we bail out... Thanks - to Luca for this suggestion. - - * ace/Log_Msg: Added a 4th parameter to log_hexdump() in order to - print out a comment. Thanks to Luca for this. - - * ace/ACE.cpp (ldfind): Changed the implementation to look for - ACE_DLL_SUFFIX rather than '.' since '.' might exist in the - pathname already... - - * Removed all the NT-specific svc.conf files and updated the other - files to use the new "auto-dll-suffix" feature in ACE. - - * ace/Synch_T.cpp (ts_get): Fixed a nasty bug introduced by recent - changes to ACE_TSS<>::ts_get(). The ACE_Mutex should be - ACE_Thread_Mutex. This should fix lots of nasty run-time bugs - seen with recent versions of the ACE 0.33 beta... - -Tue Nov 26 14:40:00 1996 David L. Levine - - * Log_Msg.cpp: fake out TSS on VxWorks in Log_Msg::instance() - by using a spare field in the task control block - - * tests/{CPP_Test,Mutex_Test,Shared_Memory_MM_Test,SPIPE_Test}.cpp: - added VXWORKS support for these tests by spawning a new - thread instead of forking a new process (the same as on - Win32) - - * OS.h: VxWorks can't handle the ACE_THR_FUNC typedef if - it's in the extern "C" block, so I moved it back out. - Also, the horrible GreenHills hack is no longer required. - - * OS.i: there's an ACE_OS_CALL_RETURN before a ::strncpy() call, - I changed it to ACE_OS_CALL. - - * OS.i: Added call to VxWorks ::mkdir() - - * Pipe.cpp: VxWorks doesn't know about TCP_NODELAY. - - * INET_Addr.cpp: get_host_name() is missing a return - statement, on VxWorks only - - * Thread_Manager.i: in ACE_Thread_Control::thr_mgr(), there - were two consecutive return statements, removed the first - one. - - * Time_Request_Reply.{h,cpp}: GreenHills warns that "type - qualifiers are meaningless" for declaration of const - ACE_UINT32 time(), so I removed them. - - * UPIPE_Stream.cpp, line 95: warning: integer conversion - resulted in a change of sign, so we cast n to int. - - * Map_Manager.cpp: in ACE_Map_Manager::resize_i(), variable - foo is unnecessary, so we omitted it. - - * tests/CPP_Test.cpp (and a few others) have references to - argv[0]: - -Tue Nov 26 03:15:22 1996 Irfan Pyarali - - * tests: Added Map_Manager_Test and Message_Queue_Test to - makefiles (NT and UNIX) and one-button scripts. - - * tests: (Barrier_Test.cpp Buffer_Stream_Test.cpp Mutex_Test.cpp - Priority_Buffer_Test.cpp Recursive_Mutex_Test.cpp - Shared_Memory_MM_Test.cpp) Fixed typos mainly and other small - changes. Also fixed logging file problems so to make logging - of tests more accurate. - -Mon Nov 25 00:23:40 1996 Douglas C. Schmidt - - * performance-tests/Synch-Benchmarks/Options.cpp (Options): - Reordered the initialization of data members to keep G++ from - complaining. - - * performance-tests/Synch-Benchmarks/pipe_thr_test.cpp: Changed - some types so that we don't get warnings. - - * tests/Mutex_Test.cpp (test): Added a "return 0". Thanks to - David Levine for reporting this. - - * ace/TTY_IO.cpp: Rearranged some definitions so that we don't get - "unused variable" warnings from g++. - - * ace/SOCK_Dgram.cpp (recv): Rearranged some definitions so that - we don't get "unused variable" warnings from g++. - - * tests/Priority_Buffer_Test.cpp (consumer): Fixed a typo -- I was - missing a *... Thanks to David Levine for reporting this. - - * ace/OS.h (ACE_SVC_FACTORY_DECLARE): Changed the macro so that it - defines a function with `extern "C"' linkage in order to be - consistent. - - * ace/OS.cpp (thr_create): Moved the conditional compilation test - for ACE_HAS_THR_C_FUNC outside of ACE_HAS_SETKIND_NP since MVS - doesn't have this! Thanks to Chuck Gehr for this info. - - * ace/OS.i (thr_sigsetmask): Replaced the tests for - ACE_HAS_DCETHREADS and ACE_HAS_SETKIND_NP with - ACE_LACKS_PTHREAD_THR_SIGSETMASK, which is more appropriate. - - * ace/OS.cpp (ace_mutex_lock_cleanup_adapter): Changed the - signature so that it returns "void" rather than "void *". - Thanks to Chuck Gehr for this. - - * ace/OS.h: Removed #include to avoid problems on - MVS. Thanks to Chuck Gehr for this. - - * ace/config-sunos5.5-sunc++-4.1.h: It looks like SunC++ 4.1 still - doesn't fix their template typedefs bugs. So I've commented - this out in the config file. Thanks to Fred LaBar - for reporting this. - - * ace/ACE.cpp (ldfind): Added support for a new feature that will - append the default suffix (e.g., ".dll" or ".so") for a shared - library on the current platform to the name of the file if it - cannot find an suffix. It will also check that a provided - suffix will match the default suffix for that platform and if it - doesn't it will produce a log entry with a warning. This change - will allow unified svc.conf-files for both UNIX and WinNT. - Thanks to Tilo Christ for this. - - * ace/OS.cpp (thr_create): Came up with a remarkably clever scheme - that should make it possible to utilize the ACE library *without - change* on MVS, where the frigging C++ compiler requires all - functions passed to pthread_create() have an extern "C" linkage. - The trick was to generalize the thread adapter mechanism used - for Win32. - - * ace/OS: Added a new macro called ACE_PTHREAD_CLEANUP_PUSH that - selects the right mechanism (e.g., ace_spawn_adapter or not) for - passing functions to pthread_cleanup_push(). - - * ace/config-mvs.h: Added a new macro called ACE_HAS_THR_C_FUNC - which expresses the fact that the MVS C++ compiler *must* have - an extern "C" function passed to pthread_create(). - - * ace/OS.h: Modified all uses of ACE_OS::mutex_lock_cleanup() to - use the extern "C" ace_spawn_adapter() on platforms MVS like MVS - that can't deal with non-C functions to pthread_create. Thanks - to Chuck Gehr for reporting this. - - * ace/OS.cpp (thr_create): Added Chuck Gehr's patches for MVS. - -Sun Nov 24 12:30:45 1996 Douglas C. Schmidt - - * ace: Added Chuck Gehr's config-mvs.h - file! - - * ace: Began adding support for WinSock 2.0. Thanks to Luca for - this. - - * ace/UPIPE_{Acceptor,Connector,Stream}: Updated the UPIPE - components so that they keep a reference count that keeps track - of the number of "owners" (which should always be 2 -- one for - the connector-side and one for the acceptor-side). By keeping - this count, we can ensure that we don't close down the - underlying ACE_Stream until both sides have called close(). - This will remove a nasty bug that was lurking in some of the - tests. - - * ace/Message_Block.h: Added a new copy() method that assumes the - buf passed in is a NUL-terminated string. - - * tests/UPIPE_SAP_Test.cpp: Modified this test so that threads - exit in a well-defined order. This should prevent problems on - Win32. - - * ace/OS.i: Changed SIGNAL_SAFE_OS_CALLS to - ACE_HAS_SIGNAL_SAFE_OS_CALLS to be consistent... - - * ace/config-vxworks*.h: Removed the SIGNAL_SAFE_OS_CALLS #define - from the VxWorks config files. There's no need to use this by - default. - - * ace/Event_Handler: Moved all the default implementations of the - virtual methods in ACE_Event_Handler from the *.i file to the - *.cpp and made them no longer be inlines. This will fix some - problems with some compilers (e.g., MSVC++ 4.1) and is also more - reasonable since there's really no purpose for inlining these - virtual functions since they are rarely called. Thanks to James - Michael Dwyer for reporting this problem. - -Sat Nov 23 12:39:03 1996 Douglas C. Schmidt - - * ace/Svc_Conf.y: Changed the parser so that it accepts DLL - pathnames that lack *.dll or *.so suffixes. This is necessary - so that we can automatically append the correct suffix depending - on the platform. Thanks to Tilo Christ - for suggesting this. - - * ace/Makefile: Updated the Makefile so that it will automatically - insert the appropriate so that conditions for include of - ace/OS.h can be checked correctly. - -Fri Nov 22 18:12:49 1996 Douglas C. Schmidt - - * ace/OS.i (thr_sigsetmask): DCE threads (at least as implemented - by Digital) have no means for setting the signal mask on a - per-thread basis. Therefore, modified the code so that it - correctly returns ACE_NOTSUP_RETURN(-1) for DCEthreads. Thanks - to Thilo Kielmann for - chasing this down. - - * performance-tests/Synch-Benchmarks/synch_driver.cpp (run_test): - Fixed this implementation so that it will shut down correctly - when a signal occurs or a timeout occurs (whichever comes - first). - -Fri Nov 22 08:02:39 1996 Irfan Pyarali - - * ace.{mdp,mak}: Changed ace.mak so that it links with the - non-debug version of Microsoft's multithreaded dll when compiled - with the release option - -Thu Nov 21 10:37:40 1996 Douglas C. Schmidt - - * ace/Service_Config: Changed the implementation of the - Service_Config class so that it no longer inherits from - ACE_Event_Handler. This was causing problems because the new - reactor() method in the ACE_Event_Handler was conflicting with - the static reactor() method on ACE_Service_Config. - - * ace/OS.cpp (detach): Since we no longer use an - ACE_Recursive_Thread_Mutex, we can remove the line - - else if (ACE_TSS_Cleanup::lock_.get_nesting_level () > 1) - // ... - - Thanks to Matthias Kerkhoff for - reporting this. - - * ace/Thread_Manager.cpp (spawn_n): Replaced int i with size_t i - to avoid warnings between signed and unsigned values. - - * ace: There is an easy way to speed up the "Update dependencies" - in MSVC. Just keep the the compiler from complaining about - missing header by inserting a comment like below in the - #include-directives which are not used in Win32. - - Therefore, instead of - - #include - - we use - - #include /**/ - - Please let me know if this causes problems for any - pre-processors. Thanks to Matthias Kerkhoff - for this suggestion! - - * ace/OS.cpp: Added support for AfxBeginThread in - ACE_OS::thr_create() and ACE_OS::exit(). Now ACE should work - with MFC when you give the THR_USE_AFX flag to - ACE_OS::thr_create()! Thanks to Matthias Kerkhoff - for this! - - * ace/Malloc_T.cpp (avail_chunks): Changed the return value to - ssize_t so we can return -1 if we can't get the lock. Thanks to - Tilo for reporting this. - - * ace/config-sunos4-sun3.x.h: Added new #ifdefs for Sun C++ 3.0.1 - on SunOS 4.1.3. Thanks to Eric Parker - for these fixes. - - * ace/Stack.h: Added a new method called peek() to the - ACE_Unbounded_Queue classes so that the first element can be - retrieved without removing it. Thanks to Luca for this - suggestion. - - * ace/SString.cpp (ACE_CString): Changed ACE_CString so that it - uses memcpy() rather than str(n)cpy() so that we can store any - structure into it. Thanks to Luca for this suggestion. - - * ace/Acceptor: Since we moved the reactor() accessors to - ACE_Event_Handler we can omit these from the Acceptor and - Svc_Handler. - - * ace: Updated the ACE_Reactor and ACE_ReactorEx so that they - automatically sets the pointers in ACE_Event_Handlers. Thanks - to Luca for this suggestion. - - * ace/Event_Handler: Added pointers to all the ACE demultiplexors - (e.g., ACE_Reactor, ACE_ReactorEx, and ACE_Proactor) to - ACE_Event_Handler, along with set/get accessor methods. This - supports a very common use-case where an event handler keeps - track of its demultiplexor. Thanks to Luca for this suggestion. - - * ace/OS.cpp: Since we do not use the recursion count from the - Recursive Mutex any more in ACE_TSS_Cleanup::exit() we can - replace the Recursive Mutex by a regular ACE_Thread_Mutex that - is recursive on NT natively and more efficient. Thanks to - Detlef for suggesting this. - - * ace/OS.cpp: Since we do not use the recursion count from the - Recursive Mutex any more in ACE_TSS_Cleanup::exit() we can - replace the Recursive Mutex by a regular ACE_Thread_Mutex that - is recursive on NT natively and more efficient. Thanks to - Detlef for suggesting this. - - * ace: Backed out all of Detlef's changes to ACE_OS and - ACE_TSS::ts_get(). It turns out that this is unnecessary since - he reimplemented ACE_TSS_Cleanup so that it no longer needs to - hold the lock when callbacks are made. Once again, Detlef - proves that he's a macho man, not a boy ;-) - -Thu Nov 21 08:12:51 1996 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: - put back the LD definition - - * include/makeinclude/platform_osf1_4.0_g++.GNU: - added LD definition to work with latest wrapper_macros.GNU - -Wed Nov 20 10:32:52 1996 Irfan Pyarali - - * tests: Mutex_Test.cpp Priority_Buffer_Test.cpp - Reader_Writer_Test.cpp Thread_Pool_Test.cpp were changed - slightly to remove some compile time warnings. - -Wed Nov 20 21:35:28 1996 David L. Levine - - * ace/Svc_Conf_l.cpp: added #include of ace/config.h so that - conditions for include of ace/OS.h can be checked. - -Wed Nov 20 02:38:40 1996 Douglas C. Schmidt - - * ace/Service_Config.cpp: Moved the definition of logger_key_ to - OS.h and changed it to a macro (ACE_LOGGER_KEY) so that it will - be portable to Win32 and UNIX. Thanks to Tilo for reporting - this. - - * ace/OS: Changed the return value of ACE_OS::getgid() from uid_t - to gid_t to be POSIX compliant. - - * ace/OS.cpp (thr_create): Fixed a typo where we were assigning - stacksize rather than size. Thanks Thilo. - - * ace/OS.cpp (thr_create): Added a new piece of code for - ACE_NEEDS_HUGE_THREAD_STACKSIZE, which is necessary to create a - larger per-thread stack size in order to run ACE_Log_Msg::log. - Thanks to Thilo for this. - - * tests/TSS_Test.cpp: Changed the name of the static variable - "lock" to "cout_lock" to avoid a potential namespace clash on - Digital UNIX. Thanks to Thilo Kielmann for reporting this. - - * ace/SOCK_Dgram.cpp (recv): Added a cast (char *) - io_vec->iov_base so that this would work correctly on platforms - where iov_base is a void * (e.g., AIX and HP/UX). Thanks to - Alan Stewart for the change. - - * ace/OS.h: Added a few new changes for Digital UNIX 4.0a. These - should fix problems with ctime_r() and asctime_r(). Thanks to - Dave Trumble for the fixes. - - * tests/UPIPE_SAP_Test.cpp: Disabled this test if we don't have - threads and (STREAM Pipes or Win32). Thanks to Thilo Kielmann's - for this info. - -Tue Nov 19 23:09:08 1996 Tim H. Harrison - - * ace/Log_Record.cpp (print): Added a call to ACE_OS::fflush - before returning. This change was suggested by Luca in order to - help prevent messages from getting lost when applications exit. - We're unsure of the affects this will have on performance, so we - may change this back in the future. - -Tue Nov 19 00:06:57 1996 Douglas C. Schmidt - - * Released a beta version of ACE 4.0.33 for testing. - - * ace/TTY_IO.h: Added the ACE_Export macro before the ACE_TTY_IO - class to make things work correctly for Win32 DLLs. Thanks - to William L. Gerecke for fixing this. - - * ace/OS.h: Improved the support for RLIMIT_NOFILE. Thanks to - Alan Stewart for reporting this. - - * ace/OS.h: Removed the following code from OS.h because - it is causing problems on some platforms: - - #if (!defined (timespec) && !defined (m88k)) - #define timestruc_t struct timespec - #endif /* timespec */ - - Thanks to Fred LeBar for reporting this. - - * ace/OS.cpp (thr_create): Needed to create an - ACE_OS::NULL_hthread so that we can assign the "NULL thread - handle" on POSIX platforms. Thanks to Alan Stewart - for reporting this. - - * ace/OS.i: The HP/UX C++ compiler is unable to grok inline - functions with multiple returns. So I recoded the - ACE_OS::event* methods to avoid this. Thanks to Alan Stewart - for reporting this. - - * ace/OS.h: Moved the "undef" of t_errno until after the inclusion - of mman.h and dlfcn.h to prevent problems with DU4.0a. Thanks - to David Trumble for reporting - this. - - * ace/Pipe.cpp (open): Fixed a typo where - this->ACE_SOCK::set_option() was being used instead of - writer.set_option(). Thanks to Tilo Christ - for reporting this. - - * ace/Message_Queue.h: Fixed a bug where - - ACE_Message_Queue &queue_; - - should be: - - ACE_Message_Queue &queue_; - - Thanks to Rick Orr for - reporting this. - - * apps/Makefile: Updated the Makefile so that it no longer tries - to look for Synch-Benchmarks. Thanks to Amos Shapira - for reporting this. - - * ace/Activation_Queue.cpp (dequeue): Added a sanity check to make - sure that we actually deleted the first element in the queue. - Thanks to Andres Kruse for reporting - this. - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: Added a - minor change to remove the libACE.a archive prior to creating a - new one. This works around bugs with the SunOS 4.x C++ - compiler. Thanks to Andres Kruse for - reporting this. - - * ace/Malloc_T.cpp (avail_chunks): Added Fred LeBar's code and - comments for computing the available chunks. - - * tests/Mutex_Test.cpp: Rewrote the Mutex_Test so that it behaves - correctly on UNIX and Win32. Thanks to Irfan for reporting the - problem. - - * ace/Log_Msg.cpp (sync): Somehow, the statement that updated the - pid_ after sync() is called following a fork() got removed, so I - put it back in. - - * ace/config-sunos5.*-g++.h: Added the - -D_REENTRANT flag to the config files for the G++ version of - ACE. This fixes a nasty problem that otherwise arises when - compiling on SunOS 5.x. Thanks to Hanan Herzog - for reporting this. - -Tue Nov 19 21:14:15 1996 David L. Levine - - * performance-tests/Synch-Benchmarks/Benchmark.{h,cpp}: - use thread ID class for VxWorks as well as Pthreads. - - * OS.i, config-{osf1-4.0,sunos5.[45]}-g++.h: Moved GNU - #include out of config files and into OS.i. - - * ace/Svc_Conf_l.cpp: added #include of ace/OS.h for HPUX and - VxWorks. - - * ace/Token.cpp: reordered initializations in Ace_Queue_Entry - ctor to match declaration order. - -Mon Nov 18 00:47:27 1996 Douglas C. Schmidt - - * ace/OS.h: Added a new #define called ACE_HAS_BROKEN_CONVERSIONS - to workaround problems with the HP/UX C++ compiler, which - doesn't seem to be able to grok foo->operator T *(). Thanks to - Alan Stewart for reporting this bug and the fix. - Also updated the config-hpux*.h files with this define. - - * examples/Misc: Added a new test (test_get_opt.cpp) which - exercises the ACE_Get_Opt class. - -Sun Nov 17 13:00:02 1996 Douglas C. Schmidt - - * ace/Get_Opt: Replaced the GNU-based implementation of class - ACE_Get_Opt with an implementation based on BSD UNIX. The - advantage here is that the BSD version is not encumbered by the - GNU GPL. Thus, ACE has no more dependencies on GNU GPL. Thanks - to James Hu for finding the BSD code. - -Mon Nov 18 00:13:25 1996 Tim H. Harrison - - * ace/stdcpp.h: Added this file to ACE. This file contains the - portability ugliness for the Standard C++ Library. As - implementations of the "standard" emerge, this file will need to - be updated. Although not very useful now, we are gearing up for - a support for STL on UNIX and NT. - - * ace/OS.h: Added an include "ace/stdcpp.h". - - * ace/Log_Record.h (ACE_Log_Record): Removed the iostream include - mess that got accidentally committed to the release. - -Sun Nov 17 00:13:25 1996 Tim H. Harrison - - * For some totally evil reason, MSVC++ will not allow any use of - the "allocator" symbol. It's an STL thing. As a result, I've - had to change all of the following files to rename allocator to - alloc: Local_Name_Space_T.cpp, Map_Manager.cpp, Malloc_T.cpp, - Message_Block.cpp, Read_Buffer.cpp, SString.cpp. The root - of the problem can be seen by compiling the code below: - - template - class foo {}; - - int foo; // compile error because of the foo<> class. - - int main () { return 0; } - - * Service_Config.{h,cpp}: We have to change the allocator - accessors to alloc. This is probably going to break - many things. If necessary, we can conditionally compile in the - old accessors for platforms that are not using STL and MSVC++. - - * ace/Task.h: Added ACE_Export macros to the class definitions. - -Sun Nov 17 13:00:02 1996 Douglas C. Schmidt - - * ace: Added Thilo Kielmann's - patches for OSF/1 4.0a. - - * ace/OS: Revised the implementation of ACE_OS::asctime_r() and - ACE_OS::ctime_r() to simplify common cases. However, this may - have broken some code on OSF/1 4.0a. Can someone please check - this? - - * tests/SPIPE_Test.cpp: Conditionally compiled this file so that - we only build the SPIPE test if (1) we're running on Win32 or - (2) ACE_HAS_STREAM_PIPES. Thanks to David Levine for this - suggestion. - - * ace/OS.i (ctime_r): Fixed a typo that was caused by a misplaced - #endif. Thanks to Eshel Liran for - reporting this. - - * ace/Time_Value: Disabled ACE_TRACE within these method in order - to prevent infinite recursion. - - * ace/Log_Record: Originally, when verbose mode was enabled you - can get the date and time down to the seconds. However, it is - useful for performance testings to have milliseconds displayed - in the log. To accomplish this, I changed ACE_Log_Msg and - ACE_Log_Record to they also keep track of and print the microsec - time, as well. Thanks to Luca for suggesting this. - - * ace/Map_Manager.cpp: updated all the ACE_Map_Manager methods so - their read and write Guards use the ACE_*_GUARD macros. - - * ace/Malloc_T.cpp: Updated all the ACE_Malloc methods so their - read and write Guards use the ACE_*_GUARD macros. - - * ace/OS.cpp (svc_run): Added an ACE_DEBUG announcing that an - exception has propagated beyond the outermost svc_run() - function. Thanks to Luca for this suggestion. - - * tests/test_config.h: VxWorks passes in a NULL argv (arrghhh...). - Therefore, to work around this in the ./tests directory, I changed - the ACE_START_TEST macro to take a NAME parameter, and then I - added the following local variable: - - const char *program = argv ? argv[0] : NAME; - - Thanks to David Levine for this fix. - -Sat Nov 16 12:01:08 1996 Douglas C. Schmidt - - * examples/Threads/test_tss2.cpp: Added Detlef's new test for - ACE_TSS. - - * ace/Synch_T.cpp (ts_get): Added Detlef's changes to fix deadlock - problems with ACE_TSS on NT. - -Fri Nov 15 18:01:26 1996 Douglas C. Schmidt - - * ace/ACE_SOCK_Stream.cpp: NT will signal an abortive close - to the opposite party if a socket is closed before all of its - data has been sent out. According to the NT SDK-docs, you should - do a shutdown before the closesocket() in order to prepare a - graceful close. Thus, I've placed an - ACE_SOCK_Stream::close_writer() method just before the call to - ACE_SOCK::close() in the new close() of the ACE_SOCK_Stream - class. Thanks to Tilo Christ for - this suggestion. - - * ace/INET_Addr.cpp: The function ACE_INET_Addr::addr_to_string - was a virtual function that is also inline and defined in the .i - file. Some compilers have a problem with this, so I moved it - into the *.cpp file. In addition, its sister function was also - virtual and is defined as: - - ACE_INLINE int - ACE_INET_Addr::string_to_addr (const char s[]) - - in the .cpp file. I removed the ACE_INLINE directive. Thanks - to Fred LaBar for reporting this. - -Thu Nov 14 16:20:20 1996 Douglas C. Schmidt - - * ace/Malloc_T.cpp: Added a new method to ACE_Malloc that will - return the number of chunks available on the free list. Thanks - to Fred Labar for this. - -Wed Nov 13 01:22:16 1996 Douglas C. Schmidt - - * ace/ReactorEx.cpp (handle_events): I've changed siginfo_t on - Win32 (which was previously typedef'd to int) so that it has the - following structure: - - struct siginfo_t - { - siginfo_t (ACE_HANDLE handle); - - ACE_HANDLE si_handle_; - // Win32 HANDLE that has become signaled. - }; - - Then, I've changed the ACE_ReactorEx::handle_events() method to - look like this: - - // Assign the ``signaled'' HANDLE so that callers can get - // it. - siginfo_t sig (relative_handles[relative_index]); - - if (relative_handlers[relative_index]->handle_signal - (0, &sig) == -1) - - Thus, you can refer to the signaled handle as - - si_handle_ - - within the handle_signal() call back. Thanks to Matthias - Kerkhoff for suggesting this. - - * ace/System_Time.h: Made ACE_System_Time::get_local_time() a - static member function. Thanks to Matthias Kerkhoff - for suggesting this. - - * ace/Message_Queue.h: The internal variables for counting the - bytes stored in the queue were declared as of type int (in - Message_Queue.h). But they are set (e.g. with - ACE_Message_Queue::ACE_Message_Queue) with values of size_t. - - When running tests/Priority_Buffer_Test, the high_water_mark_ is - preset with the value LONG_MAX. While assigning this value from - size_t to int, this becomes -1 and the queue is always believed - to be full :-( The fix is to change the internal data structures - in Message_Queue.h from int to size_t. Thanks to Thilo Kielmann - for reporting this. - - * tests: Fixed problems with the following three tests: - - Priority_Buffer_Test.cpp - Reader_Writer_Test.cpp - UPIPE_SAP_Test.cpp - - When these are compiled with gcc on Digital UNIX 4.0a the static - ACE_Thread_Manager thr_mgr; was never getting initialized due to - gcc compiler bugs. The fix is to replace the static thread - manager with the ACE_Service_Config::thr_mgr() singleton. - Thanks to Thilo Kielmann for - reporting this. - -Tue Nov 12 19:43:12 1996 Douglas C. Schmidt - - * ace/Thread_Manager.cpp (spawn_n): Was missing a 0 after ?. - Thanks to Thilo Kielmann for - reporting this. - - * ace/Log_Msg.h: Created a new macro call ACE_ERROR_BREAK(X) { - ACE_ERROR(X); break;} for use within switch and loop statements. - Thanks to Luca for this idea. - - * ace/Pipe.cpp: Enabled the "reuse addr" flag for accepting and - connecting the Win32 version of ACE_Pipe. Thanks to Luca for - reporting this problem. - - * ace/OS.i (thr_join): ACE_Thread::join () has a default second - parameter (the status) set to 0. This is not handled in - ACE_OS::thr_join(). To avoid getting a system error in NT we - handle this as we did with ACE_OS::thr_create() and the - thr_handle parameter. - - * ace/config-irix6.2-sgic++.h: Updated the set of patches required - for IRIX 6.2. Thanks to Amos Shapira for reporting this. - -Sun Nov 10 15:40:17 1996 Tim H. Harrison - - * ace/Token_Invariants.cpp: Moved static data - declarations out of ACE_Token_Invariant_Manager::instance and - into the header file. This is supposed to help with a g++ - problem on VxWorks. - -Sun Nov 10 13:22:03 1996 Douglas C. Schmidt - - * ace/Pipe.cpp (open): Set the loopback socket into TCP_NODELAY - mode so that we don't block for 200 ms... Thanks to Luca - Priorelli . - - * ace/Thread_Manager: Created a new version of spawn_n() that - gives parameters for stack, stack_size, and also for the - assigned ACE_hthread_t's. Thanks to Thilo Kielmann - for suggesting this. - -Sun Nov 10 13:56:38 1996 Prashant Jain - - * tests/Reactors_Test.cpp (main): Fixed the test so that the - output of the test goes to a log file instead of STDOUT. - -Sat Nov 9 11:23:13 1996 Douglas C. Schmidt - - * ace/Synch.i: Fixed a bug in ACE_Thread_Mutex_Guard. - The call: - - this->owner_ == block ? this->lock_.acquire () : this->lock_.tryacquire (); - - should be - - this->owner_ = block ? this->lock_.acquire () : this->lock_.tryacquire (); - - Thanks to Alexander Smundak for reporting - this. - -Sat Nov 9 01:44:15 1996 Irfan Pyarali - - * ace/Message_Queue: Added forward and reverse iterators to - Message_Queue. Also, added typedefs to Message_Queue for - ITERATOR, and REVERSE_ITERATOR. This makes the Queue like an STL - collection and also makes it easier to use since you don't have - to define types for the iterators. Please see - test/Message_Queue_Test.cpp for an example. - - * ace/Map_Manager: Added reverse iterator to Map_Manager. Also, - added typedefs to Map_Manager for ENTRY, ITERATOR, and - REVERSE_ITERATOR. This makes the Map more like an STL collection - and also makes it easier to use since you don't have to define - types for the iterators and the entry. Please see - test/Map_Manager_Test.cpp for an example. Note that the new - typedefs does not break existing code. - -Fri Nov 8 20:04:26 1996 Douglas C. Schmidt - - * ace/Malloc.h: Fixed a typo on line 176 that reads: - - #include "ace/Sync_T.h" - - It should read: - - #include "ace/Synch_T.h" - - Thanks to Todd Barkalow for - reporting this. - -Wed Nov 6 00:38:02 1996 Douglas C. Schmidt - - * ace/Pipe: Added the const qualifier to the following methods: - - ACE_HANDLE ACE_Pipe::read_handle (void) const; - ACE_HANDLE ACE_Pipe::write_handle (void) const; - - Thanks to Luca for reporting this. - - * ace/config-win32-msvc4.0.h: Redefined - ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES since it looks like - MSVC++ 4.0 still doesn't work. Maybe this is fixed in 4.2? - -Tue Nov 5 03:09:44 1996 Douglas C. Schmidt - - * ace/Strategies.cpp: I'd forgotten to update one of the - accept(*svc_handler) calls to use the new - accept(svc_handler->peer()) syntax. - - * netsvcs/lib/Server_Logging_Handler.cpp: Added a cast to - (COUNTER) 0 when initializing ::request_count_ to avoid problems - on Win32. Thanks to Luca for pointing this out. - - * ace/Thread_Manager: Added a new thr_self() method that return - the unique ID of the thread. This is not strictly necessary - (because a thread can always just call ). - However, we put it here to be complete. Thanks to Hamutal Yanay - for suggesting this. - - * ace/OS.cpp (thr_create): I was accidentally closing down - ::CloseHandle (thr_handle) (where thr_handle is a HANDLE *) when - I should have been doing a ::CloseHandle (handle) instead. - Thanks to Luca for finding this! - -Tue Nov 5 14:26:32 1996 David Levine - - * include/makeinclude/wrapper_macros.GNU: Changed LINK.{c,cc} - commands to use LD instead of CXX. Changed all platform macros - files (except for g++ on VxWorks) to correspond. - - * tests/run_tests.sh: changed -e test to -f for portability and - reordered tests. Thanks to Michael Michael Rueger - for originally creating run_tests.sh, and - for maintaining it, and to Alan Stewart for - suggesting fixes/enhancements. - - * tests/Time_Service_Test.cpp and Tokens_Test.cpp: changed to - return 0 on success instead of 42 - -Fri Nov 1 03:53:39 1996 Irfan Pyarali - - * STL: Added STL files to $WRAPPER_ROOT/STL. This code is a - modified version (changes for VC++ compiler) of the publicly - available implementation of STL from HP. Currently, - ACE_Registry uses these STL classes. - -Fri Nov 1 00:25:01 1996 Douglas C. Schmidt - - * ace/CORBA_Handler.cpp (process_events): There was a very subtle - race condition in the ACE_MT_CORBA_Handler. process_events() - accessed the singleton directly without taking the mutex. At - startup the process_event thread is kicked off from the - constructor and the instance_ is set. Hence the race. The - solution is to attempt to take the mutex before accessing the - instance. Thanks to David Artus for - reporting the problem and providing the fix. - - * ace/Log_Msg.cpp (log): Improved the performance of the Log_Msg - mechanism by not doing any parsing of the format string if the - user has disabled this priority. - - * ace/Reactor.cpp: Added a chance for the open() method of the - Notification_Pipe failing. Thanks to Luca for pointing this - out. - - * ace/Reactor.cpp (handle_events): Added a change to the semantics - of the ACE_Reactor so that it doesn't fall out of the event loop - when signals arrive that it handles. Thanks to Stuart Powell - for this fix. - - * ace/Service_Repository.cpp (remove): Fixed a bug with - Service_Record::remove() that was failing if there were only two - records and we are removing the first one. Thanks to Alex - Villazon for reporting this. - - * ace: Recompiled everything on Solaris with G++ and CC and it - seems to work fine. - - * ace/Module: Replaced the use of char * with const char * for - assigning the Module a name. - - * ace: Split the Task.{cpp,i.h} file into Task_T.{cpp,i,h} in - order to factor out the new non-template ACE_Task_Base and - ACE_Task_Exit classes. This is required for GCC-based compilers - that include the *.cpp files... - -Thu Oct 31 00:36:38 1996 Douglas C. Schmidt - - * ace/Malloc_T.h: Made the destructor of ACE_Allocator_Adapter - virtual. - - * ace/Thread: Reorganized the ACE_Thread so that the - ACE_HAS_THREADS #ifdef is no longer required... - - * ace/Strategies.h: Changed all the destructors to be virtual so - that G++ will stop complaining... - - * ace/Thread_Manager: Reorganized the ACE_Thread_Manager so that - the ACE_HAS_THREADS #ifdef is no longer required... - - * ace/config-win32-msvc4.0.h: Added Dieter Quehl's great hack to - get ACE to compile correctly on Win32 with MFC! - - * ace/Task: I've rearranged the implementation of ACE_Task<> - in the following way: - - 1. Defined a non-template class ACE_Task_Base from which the - ACE_Task<...> inherits (instead of inheriting from - Ace_Service_Object, which ACE_Task_Base now inherits from. - - 2. Move all methods that don't depend on the or - modifers from the ACE_Task template to - ACE_Task_Base. - - There are two motivations for making this change: - - 1. It reduces ``template bloat'' by factoring out common - code that can be shared between ACE_Task - and ACE_Task. - - 2. It makes it possible for the Thread_Manager to use - ACE_Task_Base *'s for managing groups of ACE_Tasks - in a fully polymorphic manner. - - Note that the new changes don't break any existing code that - uses ACE_Task. Thanks to Hamutal Yanay - and Ari Erev's - for suggesting these changes. - - * ace/Thread_Manager: Changed the use of ACE_Task to - ACE_Service_Object because this avoids nasty problems with - template type conflicts. The right solution is probably to - create a new non-template base class for ACE_Task called - ACE_Task_Base and move all the ACE_Task operations into there - that don't involve the Message_Queue directly. I'll need to - think more about this... - - * ace/SOCK_Stream: Added new timed send_n() and recv_n() methods, - which use the underlying timed ACE::send() and ACE::recv() - calls. - - * ace/ACE.cpp: Added new timed send_n() and recv_n() methods, - which use the underlying timed ACE::send() and ACE::recv() - calls. - -Wed Oct 30 00:27:21 1996 Douglas C. Schmidt - - * ace/OS.h: Changed MAXHOSTNAMELEN on Win32 from - (MAX_COMPUTERNAME_LENGTH+1) (which is around 16 or so) to 256. - Thanks to Tilo Christ for this - suggestion. - - * ace: Made #define STRICT a compile time option if the - ACE_HAS_STRICT flag is enabled. This prevents ACE from breaking - existing application (i.e., non-ACE) code. Thanks to Karlheinz - for pointing this out! - - * ace/Synch_T.cpp: Fixed a typo in ACE_Condition::wait - (void). - - return ACE_OS::cond_wait (&this->cond_, this->mutex_.lock_); - - should read - - return ACE_OS::cond_wait (&this->cond_, &this->mutex_.lock_); - - Thanks to Dieter Quehl for - reporting this! - - * ace/Svc_Handler.h: Removed the operator ACE_PEER_STREAM &() from - the ACE_Svc_Handler class since we don't need it anymore due to - the changes below. - - * ace/{Acceptor,Connector}.cpp: Removed the use of operator - ACE_PEER_STREAM &() in the Acceptor::accept() and - Connector::connect() code and replaced it with - svc_handler->peer(). This works much better and is more - intuitive. - -Wed Oct 30 00:30:00 1996 Irfan Pyarali - - * Registry: Added a Name Service implementation to ACE based on - Win32 Registry. The ACE_Registry interface is inspired by the - interface specified in the CORBA Naming Service Specification. - The implementation is done through Win32 Reg*() functions. - Other than providing an OO wrapper for the Win32 Reg*() - functions, ACE_Registry provides an abstraction for iteration - over the elements of the Registry. This only works on Win32 - platforms (unless you are brave enough to reimplement the - Win32 Registry API on UNIX and link it in underneath ACE!). - - * ace/Local_Name_Space_T.cpp: Moved SEH out of methods of - Name_Space_Map to the methods of Local_Name_Space. Some of - the calls to Local_Name_Space methods used the allocator to - either malloc or find or free shared memory. Adding SEH to these - methods ensured that any exception raised due to remapping would - be caught and handled appropriately. - - Also, to fool the stupid MFC compiler, we added _i methods - so that it stopped bitching about destructors not getting called - correctly. - - * Added three new tests to /examples/Naming. Thanks to Lothar for - providing these tests. - -Tue Oct 29 18:10:09 1996 Douglas C. Schmidt - - * ace/ACE.cpp (send): Integrated a new and simpler version of - timed ACE::send(). Thanks to Vital Aza for - coming up with this. - - * ace/XtReactor.cpp: When the ACE_Reactor is constructed it - creates the notify pipe and registers it with the attach() - method. The XtReactor overloads this method BUT because the - attach occurs when constructing the base class ACE_Reactor, the - ACE_Reactor attach() is called not the XtReactor attach(). This - means that the notify pipe is registered with the ACE_Reactor - event handling code not the XtReactor and so notfications don't - work. To get around this we simply close and re-opened the - notification handler in the constructor of the XtReactor. - Thanks to Rodney Skinner for this fix. - - * ace/XtReactor.cpp (schedule_timer): The ACE_Reactor returns a - timer_id from it's equivalent call but the XtReactor always - returns 0. To fix this we simply replaced the "return 0;" in - the function with "return result;" Thanks to Rodney Skinner - for reporting this. - -Tue Oct 29 00:02:44 1996 Douglas C. Schmidt - - * ace/config-win32-msvc4.0.h: Defined the STRICT symbol based on a - suggestion from Luca. STRICT type checking in WINDOWS.H - enhances type safety for Windows programs by using distinct - types to represent all the different HANDLES in Windows. So for - example, STRICT prevents you from mistakenly passing an HPEN to - a routine expecting an HBITMAP. Note that if you have STRICT - type checking enabled in one file, but not in another, the C++ - compiler will generate different external link symbols for a - single function. This will result in link-time errors If you are - mixing STRICT and non-STRICT code, you must be aware of linkage - inconsistencies. In general, all MFC programming and all C++ - should be done with STRICT. If you have legacy C code, then not - using STRICT is acceptable - - * ace/OS.cpp (thr_create): Added a special check for the situation - where we have both ACE_HAS_PTHREADS and ACE_HAS_STHREADS - defined. In this case, we are running on Solaris, where - ACE_thread_t and ACE_hthread_t are the same. Therefore, we can - copy the value of the *thr_id into the *thr_handle. This - ensures that the ACE_Thread_Manager behaves correctly with - respect to suspending and resuming threads and ACE_Tasks. - - * ace/Trace.cpp (ACE_Trace): Changed the use of LM_DEBUG to - LM_TRACE in the constructor and destructor. Thanks to Luca for - this! - - * ace/OS.i: Added a cast to of (HMODULE) handle so that the STRICT - macro would work correctly for Win32. Thanks to Luca for this. - - * ace/config-win32-msvc4.0.h: According to Luca, ACE compiles file - with ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES undefined on NT. So - I undefined it! If there are any problems with this, please let - me know. - - * ace/SOCK_Dgram: Added Luca Priorelli - implementation of recv() for SOCK Dgrams that allows clients to - read from a socket without having to provide a buffer to read. - - * examples/Threads/test_task_four.cpp: This is a new test - program to test the new interfaces. Thanks to Hamutal Yanay - & Ari Erev for this. - - * tests/test_config.h: Added a call to the new ACE_OS::mkdir() - wrapper to create the log directory if one doesn't already - exist. This should solve some nasty problems with NT reported - by Tilo Christ . - - * ace/OS.h: Added a new macro ACE_DEFAULT_DIR_PERMS and changed - the spelling of the existing ACE_DEFAULT_PERMS to - ACE_DEFAULT_FILE_PERMS, which is more accurate. - -Mon Oct 28 21:35:12 1996 Douglas C. Schmidt - - * ace/OS.h: Added a wrapper for the mkdir() system call. We need - it for some of the tests. - - * ace/Task: Changed the name of ACE_Task_Exit<>::set_this() to - ACE_Task_Exit<>::set_task(). Thanks to Hamutal Yanay & Ari Erev - for suggesting this. - - * ace/{Task,Thread_Manager}: Integrated Hamutal - Yanay & Ari Erev's - enhancements to add ACE_Task support - to the ACE_Thread_Manager. This allows the ACE_Thread_Manager to - know about ACE_Tasks directly, rather than knowing - indirectly via their lower-level thread IDs. The changes - are described below: - - - Added a parameter to the activate() method. It is used to - pass an ACE_Task* to spawn_n(). - - - Modified suspend() and resume() to call - thrMgr->suspend_task() and thrMgr->resume_task() instead of - thrMgr->suspend_grp() and thrMgr->resume_grp(). - - - Added an ACE_Task * parameter to spawn_n(). - - - Added an ACE_Task * parameter to append_thr(). - - - append_thr() uses the ACE_Task * input parameter to - initialize the thread descriptor. - - - Added the following methods: - apply_task() - suspend_task() - resume_task() - kill_task() - resume_task() - cancel_task() - find_task() - - num_tasks_in_group() - num_threads_in_tasks() - - task_list() - thread_list() - hthread_list() - - set_grp() Like the current set_grp() but gets an ACE_Task * - as input. - get_grp() Like the current set_grp() but outputs an - ACE_Task *. - - wait_task() - wait_group() - -Sun Oct 27 11:25:00 1996 Douglas C. Schmidt - - * ace/OS: modified the ACE_OSCALL_RETURN macro so that we'll - no longer have zillions of warnings about _result not - used... - - * ace/Synch_T: Changed the use of ACE_Mutex for ACE_TSS to - ACE_Thread_Mutex. - - * ace: Added the necessary template specializations to get ACE - compiled correctly with G++. - - * ace/Log_Msg.h: There were some places in the ACE_{DEBUG,ERROR} - macros that should have been using __ace_error but there still - using errno (which is wrong since this might be changed due to - side-effects of calling ACE_Log_Msg::instance()). I found this - problem due to the use of -Wall with G++! As a result of this - fix, ACE now compiles much more cleanly with gcc -Wall. - - * ace/Strategy: Improved the scheme used to define the PEER_ADDR - type of the ACE_Accept_Strategy so that it will work correctly - on platforms whose C++ compilers aren't quite up to handling all - variants of template typedefs. In particular, many platforms - don't support the use of template typedefs in parameter names... - - * ace/OS: HP/UX omitted the const in the prototype of - const_timewait(). Therefore, I added a new typedef to handle - this and updated all the HP/UX config*.h files. - - * ace: Added a new config file (config-sunos5.5-sunc++-4.1.h) - which reflects the fact that SunC++ 4.1 fixes template bugs that - prevented earlier versions from supporting template typedefs - correctly. The new config file #defines - ACE_HAS_TEMPLATE_TYPEDEFS. - -Sat Oct 26 02:22:25 1996 Douglas C. Schmidt - - * ace: On the advice of David Levine, I compiled ACE with gcc - -Wall and started to fix lots of minor warnings (e.g., - misordered data member initializations). - - * ace/Local_Tokens.h: Changed the destructors of ACE_Mutex_Token, - ACE_RW_Token, ACE_Token_Proxy, and ACE_RW_Token to be virtual. - - * ace/Synch_T.h: Changed the destructor of ACE_TSS to be virtual. - - * ace/OS: Changed the prototype of ACE_OS::select() so that it - uses const ACE_Time_Value *. - - * Updated all uses of ACE_Malloc to use the new ACE_*_MEMORY_POOL - #defines. This makes it possible to use the ACE_Malloc<> scheme - with lame C++ compilers. - - * ace/ACE: Changed the interface of the new timed send/recv calls - to use ACE_Time_Value *, which makes it easier to determine - the blocking semantics at runtime. Thanks to Bill Fulton - for suggesting this. - -Sat Oct 26 15:55:02 1996 Irfan Pyarali - - * ace/OS.h: We determined that MSVC++ is capable of supporting - template typedefs. Therefore, we can enable the - ACE_HAS_TEMPLATE_TYPEDEFS flag, which makes life much easier for - end users! - -Fri Oct 25 23:16:16 1996 Irfan Pyarali - - * examples/Shared_Malloc/test_multiple_mallocs.cpp: Added a new - test that demonstrates the new ability of ACE_Malloc<> to to - handle multiple mallocs rooted at different base addresses. - - * ace/Memory_Pool: Fixed this stuff so that it works even when C++ - compilers can't grok template typedefs. - - * ace: Put all the macros that handle the fact that many C++ - compilers have broken template implementations into one place - (OS.h), rather than having this spread out in many files. - - * In ACE_MMAP_Memory_Pool::init_acquire (), we reset errno to 0 in - the case where the file already exists (and errno == EEXIST). - - * Added an ACE_*_Memory_Pool_Options class to each Memory Pool - class. The Options class allows detailed parameters to be passed - to the constructor of the Memory Pool class. Since a typedef'd - Options class was added to every Memory Pool class, this gave us - the ability to use traits in ACE_Malloc and - ACE_Allocator_Adapter to construct generic Memory Pools that can - be initialized uniquely for each instance of ACE_Malloc. Note - that this new feature only works for C++ compilers that support - template typedefs correctly (e.g., MSVC++ 4.x, SunC++ 4.1, - and the AIX C++ compiler). - - * Added additional constructors to ACE_Malloc and - ACE_Allocator_Adapter to allow Options to be passed in to Memory - Pool. - - * Added an extra field in ACE_Name_Options which allows - specification of the base address of the memory pool. This is - now used by ACE_Local_Name_Space::create_manager() to create an - ACE_Allocator_Adapter. This now allows us to have multiple - ACE_Naming_Context simultaneously in the same process address - space. - - * Also added error checking for constructors (in - ACE_Local_Name_Space and ACE_Malloc) by checking errno - values. This is a "hack" since we currently do not use exception - handling. - -Thu Oct 24 02:43:11 1996 Douglas C. Schmidt - - * examples/Connection/misc/Makefile: The Makefile in - ACE_wrappers/examples/Connection/misc seems to have been - truncated. I replaced it. Thanks to Alan Stewart - for reporting this. - - * examples/IPC_SAP/SOCK_SAP/CPP-{inclient,inserver}.cpp: Updated - these examples to use the new timed send()/recv() operations. - - * ace/SOCK_IO: Added timed send()/recv() methods, using the base - level implementations in class ACE. - - * ace/ACE: Added timed send()/recv() methods. - -Wed Oct 23 19:56:45 1996 Douglas C. Schmidt - - * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Changed the - behavior of the test program so that it doesn't take a - local_addr, but rather will use the default (this prevents a - common problem that happens when users run the test without - reading the README file). - - * ace/ACE.cpp: Added a new method (get_flags) that returns the - current setting of flags associated with handle. - - * Start of a brave new world: ACE is now under CVS version - control... Thanks to David Levine and Chris Cleeland - for making this happen. - -Sat Oct 19 12:33:56 1996 David L. Levine - - * added ACE threads mappings to VxWorks 5.2 tasks in OS.*. - NOTE: this is _untested_ at this point, but only affects - VxWorks code - - * changed name of first argument of ACE_OS::sigprocmask() and - ACE_OS::thr_sigsetmask() from "signum" to "how" to better - represent what it really is. - -Wed Oct 16 01:59:40 1996 Douglas C. Schmidt - - * ace/Log_Record.cpp (print): added Luca's suggestion for checking - if host_name == 0 for the ostream version of print(), as well. - - * Released version of ACE 4.0.32 for testing. - - * ace/Synch.h: Added many small fixes for HP/UX 10.x. Thanks to - Alan Stewart for providing these. - - * ace/OS.h: Added many new ACE_LACKS* and ACE_HAS* macros to - support the MVS port. Thanks to Chuck Gehr - for these. - -Tue Oct 15 11:56:59 1996 Douglas C. Schmidt - - * ace/OS.h: in a continuing effort to protect the ACE namespace, - I've changed ace/OS.h around lines 127-137 so that "SYNCH" and - "SYNCH_MUTEX", etc. are prefixed with "ACE_". Thanks to Alan - Stewart for suggesting this. - - * ace/Local_Tokens.h: Removed an unnecessary parameter name - that was unused. Thanks to Stuart Powell - for reporting this. - -Tue Oct 15 17:03:37 1996 Tim H. Harrison - - * ace/ReactorEx.cpp (handle_events): Fixed a bug in handle_events - so that the correct handlers get called when multiple handles - become signaled simultaneously. Thanks to Ari Erev - for pointing out this bug. I also took - this opportunity to fix a bug when handlers are removed during - handle_events. - - * examples/Reactor/ReactorEx/test_remove_handler.cpp: Added a new - application that tests how the ReactorEx services simultaneous - events and removes handlers. This example also illustrates the - use of the new ACE_Events wrapper. Check - examples/Reactor/ReactorEx/README for more details. - -Mon Oct 14 11:43:18 1996 Douglas C. Schmidt - - * tests: Added a new version of run_tests.sh, which was - contributed by Michael Rueger . - - * examples/Logger/simple-server/Logging_Handler.cpp (handle_input) - and examples/Logger/Acceptor-server/server_loggerd.cpp - (handle_input): Changed from stderr to cerr to work around bugs - with the C run-time libraries on Win32. Thanks to Tilo Christ - for suggesting this. - -Mon Oct 14 11:09:42 1996 Prashant Jain - - * ace/Local_Name_Space_T.cpp (remap): Added processor specific - stuff to remap(). The code was taken from the book "Win32 - Network Programming" by Ralph Davis (p.18) and takes care of - cases specific to the 80x86 processor. The code ensures that the - registers are set properly when we continue execution after an - exception. - -Sun Oct 13 21:18:38 1996 Douglas C. Schmidt - - * ace/Log_Record.cpp (print): Added a test to make sure that the - value returned from ctime_r != 0 (e.g., if time_stamp_ == -1) in - order to avoid crashes. - - * examples/Logger/client/logging_app.cpp (main): Moved the - construction of the ACE_Log_Record log_record object into the - loop so that it will be recreated each time through. If this - isn't done, then we'll be continually "encoding" values into - network byte order that have already been encoded and screwing - things up on little-endian machines (such as Intel). Thanks to - Irfan and Tilo Christ for pointing - me in the right direction on this. - - * ace/Log_Record.cpp: Changed the default constructor so that it - gives default initializations to the data members. - - * examples/Logger/Acceptor-server/server_loggerd.cpp (handle_input): - Fixed a couple of typos where - - Logging_Handler::handle_input (int) - - should be: - - Logging_Handler::handle_input (ACE_HANDLE) - - and - - size_t len; - - should be: - - ssize_t len; - - Thanks to Irfan for finding these. - -Sat Oct 12 08:48:23 1996 Douglas C. Schmidt - - * Released a beta version of ACE 4.0.32 for testing. - - * ace/Log_Record.cpp: rewrote the code a bit to try and avoid - problems on NT when host_name == 0. - - * ace/Log_Record.cpp: Changed the use of ACE_OS::ctime() to - ACE_OS::ctime_r() to avoid problems that might arise when - ACE_Log_Record::print() is called from multiple threads. - - * ace/Log_Record.cpp: Commented out calls to ACE_TRACE to avoid - weird problems with circular dependencies. Thanks to Luca - Priorelli for suggesting this. - - * build/SunOS5.5/examples/Makefile: Added the Logger directory to - the list of targets that are build automatically by Make. - -Fri Oct 11 17:13:03 1996 Douglas C. Schmidt - - * ace: Fixed lots of small warnings revealed when using the - Greenhills compiler on VxWorks. Thanks to David Levine for - this. - - * ace/Pipe.h: In Pipe.h, the return value of ACE_Pipe::close() - isn't explicitly declared, so some compilers gag. Thanks to - David Levine for this. - -Thu Oct 10 12:05:55 1996 Douglas C. Schmidt - - * ace/Thread.cpp: Correctly wrapped the methods in the *.cpp file - so that they are ignored if threads *aren't* supported. - - * ace/Service_Repository.cpp (remove): Added the ACE_MT in front - of all the ACE_GUARD* macros that utilize ACE_Thread* locks in - order to ensure that ACE compiles correctly on all non-MT - platforms. - - * examples/Shared_Malloc/Malloc.cpp: Removed the special purpose - class for PROCESS_MUTEX since ACE_Process_Mutex will now work - for non-MT platforms. - - * examples/Misc/test_dump.cpp: Changed all occurrences of - - cerr << "string " << this << endl; - - to - - cerr << "string " << (u_long) this << endl; - - to work around problems with IRIX 5.3. Thanks to Tilo Christ - for reporting this. - - * ace/config-linux.h: Added a // in front of a stray comment line. - Thanks to Neil Cohen for pointing this out. - - * ace/config-hpux-10.x-g++.h: Added a new config file for HP/UX - 10.x which should fix some problems with templates by using the - G++ compiler. Thanks to for - contributing this. - -Wed Oct 9 14:34:19 1996 Douglas C. Schmidt - - * ace/OS: Changed the logic of socket initialization, which has - been moved out of ACE_SOCK and into ACE_OS. This makes it - possible to program more fully at the ACE_OS API (if such a - crazy thing is really necessary ;-)). - - * examples/IPC_SAP/SOCK_SAP/C-in{client,server}.cpp: Fixed up the - client and server apps so they will work on NT - (i.e., replaced the use of int with ACE_HANDLE). Thanks to Joe - DeAngelis for suggesting this. - - * ace/Synch.h: Now that we've got support for POSIX semaphores on - Solaris, then we'll use them (when they are supported...) as the - implementation of ACE_Process_Semaphore rather than using the - slower ACE_SV_Semaphore_Complex stuff... - - * ace/OS.{h,i}: Added David Levine's support for named POSIX - semaphores. If ACE_HAS_POSIX_SEM is defined, then ACE_Semaphore - will construct a named POSIX semaphore if passed a non-null - name, or an unamed POSIX semaphore if passed a null name. This - is a great addition because POSIX semaphores are more powerful - and useful than the Solaris UI semaphores. Unfortunately, - Solaris 2.5 doesn't support them (yet). - -Tue Oct 8 16:00:00 1996 Irfan Pyarali - - * ace/OS: Integrated Irfan's encapsulation/emulation for Win32 - Events at the ACE_OS level. A new structure ACE_event_t was - created to support Events on non-WIN32 platforms. On WIN32 - platforms ACE_event_t is just a HANDLE. On non-WIN32 platforms, - ACE_event_t uses a combination of mutexes, condition variables, - and counters to emulate Events. Both auto-reset and manual-reset - events are supported. - - * ace/Synch: Integrated Irfan's encapsulation/emulation for Win32 - Events at the C++ wrappers level. There are three wrappers that - were created: ACE_Event, ACE_Auto_Event, and ACE_Manual_Event. - ACE_Event is a wrapper for the ACE_event_t structure. It - provides functionality for signal, wait, pulse, and reset on an - event. ACE_Event supports both auto-reset and manual-reset - events. However, specializations of ACE_Event were created - (ACE_Manual_Event and ACE_Auto_Event) to make it easier to use - Events. - - * examples/Threads/test_manual_event.cpp: A test for manual-reset - events. The test involves the creation and use of a barrier - which uses an ACE_Manual_Event. - - * examples/Threads/test_auto_event.cpp: A test for auto-reset - events. The test involves the use of an ACE_Auto_Event for - signaling threads. - -Tue Oct 8 15:45:01 1996 Douglas C. Schmidt - - * ace/DEV.cpp (ACE_DEV): Removed a stray call to - ACE_IO_SAP::dump(). Thanks to Brad Flood - for this fix. - - * ace/OS.i: Added ACE_HAS_CHARPTR_SOCKOPT for VxWorks. Thanks to - David Levine for this. - - * ace/Dump.cpp (instance): Added an ACE_MT() macro around the - ACE_GUARD_RETURN macro so that this will compile correctly on - non-threaded platforms. Thanks to David Levine for this. - - * ace/OS.h: the declaration of ACE_OS::msgctl needs "struct - msqid_ds" instead of just "msqid_ds" to compile with the - Greenhills C++ compiler. Thanks to David Levine for this... - - * ace/Local_Name_Space_T.h: Added #include "ace/Local_Name_Space.h" - to avoid a problem during template generation. Thanks to - Chris Lahey for this fix. - - * ace/OS.i (getprotobynumber_r): Added a pair of fixes from Chris - Lahey to get the ACE wrappers for the getprotoby*_r() methods to - compile on AIX. - - * examples/Threads: Added two new examples (test_auto_event.cpp - and test_manual_event.cpp) that exercise the new ACE_Event - mechanisms. - - * ace/Synch: Integrated Irfan's encapsulation/emulation for Win32 - Events at the C++ wrappers level. - - * ace/OS: Integrated Irfan's encapsulation/emulation for Win32 - Events at the ACE_OS level. - -Fri Oct 4 08:32:47 1996 Douglas C. Schmidt - - * ace/OS.i: Added David Levine's new ACE_OS::mktemp() implementation. - -Wed Oct 2 13:26:20 1996 Douglas C. Schmidt - - * ace/SV_Message_Queue.i: Changed the casts of (msgbuf *) to - (void *). - - * ace/OS.i: Added David Levine's implementation of inet_addr() for - VxWorks. - - * ace/OS.i: Continued to merge together various parts of Win32 and - UNIX to reduce redundancies. - -Tue Oct 1 15:03:42 1996 Douglas C. Schmidt - - * ace/OS.i: Added Chuck Gehr's new changes to ACE_OS::mutex_init() - and ACE_OS::cond_init() to handle the MVS Pthreads madness. - - * ace/OS.i: Added zillions of #ifdefs for VXWORKS. It's amazing - these guys call themselves POSIX compliant -- lots of stuff is - missing. Thanks to David Levine for doing this! - - * ace/OS.cpp: Added David Levine's implementation of mktemp() - for platforms that don't support it. - - * ace/OS.h: Added a bunch of minor changes for VXWORKS. In - addition, started to factor out common #ifdefs to make the code - easier to maintain. - - * ace/OS.h: Added a new macro for ACE_LACKS_UTSNAME, and factored - this out for both VxWorks and Win32. - - * ace/Time_Value.h: Added support for 2 VXWORKSisms: (1) we need - to #include sys/times.h rather than the standard UNIX sys/time.h - and (2) we need to change const timeval & to const struct - timeval & to keep the Greenhills compiler happy. Thanks to - David Levine for this. - - * ace/INET_Addr.cpp: Added support for the insane VXWORKS - hostGetByName() function. Yikes! Thanks to David Levine for - this. - - * ace/Memory_Pool.cpp: Added a new #define called ACE_LACKS_SBRK - and ACE_LACKS_SYSV_SHMEM, which is enabled on Win32 and VxWorks. - Thanks to David Levine for reporting this. - - * ace/OS.h: Added new macros that #define ETIME for platforms like - VxWorks that don't support it, but do support ETIMEDOUT. - - * ace/OS.h: Added placeholder #defines for USYNC_PROCESS and - USYNC_THREAD when !defined (ACE_HAS_THREADS). Thanks to Neil - Cohen for reporting this. - -Tue Oct 1 00:42:35 1996 Douglas C. Schmidt - - * ace/Message_Block.cpp (size): Member base_ of ACE_Message_Block - was being set to the new memory pointer before the old contents - are saved in method size. So the line - - this->base_ = buf; - - was moved to a place some lines below. Thanks to Marco Sommerau - for detecting this. - - * ace/Message_Queue.cpp: Changed the implementation of the - enqueue_i() method so that FIFO order is maintained when - messages of the same priority are inserted consecutively. - Thanks to Jay Denkberg for - suggesting this. - -Mon Sep 30 22:59:38 1996 Douglas C. Schmidt - - * ace/OS.i (thr_yield): Added a new macro ACE_HAS_YIELD_VOID_PTR - to make pthread_yield work on MVS. Thanks to Chuck Gehr - for this fix. - - * ace/OS: Added a new macro called ACE_HAS_TIMEZONE_GETTIMEOFDAY - that handles problems on MVS. Thanks to Chuck Gehr - for this fix. - -Mon Sep 30 13:45:10 1996 Tim H. Harrison - - * ace/Local_Tokens.h: Updated some documentation in all the Token - files. - -Mon Sep 30 18:01:12 1996 Prashant Jain - - * netsvcs/lib/: Renamed files Logger.{h,cpp} to - Logging_Strategy.{h,cpp} to avoid confusion with Server_Logging - and Client_Logging stuff. In addition, I modified the affected - files, including Makefile, README, and the config files in the - tests directory. - -Sun Sep 29 12:47:37 1996 Douglas C. Schmidt - - * ace/OS.h: Added Chuck Gehr fixes for - MVS to enable signals to work correctly. - - * ace/Time_Value.h: Added an extern "C" { } block around #include - to solve a problem with Linux. Thanks to Padhu - Ramalingam for reporting this. - - * netsvcs/lib/Server_Logging_Handler.cpp: Changed the - initialization of a static template object from ::request_count_ - (0L) to ::request_count_ = 0L. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/Remote_Tokens.h: Moved the inclusion of "Singleton.h" from - Remote_Tokens.cpp to Remote_Tokens.h. This should avoid - template instantiation problems on some platforms (e.g., Irix - 6.2). - - * ace/config-irix6.2-sgic++.h: Changed ACE_HAS_SIGINFO to - ACE_HAS_SIGINFO_T and added ACE_HAS_UCONTEXT_T. Thanks to - Gonzalo Diethelm for reporting this. - - * ace/Token_Invariants.h: The ctor/dtor were private and the - compiler would not allow a template of the class to be created. - I switched them to public, but I wish there was a better way... - Thanks to Gonzalo Diethelm for reporting - this. - - * ace/Synch_T.h: #include'd "ace/Event_Handler.h". Thanks to - Gonzalo Diethelm for reporting this. - - * ace/Synch.h: The parameter name gives warnings when - instantiating templates. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/Process: Changed the definition of the get_pid() method to - getpid() to avoid a conflict with Irix. Thanks to Gonzalo - Diethelm for reporting this. - - * ace/Log_Msg.cpp (log): Added another #elif !defined (ACE_WIN32) - to handle logging for OS platforms that (1) aren't Win32 and (2) - are versions of UNIX that don't support STREAM pipes. Thanks to - Gonzalo Diethelm for reporting this. - - * ace/Acceptor.cpp (handle_signal): Erased the signum parameter - name to avoid a nasty warning about arguments not used when - instantiating templates. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/OS.h: Added the ACE_Export symbol to the definition of - ACE_Str_Buf. This makes it compile and link on NT. Thanks to - Prashant for noticing this (our favorite Win32ism...). - - * ace/Thread.h (ACE_Thread): Removed a default argument for one of - the ACE_Thread::join() wrappers so this won't be ambiguous with - the other join() wrapper. - - * ace/OS: Added a new wrapper for strtok_r(). - -Sun Sep 29 16:12:01 1996 Prashant Jain - - * netsvcs/lib/: Renamed the project file for Win32 from lib.mdp to - netsvcs.mdp. Also the original project file did not include some - files such as Naming_Handler.cpp and Server_Logging_Handler.cpp - and I fixed that. Finally removed two files System_Time.{h,cpp} - which are already present in ace/. - -Sat Sep 28 16:34:56 1996 Douglas C. Schmidt - - * ace/OS: Added a new overloaded select() method that takes a - const ACE_Time_Value &. This is useful for situations where you - are passing in ACE_Time_Value::zero. - -Fri Sep 27 16:20:46 1996 Douglas C. Schmidt - - * ace/ACE: Added a fix for the fact that VxWork's write() call - doesn't take a const char *. - - * ace: Started adding support for VxWorks and GreenHills compiler, - e.g., added the config-vxwork-ghs-1.8.h file. Thanks to David - Levine for getting this rolling! - -Thu Sep 26 00:15:46 1996 Douglas C. Schmidt - - * ace/Timer_Queue: Changed the public interface methods to be - virtual in order to make it possible to override them in - subclasses. This makes it feasible to implement different types - of Timers. - - * ace/OS: Added a wrapper for the strspn() string call. Thanks to - Irfan for noticing this omission. - - * ace/Synch_T.cpp (wait): Changed the line: - - return ACE_OS::cond_wait (&this->cond_, this->mutex_); - - to - - return ACE_OS::cond_wait (&this->cond_, &this->mutex_.lock_); - - Thanks to Dieter Quehl - for noticing this. - - * ace/config-sunos5.4-g++.h: Removed the #define for - ACE_HAS_BROKEN_RANDR and replaced the ACE_HAS_SVR4_SIGNAL_T with - ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES since it looks like the - latest gcc release (2.7.2) fixes this in their own header files. - -Sat Sep 21 10:45:43 1996 Douglas C. Schmidt - - * ace/OS.h: Added a new #define called ACE_HAS_BROKEN_MSG_H to the - config-osf1-3.2.h file and used it in OS.h to work around - problems with prototypes on that platform. - -Fri Sep 20 00:15:29 1996 Douglas C. Schmidt - - * Released version 4.0.31 for testing. - - * ace/Pipe.cpp: Initialize handles_ to ACE_INVALID_HANDLE in - default constructor. Thanks to Tim Harrison for pointing this - out. - - * ace: Copied in new versions of ace.{mak,mdp} for Win32. - - * ace: Added TTY_IO.cpp to the Makefile. - - * ace/config-win32-msvc[24].0.h: Updated the config file so that - it *doesn't* #define ACE_HAS_STRBUF_T since this type clearly - isn't available on Win32! - - * ace: Modified all of OS.i and config-*.h files so that they - would be consisten with respect to handling the size_t and int - differences in socket implementations. Thanks to Chuck Gehr - for helping with this for AIX. - - * ace/ACE.h (ACE): Added a new method called max_handles() that - returns the maximum number of open handles currently supported - by the process. - - * examples/Reactor/Misc/signal_tester.cpp: Revised the test to - utilize the new idioms for programming with signals. - - * ace/OS.h: added a new #define called ACE_DEV_NULL that defaults - to "/dev/null" on UNIX and "nul" on NT. Thanks to David Trumble - for reporting this fix. - - * ace/Log_Msg.cpp: Added some checks to make sure that we don't - try to strdup() if we are passed a NULL pointer. Thanks to Luca - for suggesting this. - - * ace/OS: Move ACE_Str_Buf into OS.{h,i} and remove the Str_Buf.h - file. - - * Makefile: Added the "performance-tests" directory to the list of - directories we build when making ACE. - - * ace: Moved the definition of strbuf from Str_Buf.h into OS.h. - Thanks to Irfan for recommending this. - - * ace/Makefile: Added some additional sed magic on the - Svc_Conf_y.cpp file in order to remove the very last warnings - from MSVC++! - -Thu Sep 19 00:00:17 1996 Douglas C. Schmidt - - * ace/Service_Config.cpp (open): Only initialize the logger to use - STDERR if the user hasn't already set the ACE_Log_Msg::flags(). - Thanks to Tom Leith for suggesting this. - - * ace/OS: Removed all traces of the ACE_HAS_INT_SOCKNAME and - ACE_HAS_LENPTR_SOCKOPT since Chris Lahey's new fixes for AIX - obviate the need for these. - - * ace/OS.i: Only #include if the platform has RPC! - Thanks to Chuck Gehr for suggesting - this. - - * ace: Removed all uses of ACE_HAS_SETOWN and replaced them with - explicit tests for F_SETOWN and FASYNC. This is more portable. - Thanks to Chuck Gehr for suggesting - this. - - * ace/OS: Added a new #define called ACE_HAS_SIZET_SOCKET_LEN to - handle platforms where the length parameter of bind(), - connect(), accept(), etc. uses size_t rather than int. This - helps to get ACE working on MVS. Thanks to Chuck Gehr - for suggesting this. - - * ace/OS: Added Chris Lahey's fixes that make the - getprotoby{name,number}_r() functions work for AIX. - - * ace: Changed the ACE_HAS_STRUCT_HOSTENT_DATA to - ACE_HAS_STRUCT_NETDB_DATA because we use a single symbol to - refer to all of the odd netdb.h stuff that AIX has... - - * ace: Changed all uses of: - - iovec *iovp = (iovec *) alloca (total_tuples * sizeof *iovp); - - to - - iovec *iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); - - to keep the AIX compiler from complaining (falsely) about using - iovp before it is initialized. Thanks to Chris Lahey for - reporting this. - - * ace/OS.h: Added Chris Lahey's changes that handle AIX's - _XOPEN_EXTENDED_SOURCE features without polluting all the socket - implementations! - - * ace/Thread.cpp (spawn_n): Removed an unreferenced local variable - so that the Win32 compiler doesn't complain. - - * ace/OS.h: Added the definition for strbuf{} for NT. - - * ace: Removed the msg_hack.h file since it had OSF and DEC - copyright info in it. Replaced this with Antonio Tortorici's - clever use of _KERNEL and the - new ACE_LACKS_SYSV_MSQ_PROTOS. - - * ace/INET_Addr.h: Updated the documentation to indicate more - clearly the use of getservbyname(). - - * ace/OS.cpp (thr_create): Added basic hooks to support the use of - AfxBeginThread on Win32. This is necessary to allow ACE to work - seemlessly with MFC applications. Added an THR_USE_AFX flag - that can be "or'd" in with the other thread flags in calls to - ACE_OS::thr_create(). If this flag is enabled *and* if we are - compiling with ACE_HAS_MFC enabled, then AfxBeginThread() is - called rather than _beginthreadex(). - - * ace/INET_Addr.h (set): Fixed a typo in the documentation for - set() (the order of "host:port" was backwards...). Thanks to - Brad Flood for reporting this. - -Wed Sep 18 00:36:01 1996 Douglas C. Schmidt - - * ace/SOCK_IO.cpp: Added a new recv() method that allows a client - to read from a socket without having to provide a buffer to - read. This method determines how much data is in the socket, - allocates a buffer of this size, reads in the data, and returns - the number of bytes read. The caller is responsible for - deleting the memory. Thanks to Luca Priorelli - for suggesting this. - - * ace/OS.h: Added a special #ifdef for IRIX 6.2 threads so that - THR_BOUND and THR_SCOPE_SYSTEM are different. Thanks to Gonzalo - Diethelm for reporting this. - - * ace/Message_Block.i (msg_class): Added a new "class" of messages - to ACE_Message_Block: MB_USER. This is useful for writing - extensible applications a la Microslush Windows MSG stuff... - -Tue Sep 17 16:38:44 1996 Douglas C. Schmidt - - * ace/Message_Block: Changed the signature of the - ACE_Message_Block constructors (and init()) so that they take - const char * rather than char *. In addition, changed the - definition of one of the constructors (and init()) so that it - takes a size field in addition to the buffer. - - * ace/Message_Block.cpp (size): Fixed a bug in the - ACE_Message_Block::size() method -- we were failing to deal with - allocators and ownership correctly during a resize. Thanks to - Amos Shapira for reporting - this. - - * ace/Naming_Context.cpp: Removed the source of yet another - warning about "inconsistent dll linkage. dllexport assumed." - - * ace/Mem_Map.cpp (map_it): Added a cast to size_t (file_len) - because by this time we know that file_len >= 0. This avoids - yet another warning on WinNT! - - * ace/Reactor.h: Fixed the remaining warnings about - "signed/unsigned mismatch" in Win32 by changing the type of - cur_size_ from size_t to ssize_t. - - * ace/Log_Msg.cpp: Modified the code so that on NT we use - ACE_SPIPE_Msg rather than ACE_FIFO_Send_Msg. Thanks to Luca - Priorelli for suggesting this. - - * ace/OS.i: Implemented the and put[p]msg() wrappers by being - smart about allocating and copying data. - - * ace/TTY_IO.cpp (control): There was one too many end parentheses - on line 192 of TTY_IO.cpp. Thanks to Dave Trumble - for reporting this fix. - - * ace/Log_Msg.cpp (local_host): Fixed the use of program_name_ and - local_host_ so that they strdup() the values passed by the - users, rather than copying pointers. This avoids problems if - the user doesn't pass in static memory. Thanks to Luca - Priorelli for reporting this. Somehow - this change got lost and I've reapplied it... - - * ace/Log_Record.cpp (round_up): Added an extra + 1 to the length - since otherwise the final '\0' gets lots if len is a multiple of - 8. Thanks to Luca Priorelli for reporting - this. Somehow this change got lost and I've reapplied it. - - * ace/Memory_Pool.h: removed #if defined (ACE_HAS_SIGINFO_T) logic - from both handle_signal() definitions (ACE_Shared_Memory_Pool - and ACE_MMAP_Memory_Pool). Thanks to Chris Lahey for fixing - this. - - * ace/OS.h: Moved the define of SA_RESTART below the #include for - signal.h. Otherwise SA_RESTART will always be defined by OS.h, - since SA_RESTART is defined on AIX in signal.h. Thanks to Chris - Lahey for fixing this. - - * ace/OS.h: Added some new #pragmas to suppress harmless warnings - for the MSVC++ compiler. - -Tue Sep 17 13:20:53 1996 Prashant Jain - - * ace/Local_Name_Space_T.cpp: Modified ACE_Local_Name_Space:: - create_manager () so that all three naming scopes use the - database variable defined in Name Options. This allows us to - specify different names for databases for all three naming - contexts. However, it is imporant to note that this can lead to - potential problems where, for example, a process may use the - same name for PROC_LOCAL database as an already existing - NET_LOCAL database. - -Mon Sep 16 01:31:21 1996 Douglas C. Schmidt - - * examples/Logger/simple-server/Logging_Handler: get_handle(), - handle_input(), and handle_close() want the right types - (ACE_HANDLE instead of int). Thanks to Luca Priorelli - for reporting these. - - * examples/Logger/simple-server/Logging_Acceptor.cpp: Fixed a typo - (Log_Mskg.h should be Log_Msg.h of course...). In addition, - changed the use of -1 to ACE_INVALID_HANDLE. Thanks to Luca - Priorelli for reporting these. - - - * ace: Changed all uses of ACE_HAS_ACE_INLINED_OSCALLS to - ACE_HAS_INLINED_OSCALLS. This was a vestiage of a global - replace gone amok. Thanks to Alan Stweart for - reporting this! - - * ace/Log_Msg.cpp (open): Added a check for the OSTREAM flag in - the ACE logger. Thanks to Rick Orr - for noticing this. - - * Released version 4.0.30 for testing. - - * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp - (Dump_Restore): Deleted an extra "return 0;" within a - constructor (duh...). - - * examples/Threads/test_process_{semaphore,mutex}.cpp (main): - Fixed some annoying G++ compiler bug related problems. We need - to use old-style C casts to prevent ambiguous parsing. - - * examples/ASX/Event_Server/Transceiver/transceiver: Rewrote this - example to illustrate how to use the ACE_Connector and - ACE_Svc_Handler. - - * examples/ASX/Event_Server/Transceiver/transceiver: Finally clued - in and realized that it is just not suitable to implement the - event server transceiver with separate threads for input and - output. It is simply to non-portable to get these shut down - gracefully. I think John Ousterhout was right -- threads are - evil! - - * examples/ASX/Event_Server: Merged the Consumer/Supplier - directories into a single Transceiver directory to reflect the - fact that the Consumer and Supplier were completely symmetrical! - - * ace/Module.cpp (close): Don't delete the Tasks in a Module if - there are still threads running in them. Otherwise we'll end up - with a big mess. - -Mon Sep 16 15:50:45 1996 Prashant Jain - - * performance-tests/Misc/test_naming.cpp: Added a new test to the - performance-tests directory called test_naming which simply does - performance testing on Naming Service. The test runs both the - SYNC and the NO-SYNC version of Naming Service. - -Mon Sep 16 15:22:52 1996 Tim H. Harrison - - * ace/Proactor.cpp (initiate): Added a check for - ERROR_NETNAME_DELETED after ReadFile/WriteFile. Now the - initiating handler is immediately dispatched for EOF *and* - closed connections. Thanks to Luca Priorelli - for suggesting this change. - -Sun Sep 15 00:55:59 1996 Douglas C. Schmidt - - * Fixed all uses of ACE_Service_Config::end_event_loop() and - ACE_Service_Config::run_event_loop() to be - ACE_Service_Config::end_reactor_event_loop() and - ACE_Service_Config::run_reactor_event_loop() since we now have - to consider the other event loops (e.g., Proactor and ReactorEx) - and it doesn't seem right to relegate those to 2nd class status. - - * ace: Finally got fed up with all the #ifdefs required to deal - with extended signals and just changed the - ACE_Event_Handler::handle_signal() method to always use the - extended signal interface. Fortunately, we can use default - values to hid this from callers (though you may need to change - your class definitions if you were assuming the - handle_signal(int) interface. - - * ace/Memory_Pool.h: Changed all the methods of the various - Memory_Pool classes to be virtual so that subclasses can - selectively override them. This shouldn't affect performance - since all existing use cases work directly with the "derived" - classes themselves, so there shouldn't be any overhead since the - compiler can use direct calls rather than virtual function - calls. - - * ace/OS.cpp (thr_create): Changed the call to CreateThread() to - _beginthreadex() and the call to ExitThread() to _endthreadex() - for Win32 in order to make ACE threads work correctly with - Win32. Thanks to James Mansion for - recommending this. - - * ace/ACE: Added two new static functions: read_adapter() and - register_stdin_handler(). These are useful when writing code - that must demultiplexing ACE_STDIN on both Win32 and UNIX. This - works around Win32 limitations that don't allow us to select() - on non-sockets (such as ACE_STDIN). - - * examples/ASX/CCM_App/SC_Server.cpp: Updated this - test so that it should now work correctly on Win32, where it - isn't possible to select() on STDIN... - - * ace/Synch_T: Added a new class to ACE called "ACE_Test_and_Set." - As this name implies, this class implements an atomic ``test and - set'' abstraction. This has all sorts of useful implications, - particularly because it is a template that can be paramaterized - by the type of LOCK (e.g., ACE_Null_Mutex, ACE_Thread_Mutex, - etc.) and the type of TYPE (e.g., int, double, sig_atomic_t, - etc.). In addition, because this "is-a" ACE_Event_Handler it - instances can be registered with the Reactor and used to shut - down event hoops gracefully upon receipt of certain signals - (e.g., SIGINT). In fact, I've redone many of the example - applications (e.g., ./examples/Logger/server/server_loggerd.cpp) - to illustrate how this works. - -Sun Sep 15 20:40:17 1996 Tim H. Harrison - - * ace/ReactorEx.cpp (notify): I've redesigned this code. - Previously, ReactorEx was explicitly managing a handle that it - kept in handles_[0]. handles_[0] was used to implement - ReactorEx::notify, which allowed other threads to wake up the - thread waiting in ReactorEx::handle_events. Now ReactorEx has - an Event_Handler (ReactorEx_Notify) that is registered in the - constructor of ReactorEx. This allows us to treat events from - handles_[0] just like every other event (i.e. by dispatching to - handles_[0]->handle_signal). One of the results of this change - is that code in remove_handler() is simplified a bit. - -Sun Sep 15 17:56:52 1996 Prashant Jain - - * ace/Naming_Context.cpp: Added a new flag to the constructor and - open() method of ACE_Naming_Context that allows us to specify - which Memory_Pool to use when creating ACE_Local_Name_Space - (that is choose between ACE_MMap_Memory_Pool and - ACE_Lite_MMap_Memory_Pool). - - * ace/Memory_Pool.cpp: Added a new class called - ACE_Lite_MMap_Memory_Pool which subclasses ACE_MMap_Memory_Pool - and overrides the sync method so that it is a no-op. - - * ace/Local_Name_Space.cpp: Made some siginificant changes in - ACE_Local_Name_Space. Here is what the problem was: - ACE_Name_Space_Map (which is an ACE_Map_Manager) used an - ACE_RW_Process_Mutex for synchronization. However, since the Map - was kept in shared memory and was shared by all the processes, - it got instantiated only by the first process which came - along. Therefore, only the first process got around to creating - and initializing the lock. - - In fixing the problem, we made some other changes to - ACE_Local_Name_Space and ACE_Name_Space_Map. Both classes are - now template classes. ACE_Local_Name_Space needs to be - parameterized with a Memory_Pool (thus giving us a hook to - implement the NO-SYNC option) as well as a LOCK. - ACE_Name_Space_Map needs to be parameterized by an ALLOCATOR - which is created by ACE_Local_Name_Space. Note that the reason - we need to parameterize ACE_Name_Space_Map is so that we can - pass an ACE_Allocator_Adapter (which subclasses from - ACE_Allocator) with every method. It is not possible to pass an - ACE_Allocator since the ::remap() method relies on an - allocator() method defined on the ALLOCATOR that is passed in - (and ACE_Allocator does not define an allocator() method). - - The purpose of the class ACE_Name_Space_Map still remains the - same. It IS_A Map_Manager and provides the hook to set the - allocator to the process specific one. However, none of its - methods acquire any locks. For that reason, the Map_Manager is - parameterized with the Null_Mutex. All synchronization takes - place inside ACE_Local_Name_Space. ACE_Naming_Context - instantiates ACE_Local_Name_Space (depending upon the scope) and - by default parameterizes it with ACE_MMap_Memory_Pool and - ACE_RW_Process_Mutex. - - Also made some more fixes to ACE_Local_Name_Space. In - create_manager(), after we create the allocator, we now check to - see if the backing store was created successfully and if not, we - return -1. - -Sat Sep 14 00:00:31 1996 Douglas C. Schmidt - - * examples/Logger: Renamed the original server directory to - "simple-server" and added a new directory called - "Acceptor-server" which implements the Logger using the - ACE_Acceptor. Note that almost all of the implementation code - disappears! - - * ace/Local_Name_Server_T.cpp: Removed the name_server_map_ array - and replaced it with the ACE_NAME_SERVER_MAP #define, which is - now contained in OS.h. - - * ace/Malloc.h: Added "virtual ... = 0" to the bind() and - trybind() methods of the ACE_Allocator since they should be pure - virtual functions... - - * ace/Synch{_T}: Separated out the wait (ACE_Time_Value *) and - wait (void) methods in order to optimize the call sequence for - the common case when there is no timeout. - - * ace/Synch: Added a new wait(ACE_Thread_Mutex &) method to - ACE_Condition_Thread_Mutex so that we are consistent with the - templated ACE_Condition_Mutex. - - * include/makeinclude: Changed uses of -pic to -PIC because ACE is - now creating more than 2082 symbols. It's probably time to - split up the library... - - * ace/DEV_IO: Moved the ACE_DEV_Addr instance from ACE_DEV_IO into - ACE_DEV so that it will be available for the ACE_DEV_Connector. - This fixes a bug that prevented us from using the ACE_Connector - in conjunction with the ACE_DEV_* classes. Thanks to Karlheinz - for clarifying what had to occur. - -Fri Sep 13 00:16:32 1996 Douglas C. Schmidt - - * ace/OS.h: Changed the order of #includes so that - comes before . This fixes some bugs with the - Siemens SVR4 C++. Thanks to Antonio Tortorici - for this fix - - * ace/ACE.cpp (handle_timed_complete): Added yet another weird - hack to deal with the insanity that is TLI... - - * ace/Synch.cpp: Replaced all uses of ACE_Thread_Mutex_Guard with - ACE_GUARD macros in order to avoid problems when mutexes fail. - - * ace/OS.h: Changed the definition of the ACE_*GUARD macros so - that they are always enabled, even when we turn off ACE_MT_SAFE. - This avoids a nasty semantic problem for components that use - ACE_Process_Mutex. Thanks to Avraham Nash - for reporting this problem. - - * ace/OS: Removed ACE_OS::fork_exec() since its functionality has - been subsumed by ACE_Process. - - * ace/Thread_Manager: Added a new thread_descriptor_i() method - that *doesn't* grab the lock in order to avoid deadlocks. - - * include/makeinclude/platform_sunos5_sunc++.GNU (CXX): had to add - the -pta option so that we achieve template closure in ACE. - - * include/makeinclude: Added -lthread to the - platform_sunos5_sunc++.GNU file. I don't know how this slipped - through the cracks! - - * ace/{DEV_IO,FILE_IO,SOCK_IO,SPIPE_Stream}: Fixed a braino with - alloca where I was failing to multiply by sizeof (iovec). Isn't - C great? ... Thanks to Chuck Gehr for - reporting this. - - * ace/SOCK_Dgram_Mcast.cpp: Added two changes to the ACE multicast - code in order to get it to work on Win32. The first change is - to put the IP_ADD_MEMBERSHIP setsockopt() call *after* the - bind() (in shared_open()). The second is to convert the - ACE_INET_Addr::get_ip_address() from host byte order into - network byte order. Thanks to Todd L. Montgomery - and Steve Weismuller - for helping with this. - - * examples/Threads/test_barrier2.cpp: Incorporated Karlheinz's - new ACE_Barrier test program. - - * ace/Synch.h: Added Karlheinz's ACE_Null_Barrier class. - -Fri Sep 13 00:30:50 1996 Tim H. Harrison - - * tests/{Tokens_Test,Time_Service_Test}.cpp: Updated tests to use - ACE_Process instead of ACE_OS::fork_exec. - - * ace/Process.cpp: Added a new ACE_Process abstraction that is a - Portable encapsulation for creating new processes. It allows - assignment of STDIN, STDOUT, and STDERR of the new process. On - UNIX, ACE_Process uses fork and exec. On Win32, it uses - CreateProcess. Since we can set the standard handles, we can - mimic UNIX pipes on Win32 by building chains of processes. This - class should be used instead ACE_OS::fork_exec. - - * examples/OS/Process/process.cpp (main): Added new example - application to show how to use ACE_Process. - -Thu Sep 12 00:55:25 1996 Douglas C. Schmidt - - * ace/DEV_IO: Added methods get_local_addr() and get_remote_addr() - so that ACE_Connector will work correctly. Thanks to Brad Flood - for reporting this. - - * ace/Thread_Manager.cpp (thr_self): Added a fix to solve the - problem that Win32 GetCurrentThread() returns a pseudo-handle - rather than a real handle. Now, we just look things up using - the thread id rather than the thread handle. Thanks to Luca - Priorelli" for clarifying this. - - * ace/Proactor.cpp (initiate): Fixed an incorrect set of return - values -- they were reversed. Thanks to Brad Flood - for reporting this. - - * ace/OS.i (thr_cmp): Added a check for - !defined(ACE_HAS_SETKIND_NP) to avoid a problem with OSF/1. - Thanks to Martin Schoeckle for - reporting this. - - * examples/IPC_SAP/DEV_SAP: Updated these examples to use the new - ACE_TTY_IO classes. - - * ace: Moved the TTY_IO code from the - examples/IPC_SAP/DEV_SAP/{reader,writer} directories into the - files TTY_IO.{h,cpp} in the main part of ACE and integrated Brad - Flood's changes for Win32. - - * ace/DEV_IO.i: Changed the mapping of send_n() and recv_n() - methods to use write_n() and read_n() respectively so they will - work on NT. Thanks to Brad Flood for - reporting this. - - * ace/Thread_Manager.h: Implemented a non-synchronized version of - the lookup function for the . This version - assumes that the lock is help. We need this to avoid - intra-class method deadlock on systems (such as Solaris) that - lack recursive mutexes. - - * ace/Log_Msg.cpp (ACE_Log_Msg): made sure to initialize - ACE_Log_Msg::thr_handle_ to 0. I'm not sure how this got - changed... Thanks to Luca Priorelli for - reporting this. - - * examples/Reactor/ReactorEx/test_reactorEx.cpp - (register_thread_exit_hook): Changed hthread_t to ACE_hthread_t. - Thanks to Luca Priorelli for reporting - this. - - * apps/Gateway/Gateway/Channel.h: Due to inconsistencies between - the semantics of sockets and TLI with respect to establishing - non-blocking connections it's not a good idea to use TLI in - conjunction with select(). Therefore, I've #if 0'd out the use - of TLI in the Gateway application. - -Wed Sep 11 00:25:38 1996 Douglas C. Schmidt - - * ace/ACE.cpp (handle_timed_complete): Fixed a typo that was - failing to set n = ACE::recv(...). In addition, rethought how - we figure out if a connection completes for the nth time... - - * ace/TLI.cpp (open): Modified the implementation of open() so - that if oflag == 0 it is given an initial value of O_RDWR. - Otherwise we'll get a "badflags" t_errno. - - * ace/Connector.h (connect): Modified connect() so that the - default value of the flags parameter is O_RDWR. This is - necessary to make TLI_Connector::connect() work correctly by - default. - - * examples/Logger: Updated the example logger client and server to - illustrate more clearly how things like the Singleton Reactor - and the ACE_Reactor timer mechanism work. Thanks to Joe - DeAngelis for suggesting this. - - * ace/Pipe: Added a new constructor that makes it possible to - initialize the from the and handles. - Thanks to Stevan Warwick (sjw@aesthetic.com) for suggesting - this. - - * config-irix5.3-sgic++.h: Added #define for ACE_NEEDS_SYSTIME_H. - Thanks to Stevan Warwick (sjw@aesthetic.com) for reporting this. - - * examples/Logger/server/Client_Acceptor: Fixed some stray - mis-uses of int that should have been ACE_HANDLE. Thanks to - Luca Priorelli" for reporting this. - - * ace/{ACE,Log_Msg}.cpp: Added fixes for hexdump(). Thanks to - Luca Priorelli" for supplying these. - - * ace/Reactor.cpp (ACE_Reactor): Fixed a typo: "this->max_handlep1 - ()" should be "this->handler_rep_.max_handlep1 ()". Thanks to - Scott Shupe for reporting this. - - * apps/Orbix-Examples/Event_Comm: Added a bunch of changes to make - this application compile with Orbix 2.0. Thanks to Mike - O'Malley for the fixes. - - * ace/OS.cpp (thr_create): Added yet another fix for the IRIX 6.2 - pthreads implementation. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/config-irix6.2-sgic++.h: Changed ACE_HAS_IRIX53_GETTIMEOFDAY - to ACE_HAS_IRIX_GETTIMEOFDAY because this also seems to be the - case for IRIX 6.2... Thanks to Gonzalo Diethelm - for reporting this. - - * ace/TLI_{Connector,Acceptor}.cpp: Added tests against NULL - pointers to avoid segmentation faults when the TLI - implementation doesn't allocate memory for the udata and opt - fields of netbuf structures. - - * ace/Mem_Map.i (ACE_Mem_Map): Added an accessor so that callers - can get the name of the filename that is being used as the - backing store. Thanks to the James Mansion - for recommending this. - -Tue Sep 10 00:26:52 1996 Douglas C. Schmidt - - * ace/OS.cpp (thr_create): Modified the thr_create() - implementation for Win32 so that if the caller doesn't care - about this value we can avoid a HANDLE leak. Thanks to the - James Mansion for recommending this. - - * ace/Thread.cpp (ACE_Thread): Moved both definitions of spawn_n() - into the Thread.cpp since they have loops and don't benefit from - being inlined. - - * ace/Svc_Handler.h: Moved operator delete() into the public part - of the class in order to make various compilers happy... - - * ace/OS.i (ACE_OS): Fixed the #define that selects the (union - wait *) alternative of wait(). This original was protected by - ACE_LACKS_POSIX_PROTO, but it should be ACE_HAS_UNION_WAIT. - - * performance-tests: Created a new directory that will contain all - of the ACE performance tests. Move the Synch-Benchmarks and the - TTCP tests from ./apps into here, and also moved the - test_mutex.cpp and test_singleton.cpp files from - ./examples/{Threads,Misc}, respectively. Thanks to Tim Harrison - for this suggestion. - - * ace/OS.i (ACE_OS): in WIN32 closesocket() returns 0 if call is - OK, so I changed the return value to be the other way around. - Thanks to Luca Priorelli for reporting - this. - - * ace: Changed the ACE_NO_POSIX_PROTO #define to something more - meaningful: ACE_LACKS_POSIX_PROTO. Thanks to Jonathan Biggar - for suggesting this. - - * ace/config-sunos4-g++.h: Added the #define ACE_NEEDS_SYSTIME_H. - Thanks to Alexandre Karev for reporting - this. - - * ace/OS: Fixed a bunch of pthreads portability problems that - showed up on OSF/1 4.0. Also added support for asctime_r() and - ctime_r() for OSF/1 4.0. Thanks to Dave Trumble - for reporting these fixes. - - * ace/Synch_T.cpp (ACE_TSS_Read_Guard): Removed a stray "new" that - was causing problems for the ACE_NEW macro. Thanks to Dave - Trumble for reporting this. - - * ace/Local_Tokens.h: Fixed a broken use of "friend", which was - missing the keyword "class." Thanks to Dave Trumble - for reporting this. - - * ace/config-osf1-4.0.h: Included Dave Trumble's - config file for OSF/1 4.0. - - * include/makeinclude/platform_osf1_4.0.GNU: Included Dave - Trumble's platform macros file for - OSF/1 4.0. Also renamed platform_osf1.GNU to - platform_osf1_3.2.GNU to deal with the new version. - - * ace/Proactor: There wasn't a way to destroy an - ACE_Overlapped_File object without closing the ACE_HANDLE - attached to it. Therefore, I added a flag that keeps track of - whether we have to delete this or not. Thanks to Amos Shapira - for suggesting this. - - * examples/Threads/test_future[12].cpp: Updated the tests to use - the new call() semantics in order to shut down the Scheduler's - event loop gracefully. - - * ace/Method_Object.cpp: Added a return value to the call() - routine. This can be used to indicate to the caller that it is - necessary to shut down the event loop. - -Mon Sep 9 02:07:08 1996 Douglas C. Schmidt - - * ace/Service_Config.cpp (ACE_Service_Config): #ifdef's out the - registration of signal handling to control reconfiguration on - Win32 since it doesn't really handle signals very well. Thanks - to John Morey for bringing this to my - attention. - - * ace/CORBA_Handler: Replaced CORBA_[123] with ACE_CORBA_[123]. - - * examples/CORBA: Updated the test programs to work portably - across different versions of Orbix. - - * ace/OS: Added a new wrapper for the getcwd() call. - - * examples/Threads/test_recursive_mutex.cpp: Added the use of - ACE_Guard<> to illustrate how these work with the - ACE_Recursive_Thread_Mutex. Thanks to Gonzalo Diethelm - for motivating me to do this. - - * examples/Threads/test_process_{mutex,semaphore}: Added two new - tests to illustrate how the ACE_Process_Mutex and - ACE_Process_Semaphore work, respectively. - - * ace/Synch: Replaced the implementation of ACE_Process_Semaphore - to use SV_Semaphore_Complex on UNIX platforms in order to get - the same semantics for Win32 and for UNIX. Thanks to the James - Mansion for recommending this. - - * ace/OS.h: Added some parens around the ACE BIT* macros so that - the precedence levels would be dealt with correctly and we don't - get any nasty surprises... - - * ace/{Synch_T,Synch}: Modified the implementation of all the - *acquire()/release() methods so they keep track of whether they - own the mutex. Thus, if a code path needs to give up the mutex - within the lifetime of the mutex, and it calls mutex_.release(), - then the destructor will not call it again. Thanks to the James - Mansion for recommending this. - - * ace/{Synch_T,Synch}: Changed the name of the field result_ to - owner_ for the ACE_Thread_Muetx_Guard and ACE_Guard. This is - more representative of the true purpose of this field. - - * ace/Synch: Updated ACE_Thread_Mutex_Guard so that it has the - same interface and semantics of ACE_Guard. Thanks to the - ever-vigilant James Mansion for - noticing this. - - * examples/Log_Msg/test_log_msg.cpp (main): Added a test of the - new ACE_Log_Msg::priority_mask() functionality. - - * ace/Log_Msg.cpp: Added a new method called priority_mask(), - which updates the new thread-specific priority_mask_ data member - with the new mask and returns the old mask. This is useful for - applications written using ACE_Log_Msg. Often, these have log() - calls with low priority such as LM_DEBUG that don't need to be - printed, but for which the logging code should not be removed. - The priority_mask() scheme makes it possible to selective enable - printing of certain priorities. Thanks to Rochi Febo Dommarco - for suggesting this. - - * netsvcs/clients/Logger/indirect_logging.cpp (main): Modified the - test program so that it randomly selects logging priorities that - are powers of two. - - * ace/Log_Priority.h: Renumbered the LM_* logging flags so that - they are all powers of two. This makes it easy to implement a - scheme for selectively printing only certain logging values. - -Sun Sep 8 10:46:40 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Proactor.cpp: Fixed up the error handling in ACE_Proactor so - that it returns an error both in case of "bad errors," as well - as when ACE_WIN32 isn't defined. Thanks to Amos Shapira - for reporting this. - -Sun Sep 8 14:11:08 1996 Tim H. Harrison - - * examples/Reactor/Proactor/README: Updated the test_proactor.cpp - and README files to clarify the relationship between the - Proactor and ReactorEx. This example uses the Proactor as the - main event loop (not the Reactor or ReactorEx). Thus, this - application can only do overlapped I/O and timers - asynchronously. To be able to react to other Win32 events, see - the ACE_ReactorEx and the examples/Reactor/ReactorEx/ test. - Thanks to Amos Shapira for - pointing out the ambiguity. - -Sat Sep 7 14:09:21 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Task.cpp: Enhanced the activate() method so that the caller - can set the priority and the thread group id. Thanks to - Karlheinz for this suggestion. - - * ace/OS.h: Added default values of 0 for the trailing arguments - for the {mutex,sema,cond}_init() methods. - - * examples/Threads/test_mutex.cpp: Added a new test program that - illustrates the difference between implementations of thread - mutex wrappers that use inheritance and dynamic binding vs. the - ACE approach (which doesn't use inheritance and dynamic - binding). The results I got on my SPARCstation 20 model 712 is - included in the source file. Thanks to James Mansion - for motivating me to write this. - - * examples/Misc/test_singleton.cpp: Added a new test program that - illustrates the performance of using the Double-Checked Locking - pattern compared with the standard "Mutex::acquire()/release()" - approach. Thanks to Jim Coplien - for encouraging me to get these performance numbers. - -Tue Sep 3 00:38:47 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/XtReactor: Added minor fixes to XtReactor to fix complaints - about "bool" not being defined and the destructor - ~ACE_XtReactor() has already having a body. Thanks to Andres - Kruse for these fixes. - - * ace/Mem_Map.cpp: Make sure that this->length_ is initialized to - 0 in ACE_Mem_Map::map (). Thanks to James Mansion - for pointing this out. - - * ace/Thread.i (spawn_n): In ACE_Thread::spawn_n the sense of the - following check is wrong: - - for (i = 0; i < n; i++) - // Bail out if error occurs. - if (ACE_OS::thr_create (func, arg, flags, &t_id, 0, priority, - stack == 0 ? 0 : stack[i], - stack_size == 0 ? 0 : stack_size[i]) != 0) - thread_ids[i] = t_id; - else - break; - - The '!=' should be '=='. Thanks to James Mansion - for pointing this out. - - * include/makeinclude/rules.local.GNU (MAKEFILE): Changed the - $WRAPPER_ROOT/include/makeinclude/rules.local.GNU line that - says: - - sed -e "s:$(WRAPPER_ROOT);$$(WRAPPER_ROOT);g" \ - - so that the double dollar is now "\$$" (prefixed the first - dollar sign with a backslash). If not, my shell will try to - execute WRAPPER_ROOT for some reason. With "\$$" it works as it - should. Thanks to Marius Kjeldahl for - reporting this. - - * Released version 4.0.29 for testing. - - * ace/OS.i (thr_getspecific): Added a new case for OSF/1. Thanks - to Martin Schoeckle for - reporting this. - - * ace/Thread_Manager.cpp (spawn_i): Removed an invalid - initialization of ACE_hthread_t = 0, which doesn't work on all - pthreads platforms because pthreads uses a struct in some - implementations. Thanks to Martin Schoeckle - for reporting this. - - * man: Updated all the nroff and html documentation to conform to - the latest version of ACE. - - * netsvcs/lib/{Name_Handler,TS_Server_Handler}.cpp: Fixed - some mistakes in the ACE_TEMPLATES_REQUIRE_SPECIALIZATION - code so that all the services can be linked together without - multiply defined symbols. - - * netsvcs/lib/Name_Handler.cpp: Fixed a spot where we weren't - passing in an lvalue to send_request(). Why this wasn't showing - up earlier I don't know, but GCC caught it! - -Mon Sep 2 00:47:00 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread_Manager.cpp: Updated all comparisons of ACE_thread_t - and ACE_hthread_t so that they use the ACE_OS::thr_equal() and - ACE_OS::thr_cmp() methods, respectively. Thanks very much to - Martin Schoeckle for identify - the need for this. - - * ace/OS: Added a new method called thr_cmp() which compares two - ACE_hthread_t values for equality. Unfortunately, we can't just - compare these directly via == because on some platforms they are - implemented as structs. Right now, I'm assuming that if - ACE_HAS_TID_T is enabled that we can compare tid_t's using ==. - If this turns out to be incorrect (e.g., if tid_t's are also - implemented as structs, please let me know). - - * ace/Future: Changed the overloaded result() method to a pair of - get()/set() methods. - - * tests/test_config.h: Fixed a bug in the reset() routine. This - was originally deleting the global static ace_file_stream. - However, this was causing segmentation faults if destructors for - objects local to main() were trying to write to the output file. - Therefore, instead of deleting the ostream, we simply flush() - it! - - In addition, also renamed the various functions in test_config.h - to make sure they don't conflict with any other names by - prefixing them with ace_test_... - - * ace: Added many small fixes for IRIX 6.2. Thanks to Gonzalo - Diethelm for reporting all of these! - - * ace/OS: Added a wrapper for the UNIX syscon() system call. - - * ace/LSOCK.cpp (recv_handle): Rearranged the casts so that things - work correctly on platforms with odd definitions ot struct - iovec. Thanks to Gonzalo Diethelm for - reporting this. - - * ace/Task.cpp (ACE_Task_Exit): Rearranged the order in which we - shut down a Task via the Task_Exit hook so that we first - decrement the count of the threads in the task and *then* call - its close() hook. This guards against cases where the close() - hook does something crazy like "delete this". - - * ace/XtReactor.h: Changed #include "X11/Intrinsic.h" to #include - . Thanks to Gonzalo Diethelm - for suggesting this. - - * ace/Future.cpp (ACE_Future): Added some strategic "consts" to - the assignment operator and copy constructor for ACE_Future and - ACE_Future_Rep. - - * examples/Threads/test_task_three.cpp (main): Revised the test so - that it will shut itself down automatically when all the threads - have finished. - - * examples/Threads/test_task_two.cpp (main): Revised this test so - that it doesn't run forever, but only runs either 1000 times or - as many times as the user specifies on the command line. Thanks - to Gonzalo Diethelm for suggesting this. - - * ace/OS.i: Added an extra #else for thr_sigsetmask(), - thr_min_stack(), and thr_kill() for weirdo platforms that don't - conform to the other threading APIs... - -Sun Sep 1 20:15:28 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/ASX/Message_Queue: Changed the use of read(0, ...) and - write(1, ...) to ACE_OS::read(ACE_STDIN, ...) and - ACE_OS::write(ACE_STDOUT, ...) in buffer_stream.cpp and - bounded_buffer.cpp. - - * ace/OS.i: Fixed the errno mapping of the cond_timedwait() - functions so that they set errno to ETIME rather than EBUSY when - timeouts occur. This is necessary to support Solaris and POSIX - pthreads semantics on Win32. - - * build/SunOS5.5/examples/ASX/Message_Queue/buffer_stream.cpp: - Modified the example somewhat so that it uses the Singleton - thr_mgr() method from ACE_Service_Config. - -Sun Sep 1 17:29:58 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/ACE.cpp (map_errno): Added a new static method to the ACE - class. This method allows us to map troublesome win32 errno - values (e.g. WSAEWOULDBLOCK) to values that standard C strerr - function understands. Thank you Microsoft. - - * ace/Log_Msg.cpp (log): Added a call to ACE::map_errno to the %p - option. Now the ACE logger can begin to map Win32 error values - into meaningful strings. - - * netsvcs/lib/lib.mdp: Added a project file for the netsvcs - library. This builds a dll into ace/netsvcs.dll (not into the - netsvcs/lib directory). This reduces the number of paths needed - in %PATH%. - - * examples/Tokens: Renamed this directory netsvsc/clients/Tokens. - - * ace/ace.mdp: Removed wsock32.lib from the ace files listing. - The problem is that we can't assume where MSDEV is installed. I - added wsock32.lib and advapi32.lib to the - build/settings/link/library_modules line. - - * ace/config-win32-msvc4.0.h: Disabled the "C4355: 'this' : used - in base member initializer list" warning. Thanks to Amos - Shapira for figuring this out for us. Although "this" is - unneeded for win32, it is required for compilers on other - platforms (e.g., AIX). - - * ace/Message_Queue.cpp (dequeue_head_i): Andres Kruse pointed out - that we weren't doing head_->prev (0), when dequeuing! - -Tue Aug 27 21:00:25 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU (CXX): Added - Andres Kruse's changes for SunC+ 4.1. - - * ace: Fixed line # 12 of ace/config-sunos4-sun4.1.4.h, - which read: - - "#define ACE_HAS_SVSV_IPC" (ACE_HAS_ ess vee ess vee _IPC) - - to - - "#define ACE_HAS_SYSV_IPC" (ACE_HAS_ ess wye ess vee _IPC) - - Fix another problem: - - #define ACE_LACKS_THREAD_STACK_ADDR (OS.cpp) - - was inconsistently defined in: - - #define ACE_LACKS_THREAD_STACK_ADDRESS (config-aix-4.1.x.h) - - Thanks to Alan Stweart for reporting - this! - -Mon Aug 26 00:34:05 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Updated all of ACE such that the ACE_GUARD* macros now all take - the name of the ACE_*Guard* that they will use as the scoped - locking object. This is important for several reasons: - - 1. It make it more clear what is going on in the code, rather - than hiding behind the macros! - - 2. It is now possible to have multiple ACE_GUARD* macros in the - same scope by calling each scoped locking object a different - name. This is used in the Local_Tokens.cpp file. - - * ace/Synch.h (ACE_Null_Mutex_Guard): Added the locked() method so - that this signature will conform to the one expected of - ACE_Guard. - - * tests: Added a new file Test_Future.cpp, which tests the new ACE - Futures mechanism using Active Obejcts. Thanks to Andres Kruse - for contributing this test. - - * ace: Added three new files: Future.{h,cpp}, - Method_Object.{h,cpp}, and Activation_Queue.{h,cpp}, which - implement Polymorphic Futures. Thanks to Andres Kruse - for contributing these. - - * ace/Stream.cpp (dump): Replaced LM_INFO with LM_DEBUG. - -Sun Aug 25 21:57:57 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace: Rather than using operator new directly, most of ACE now - uses the ACE_NEW and ACE_NEW_RETURN macros. For instance, - rather than writing: - - if (token_manager_ == 0) - token_manager_ = new ACE_Token_Manager; - - we should write: - - if (token_manager_ == 0) - ACE_NEW_RETURN (token_manager_, ACE_Token_Manager, 0); - - The reason for this is that it makes it much easier to ensure - that all dynamic memory allocation errors are treated uniformly. - I've updated the entire ACE library code tonight to make this - usage consistent whenever possible. - -Sat Aug 24 11:51:38 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Time_Value.h: Simplified various things so that the nasty - macros necessary to build DLLs on Win32 will be simplier. In - addition, I will only #include for those platforms - that don't already do this in (i.e., if - ACE_NEEDS_SYSTIME_H is defined in config.h). Please let me know - if you run across any platforms like this. - - * ace/TLI_{Connector,Acceptor}: Added two additional parameters at - the end of the connect() and accept() methods, respectively, so - that the ACE TLI wrappers can be used with X.25. Thanks to Ajit - Sagar for suggesting this fix. - - * ace: Integrated Eric Newton's XtReactor into the Makefile. If - you want to include this into ACE, make sure to define - ACE_HAS_XT in the config.h file. - - * examples/Misc: Integrated the XtReactor tests. - - * ace/OS.i (getservbyname,gethostby*): Fixed a suble omission -- - any calls to socket function should be wrapped by the - ACE_SOCKCALL_RETURN macro in order to make the errnos work - correctly on Win32. - - * ace/OS: Added support for the getprotoby{name,number} wrappers. - Thanks to Joe DeAngelis for suggesting this. - - * ace/Connector.cpp: Fixed a subtle bug in the ACE_Connector. - The problem centered around the following line in - cleanup_AST(): - - if (this->handler_map_.find (handle, ast) == -1) - - This lookup always failed because the key, the handle of the - service handler, was always -1. The service handler's handle is - not set until a successful connection is made and connector - transfers ownership of the handle to the service handler. The - fix for this is to store the ACE_HANDLE in the ACE_Svc_Tuple - *separately* from the ACE_Svc_Handler. Thanks to Bill Gerecke - for being so persistent in tracking this - down. - - * ace/ARGV.cpp (ACE_ARGV): Added a nifty new constructor that - converts argv-style vectors of strings into a single string - (this is the reverse of what the original constructor does!). - - * ace/ACE: Added a new utility method called strecpy(), which - copies to , returning a pointer to the end of the copied - region (rather than the beginning, a la . - -Thu Aug 22 15:43:58 1996 - - * ace/OS.h: Changed the interface of ACE_OS::fork_exec (char - *const argv[]). (There is no longer a separate const char *path - parameter. Now, argv[0] must be the full path name to the - executable. - - * tests/Time_Service_Test.cpp: Updated the Time Service - one-button test to use the new ACE_OS::fork_exec. I didn't - event break it. - - * tests/Tokens_Test.cpp: Updated the Tokens one-button test to - use the new ACE_OS::fork_exec. It actually works now. - - * tests/test_config.h: Added some more #defines to help simplify - path differences between NT and UNIX. Perhaps these should be - moved into OS.h? - -Thu Aug 22 13:46:58 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread_Manager.cpp (ACE_Thread_Control): The status_ member - in ACE_Thread_Control() was not being initialized! This caused - Purify to complain loudly about invalid memory accesses. I have - added an initialiser to ACE_Thread_Control::ACE_Thread_Control - to set status_ to 0. Thanks to Ross Dargahi - for reporting this. - - * ChangeLog: The ACE configuration files "config-irix*.h" defined - 'ACE_HAS_SIGINFO' to indicate that IRIX supports SVR4 extended - signals. This should be 'ACE_HAS_SIGINFO_T' instead. Thanks to - Craig Johnston for reporting - this. - -Wed Aug 21 21:09:01 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Time_Value.h: Added an extra condition, #if defined - (ACE_BUILD_DLL) so that ACE_Svc_Export evaluates to - something. Previously, it was evaluating to nothing in some - files such as Naming_Context.cpp where we were doing #define - ACE_BUILD_DLL and not #define ACE_BUILD_SVC_DLL. - -Wed Aug 21 00:33:17 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/ACE.cpp (format_hexdump): Fixed a minor bug in - format_hexdump(). If the buffer to dump is a multiple of 16 it - prints an extra blank line. ALso fixed the code to use spaces - rather than tabs and put an extra space between the first 8 HEX - bytes and the second. Thanks to Luca Priorelli - for this code. - - * ace/Log_Msg.h (ACE_HEX_DUMP): Added a new logging macro: - - #define ACE_HEX_DUMP(X) \ - do { int __ace_error = errno; \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, 0, errno, ace___->restart (), - ace___->msg_ostream ()); \ ace___->log_hexdump X; \ - } while (0) - - which makes it possible to dump info in HEX. Thanks to Luca - Priorelli for suggesting this. - - * ace/config-win32-msvc4.0.h: Added - - #define _WINSOCKAPI_ - - To avoid multiple inclusions. Thanks to Luca Priorelli - for suggesting this. - - * ace/OS.h: enclosed the #define of WIN32_LEAN_AND_MEAN macro - definition between #ifndef ... #endif to avoid compiler - warnings. Thanks to Luca Priorelli for - suggesting this. - - * ace/SOCK.cpp (win32_fini): Fixed a potential problem in ACE - where any code of the form: - - ACE_DEBUG ((LM_DEBUG, "%d", GetLastError())); - - will reset errno a couple of times before GetLastError() gets - called. So the result is always 0. The fix is to say: - - int ret = GetLastError(); - ACE_DEBUG ((LM_DEBUG, "%d", ret)); - - Thanks to Luca Priorelli for noticing - this. - - * ace/Connector.cpp (create_AST): Was missing a return 0; if we - successfully register a cancellation id. Thanks to William - L. Gerecke for reporting this bug. - - * ace/Module.h: Added a non-existent friend class to get ACE - to stop complaining - - private: - friend class ACE_Shutup_GPlusPlus; // Turn off g++ warning - ~ACE_Module (void); - // *Must* use dynamic allocation. - - Thanks to Eric Newton for the suggestion. - - * ace/Svc_Conf.y (ace_create_service_type): Removed some stray - calls to ACE_ERROR that were left over from earlier - configurations of ACE. Thanks to Gonzalo Diethelm - for reporting this. - - * ace/Log_Msg.cpp (instance): Fixed the #ifdefs so that - ACE_MT_SAFE implies ACE_HAS_THREAD_SPECIFIC_STORAGE. Thanks to - Gonzalo Diethelm for reporting the need for - this. - -Tue Aug 20 13:09:55 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * INET_Addr.cpp, line 84: Irix's C++ is not able to determine - whether to use the set(u_short,ACE_UINT32,int) or the - set(u_short,const char [],int), since on Irix, INADDR_ANY is 0. - I cast the value so that the call would read set(port, - ACE_UINT32(INADDR_ANY)) and everything went fine. Thanks to - Gonzalo Diethelm for reporting this. - - * ace/Synch[_T]: Added a new wait() method that takes a first - parameter which is the mutex used to serialize access to the - condition. This is useful if you want to store the - ACE_Condition object in shared memory (in which case, the use of - a reference to mutex_t doesn't work!). Thanks to Mark Patton - for recommending this approach. - - * ace/Task.h: Added a forward template declaration for - ACE_Task_Exit so that it will compile on HP/UX. Thanks to Tim - Ottinger for pointing this out. - - * ace: changed line 19 of ace/Str_Buf.h from - - #include "OS.h" - - to: - - #include "ace/OS.h" - - Fixed similar problems with OS.h at line 1154 and Dump.h at line - 150. Thanks to Alan Stewart for reporting this. - -Tue Aug 20 20:18:49 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests/TSS_Test.cpp (main): Fixed a small typo. I was referencing - the wrong variable but didn't catch it since it was in the #if - !defined (ACE_HAS_THREADS) section. Fixed the typo and also - renamed the variable called big_count to iterations. Thanks to - Tim Ottinger for pointing this out. - -Mon Aug 19 19:25:50 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * {examples,apps,tests}: Removed the use of zerop from these - files, as well... - - * ace/{Acceptor.cpp,Name_Proxy.cpp,Token.i}: Removed the use of - zerop from these files, as well... - - * ace/Connector.cpp (connect_svc_handler): It looks like our good - friend ACE_Time_Value::zerop isn't getting initialized correctly - on Win32. Therefore, I've replaced it with a direct use of - &ACE_Time_Value::zero. - - * ace/Time_Value.cpp: Removed the static pointer variable "zerop" - since there was no guarantee it was getting intialized before it - is used! Instead of using ACE_Time_Value::zerop, use - &ACE_Time_Value::zero. Thanks to William L. Gerecke - for reporting this problem. - - * ace/OS: Added zillions of changes to make ACE compile with OSF/1 - and its DCE threads implementation. Thanks to Martin Schoeckle - for sending these. - - * ace/config-osf1-3.2.h: Updated this file with fixes for OSF/1 by - Martin Schoeckle . - - * ace/ACE.cpp (handle_timed_complete): Added new logic to - ACE::handle_timed_complete() so that it sets errno to - ECONNREFUSED if the connection is refused by the server. When - you issue an asynchronous connect request, to complete it, you - will use complete() with a timeout. However, complete can fail, - and then it will deallocate any resource, (i.e. close down the - socket handle), also for timeout expiration. So, a user - interested in retrying to complete a connection while the - timeout expires will not use complete(); but rather will use - handle_timed_complete(). In fact, using handle_timed_complete() - the user could detect the reason of a failure (by examining - errno) and decide how to proceed. In the old ACE version the - problem was that, if handle_timed_complete() failed because of - the recv() returning 0, errno remained unchanged and so its - value could be quite misleading with respect to the reasons of - the failure. Thanks to Antonio Tortorici - for this fix and the explanation - above. - - * ace/OS.h: Added support for Borland 5.0's uint64. Thanks to - Hani Yakan for suggesting the strategy to - accomplish this. - -Mon Aug 19 15:52:07 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests: Added new macros to the test_config.h file in order to - simplify the testing. - -Mon Aug 19 00:21:22 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Re-released version 4.0.28 for testing (will change the version - number after Tim gives me the new Token stuff). - - * {netsvcs/lib,tests/test_config.h}: Removed spurious dependencies - on fstream.h and iostream.h. Thanks to Alan Stewart - for reporting this. - -Sat Aug 17 17:25:49 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Reactor: Removed the use of "inline" in the Reactor.cpp - files because this was causing problems with some - compilers/linkers. Thanks to Gonzalo Diethelm - for recommending this. - - * examples/Misc/test_XtReactor1.cpp: Added a new test of the - XtReactor, courtesy of Eric Newton . - - * ace/config-hpux-10.x.h: According to Eugene K. Plaude - , HP-UX 10.01 supports user-level threads - based on the pthreads interface specified by POSIX in 1003.4a, - Draft 4 (which is basically DCE threads). Therefore, I've - enabled the ACE_HAS_DCETHREADS symbol in the config-hpux-10.x.h - configuration file. If this isn't correct, please let me know. - -Sat Aug 17 02:18:39 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * examples/Tokens/manual/README: Added a new Token example - application. The manual test gives users a text-based - interactive interface to local or remote tokens. This is - extremely useful for manually testing the token server and - setting up deadlock scenarios. See the README file for more - details. - - * examples/Tokens/deadlock/README: Updated the deadlock example - application to test the new deadlock detection algorithm for - readers/writer locks. I also added the use of Token Invariants - to ensure correctness of the mutexes and readers/writer locks. - See the README file for more details. - -Fri Aug 16 22:16:05 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/Token_Manager.cpp: Updated all Token code to use - ACE_OS::last_error instead of errno. - -Fri Aug 16 00:03:24 1996 Douglas C. Schmidt - - * After a long hiatus, released version 4.0.28 for testing. - -Thu Aug 15 21:04:35 1996 Douglas C. Schmidt - - * man: Updated all the ACE manual pages and html pages to reflect - recent changes. - - * netsvcs/lib/Server_Logging_Handler.cpp: Fixed an omitted - "ACE_BUILD_SVC_DLL" that was causing linker errors on NT. - Thanks to Luca Priorelli for reporting - this. - - * examples/Log_Msg/test_log_msg.cpp: Added a test for the new - log_hexdump() function. - - * ace/Log_Msg.cpp (log_hexdump): Integrated the log_hexdump() code - into the ACE Log_Msg abstraction. Thanks to Luca Priorelli - for fixing this and for Todd Montgomery - for originally supplying the code. - - * ace/Signal.cpp (ACE_Sig_Handlers): Moved the #endif /* HPUX */ - down to the end of the file so that it works correctly on HPUX. - Thanks to Eric C. Newton for report this bug. - - - * ace/OS.i: Updated the behavior of thr_join() so that it will do - a ::CloseHandle after getting the exit status. Thanks to the - ever vigilant James Mansion - (mansionj@lonnds.ml.com) for noticing this. - - * examples: Finally added Tim and Prashant's examles/OS directory, - which contains a test that illustrates a "portable" means to - spawn processes on NT and UNIX. - - * ace/Malloc_T.cpp (next): Added an overloaded next() method that - returns the name that is bound to the pointer in the - Malloc_Iterator. This is useful in order to differentiate - entries in the pool based on their name. Thanks to Kim Gillies - for suggesting this. - - * ace: Changed all uses of thread_t, thread_key_t, mutex_t, - rwlock_t, sema_t, cond_t, etc. to ACE_* in order to avoid - polluting the name space. Also switched from using macros to - using typedefs whereever possible. Thanks to Gonzalo Diethelm - for recommending this. - - * ace/System_Time.cpp: Added template specializations for - templates used in the ACE_System_Time class. This should solve - some nasty undefined templates problems with GCC... Thanks to - Joseph DeAngelis for pointing out the - problem. - - * ace/Name_Space.cpp: Fixed the file Name_Space.cpp as follows: - - // Name_Space.cpp - #define ACE_BUILD_DLL - //#include "Name_Space.h" - #include "ace/Name_Space.h" - - Thanks to Eugene K. Plaude for fixing this! - - * ace/config-hpux-10.x.h: Added support for TLI since according to - Eugene K. Plaude this should work. If not, - please let me know. - -Wed Aug 14 21:29:46 1996 Douglas C. Schmidt - - * examples/Reactor/Logger: rearranged the Logger directory so it - would be more clear what the client and server programs did and - how to run them. - - * examples: Merged the contents of the SVR4 examples directory - into the IPC_SAP/SOCK_SAP directory so that we can remove the - SVR4 directory altogether (it wasn't contributing much...). - - * examples: Removed the vestigal Win32 tests since ACE now runs on - Win32 and we don't need a separate test directory. - - * netsvcs/client: Renamed the file remaining file in this - directory to logging_app.cpp since I moved the other file to the - examples/Reactor/Logger directory. - - * ace/Reactor.cpp (check_handles): If eh->get_handle() returns -1 - the select() code will index the [-1] element of an array. To - fix this, I've added a check of the value returned from - eh->get_handle(). Thanks to Eric C. Newton for - reporting this. - - * ace/OS.i (sema_wait): Fixed a subtle bug in the Pthreads - wrappers that surfaced on the SGI IRIX 6.2 port. There was some - code that looked like this: - - pthread_cleanup_push(); - int result = 0; - ... - pthread_cleanup_pop(); - return result; - - However, on Irix 6.2, the push introduces a new scope that is - closed by the pop, so result goes out of scope before returning. - Thanks to Gonzalo Diethelm for pointing this - out. - - * ace/OS.h: Changed the definition of pthread_mutex_t and - pthread_cond_t to mutex_t and cond_t to be consistent with other - usage in ACE. Thanks to Gonzalo Diethelm for - pointing this out. - -Wed Aug 14 01:25:47 1996 - - * ace/SPIPE_Acceptor.cpp: Added the PIPE_TYPE_MESSAGE | - PIPE_READMODE_MESSAGE flags to CreateNamedPipe pipe options so - that data is received in messages rather than as a stream. This - is consistent with the behavior of the SPIPE_Connector. When we - have time, we need to extend the interface so that stream pipes - are also supported, as well. - - * SPIPE_Acceptor.cpp: Made the ACE SPIPE in and out buffer sizes - 10 k. The previous size was just 512 bytes. This larger buffer - size helps decrease flow control. - -Tue Aug 13 23:21:46 1996 - - * examples/Connection/blocking: Updated the blocking SPIPE example - application to use a pool of threads in the proactor to handle - incoming client messages. The SPIPE-acceptor example - illustrates how named pipes are used on NT. Once the server - establishes a connection to a single client, it spawns a thread - pool to handle incoming requests via the proactor event - loop. That is, a separate thread from the pool is used to - process each message sent by a client. The size of the thread - pool can be specified by command-line arguments. This example - leverages the queueing performed by the NT kernel to trivially - implement a thread pool architecture. See - examples/Connection/blocking/README for more details. - - * Service_Config.h: Added a parameter (with a default - size of 0) to the proactor accessor method. This allows - applications to specify the size of the thread pool that can - block on Proactor::handle_events. - -Tue Aug 13 02:30:58 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Task: Added a new public interface called thr_count(). This - returns a count of the number of threads running within a Task. - If the value returned is 0, then the Task is a Passive Object. - If the value returns is > 0 the task is an Active Object, and - the value is a count of the number of threads running within the - object at this snapshot of time. - - * ace/OS: I implemented Karlheinz's suggested optimizations for - the ACE condition variable implementation under Win32. Here's - the deal... The original implementation used an internal_mutex - to ensure that access to the count of the number of waiters was - serialized between the waiter and signaler threads. The new - implementation is designed so that only the waiter threads - access the waiter count. Therefore, we can utilize the - external_mutex to serialize access to this, thus eliminating the - need for the internal_mutex. However, this means that code - *must* be written using the standard condition variable idiom, - i.e., - - int resources () - { - external_mutex.acquire (); - - // ... - - cond.signal (); - external_mutex.release (); - } - - Rather than like this: - - int resources () - { - external_mutex.acquire (); - - // ... - - external_mutex.release (); - cond.signal (); - } - - which is what some thread programming books recommend as an - optimization. However, you should be careful not to use this - form since it can lead to "lost wakeup" bugs caused by the fact - that the implementation of ACE_OS::cond_signal will test if the - waiter count > 0 *without holding any locks*!!! - - Fortunately, ensuring this shouldn't be a problem since most ACE - code uses the following idiom: - - int resources () - { - ACE_Guard mon (external_mutex); - - // ... - - cond.signal (); - // Destructor of mon releases external_mutex. - } - - Clearly, there are subtle tradeoffs between performance and - programmability here... - - * ace/Synch: Updated all of the ACE semaphore wrappers to take the - new "max" value as their final constructor argument. - - * ace/OS: Added a new default argument to the end of the - sema_init() method. This allows us to specify the maximum value - of the semaphore (this is only important on NT). Currently, it - is hard-coded to 0x7fffffff in uses. The new approach makes it - possible to set the max to a different value. Thanks to - Karlheinz for requesting this. - - * ace/Message_Queue.cpp: Added an implementation of the dump(). - Thanks Karlheinz. - - * ace/Synch.cpp: Added an implementation of the dump() method. - Thanks Karlheinz. - - * ace: Updated all usage of ACE_Thread_Mutex_Guard so that it now - uses the ACE_GUARD* macros correctly. Thanks to Chris Eich - for pointing out the - need for this. - - * examples/Threads: Added Karlheinz's new test_barrier2.cpp test - program that makes sure that the ACE_Message_Queues are working - correctly when accessed by multiple threads. - - * netsvcs/lib/Server_Logging_Handler.cpp (handle_logging_record): - Fixed an errant use of ACE_Guard, which wasn't properly checking - of the Guard acquired the lock. Thanks to Chris Eich - for pointing this out. - - * ace/OS.h (ACE_GUARD): Added default "ace_mon" implementations of - type ACE_Null_Mutex even in cases where there's no threading - defined so that code accessing ace_mon.release() and - ace_mon.acquire() will compile correctly. - - * apps/Gateway/Gateway/Channel.h: Fixed the code so - that we don't try to use TLI if the platform doesn't support it - (instead, we'll use sockets). Thanks to Marius Kjeldahl - for reporting this problem. - - * examples/ASX/Event_Server/{Supplier,Consumer}: Fixed the code so - that we don't try to use TLI if the platform doesn't support it - (instead, we'll use sockets). Thanks to Marius Kjeldahl - for reporting this problem. - -Mon Aug 12 14:50:47 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/Misc: Added Eric Newton's test case for - his XtReactor integration. - - * ace: Included Eric Newton's code that integrates - ACE with the Xt event loop. This still needs a bit of work - (e.g., making it thread-safe and incorporating signal support), so - I haven't added it to the Makefile yet. If someone can take the - time to fix it up, I'll be happy to integrate it into ACE. - - * ace/Message_Queue.cpp (dequeue_head): Fixed the mother of all - bugs in the ACE_Message_Queue implementation... The problem was - that I was trying to be too clever by optimizing the number of - Condition::signal() calls by only calling signal() when the - queue changed state from empty to non-empty (or full to - non-full). It turns out that this optimization works fine for a - single producer/consumer case, but fails when there are multiple - consumers. The fix was just to call signal() every time. This - should be ok because the underlying Condition variable - implementation will perform the optimization in the correct - fashion. Thanks to the omniscient Karlheinz for detecting this - problem and reporting it. - -Sun Aug 11 15:52:07 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * tests: Made minor changes to test_config.h, SPIPE_Test.cpp, and - UPIPE_SAP_Test.cpp to accomodate the change made to SPIPE_Addr. - SPIPE_Addr now accepts a string of the form [host:]port and then - creates the rendezvous point. Originally, SPIPE_Addr would - assume that the string being passed in was the actual rendezvous - point. - -Sat Aug 10 18:41:21 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * netsvcs/lib/Logger.cpp (init): Added a new service to netsvcs - called ACE_Logger which allows us to control the output of all - the services. The ACE_Logger service can be invoked with - different flags (such as STDERR|OSTREAM) which in turn sets - ACE_Log_Msg to direct the output of all the services to the - appropriate stream(s). Note that if a service needs to stay - unaffected from ACE_Logger, it should be invoked before - ACE_Logger gets invoked. Also note that like other services in - netsvcs, ACE_Logger can also be dynamically linked in. - -Sat Aug 10 14:23:07 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added Steve Huston's patches to get ACE - to compile on UnixWare 2.01. This mostly involved changes to - the internal types used by the socket wrappers. Thanks Steve! - -Fri Aug 9 01:34:19 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * examples/ASX/UPIPE_Event_Server/Options.cpp (print_results): - Added a typedef to avoid problems if a platform doesn't support - prusage_t. Thanks to Marius Kjeldahl for - reporting this. - - * include/makeinclude/platform_linux_pthread.GNU. The line that - say: - - LIBS = -lpthreads -lstdc++ - - was modified to say: - - LIBS += -lpthreads -lstdc++ - - Thanks to Marius Kjeldahl for reporting - this. - -Fri Aug 9 18:26:16 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (reset): Fixed a subtle (yet very - annoying bug). In switching contexts a test program would hang - after a certain number of switches. Having gone through the code - thoroughly and with the aid of Purify, the bug was narrowed down - to an extraneous delete taking place in - ACE_Name_Space::reset(). Essentially, we do not need to delete - ACE_Name_Space_Map::instance() which is actually the - SHARED_MALLOC since it gets deleted in the destructor of - ACE_Local_Name_Space. - -Thu Aug 8 17:55:20 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/SPIPE_Addr.cpp (set): Implemented - ACE_SPIPE_Addr::string_to_addr(). Modified ACE_SPIPE_Addr::set() - using code provided by Brad Flood to create the rendezvous - point. Note that originally ACE_SPIPE_Addr constructor and set() - would take the actual rendezvous point but now they rely on - being passed a string which is of the format "[host]:port" - (where host is optional). The rendezvous point is then created - by extracting from the string the hostname (if any) and also - using the port number as the unique pipe name. Note that this - approach works on both UNIX and Win32. - -Mon Aug 5 20:15:59 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/OS.i (last_error): Fixed a typo. In the set and get methods - last_error(), there should be a check for "if defined - (ACE_WIN32)" and not "if defined (ACE_HAS_WIN32)" - -Wed Aug 7 00:21:42 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Log_Msg.h: Replaced all uses of errno *following calls to - ACE_Log_Msg::instance()* so that we first cache errno in a local - variable called __ace_errno. We need to do this because - ACE_Log_Msg::instance() can reset errno == 0. Thanks to - Tim for pointing this out. - -Mon Aug 5 20:15:59 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/OS.i (last_error): Fixed a typo. In the set and get methods - last_error(), there should be a check for - "if defined (ACE_WIN32)" and not "if defined (ACE_HAS_WIN32)" - -Sat Aug 3 14:52:32 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * examples/Win32/win32_client.cpp: Changed ACE_GUARD_RETURN to - ACE_GUARD in the method Errno::flags since the return type is - void. - - * examples/Connection/non_blocking/CPP-connector.cpp: Made some - minor changes to get things compiling on Win32. The call to - handle_close now takes zero as the first argument (which is - never used). Also the arguments to ACE_SERVER_ADDRESS are now - swapped (hostname followed by port number) to be consistent with - the change made to the macro. Thanks to Brad Flood for - suggesting these changes. - - * examples/Connection/non_blocking/CPP-acceptor.cpp: Made minor - changes to some of the methods to make sure all control paths - return a value. Also changed the default port number to - ACE_DEFAULT_SERVER_PORT_STR to match what the connector tries to - connect to. Thanks to Brad Flood for - suggesting these changes. - - * ace/OS.h (ACE_SERVER_ADDRESS): Modified the macro - ACE_SERVER_ADDRESS so that it creates a string of a server - address with a "host:port" format. Previously the order was - reversed. Thanks to Brad Flood for suggesting this change. - -Sat Aug 3 00:07:26 1996 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * ace: Fixed problems with recursive tracing of ACE_TRACE by - commenting out certain constructors in IPC_SAP.cpp, - FIFO_Send_Msg.cpp, FIFO_Send.cpp, and FIFO.cpp. Thanks to - Karlheinz for finding and reporting these fixes. - -Fri Aug 2 22:19:05 1996 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * ace/ACE.cpp (format_hexdump): Fixed an infamous "off by one" bug - that was causing this to fail on Win32 (time to switch to Java? ;-)). - Thanks to lucapri@mbox.vol.it for finding this. - -Thu Aug 1 14:08:30 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/CORBA_Handler.cpp (activate_service): Fixed a typo caused by - an omitted ENDTRY. Thanks to Garrett Conaty - for noticing this. - -Mon Jul 29 10:03:16 1996 Douglas C. Schmidt (schmidt@lambada.cs.wustl.edu) - - * examples/Win32/win32_client.cpp: There was a typo in one of the - ACE_GUARD macros. Thanks to Tim Ottinger - for pointing this out. - -Mon Jul 22 12:41:22 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Local_Name_Space.cpp (reset): Added a new method - ACE_Name_Space_Map::reset() which deletes the instance of - ACE_Name_Space_Map. This forces instance() to create a new - instance using a new context file in the case of the context - having changed. I make use of this in - ACE_Local_Name_Space::create_manager(). - -Fri Jul 19 12:28:07 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/System_Time.cpp (get_master_system_time): Modified - ACE_System_Time::get_master_system_time() so that if an entry - for the time is not found in shared memory (indicating that no - Clerk is running), then we should just return the local time of - the host. - - * netsvcs/lib/TS_Clerk_Handler.cpp (update_time): Modified - ACE_TS_Clerk_Handler::update_time() so that if the Clerk is not - connected to any servers, is sets the delta time to zero - allowing clients to then use the local time of the host. - -Wed Jul 17 22:19:53 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/UPIPE_Connector.cpp (connect): Added an #ifdef around the - check of ACE_OS::isastream (handle) in - ACE_UPIPE_Connector::connect() since the call is not supported - on NT. - -Thu Jul 11 22:22:57 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/OS.i (kill): Modified ACE_OS::kill so that it works on NT. - It takes a process ID, creates a handle for the associated - process, and calls TerminateProcess on the handle. This is - actually pretty dangerous according to the NT documentation. - Can majorly confuse DLLs. Does the same old thing on UNIX. - - * ace/OS.cpp (fork_exec): Added a fork_exec operation to ACE_OS. - This works on UNIX and NT. It combines the forking and exec'ing - into one call. This has to be combined since Win32 - CreateProcess only starts applications from scratch (unlike UNIX - fork). - - * examples/OS/test_os.cpp: Added a new example application to test - the new ACE_OS::fork_exec and ACE_OS::kill operations. - -Tue Jul 9 13:04:14 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Service_Manager.cpp (reconfigure_services): To improve - portability on Win32 and UNIX I replaced the use of a signal to - trigger reconfiguration to instead make a call to the new - ACE_service_Config::reconfig_occurred() method. This should - actually perform the same as the original approach, since all - the signal handler ever did was to set this flag! Thanks to - Karlheinz for pointing out the need for this. - - * ace/Service_Config.h: Added a new static public method called - reconfig_occurred(sig_atomic_t) to set if a reconfiguration - should take place the next time through the event loop. - -Mon Jul 8 14:20:01 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Time_Value.h: Added "ACE_Export" before all global operators - to allow them to be dll-exportable on NT. - -Mon Jul 8 13:12:05 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/{Message_Block,DEV_IO,SPIPE_Stream}.cpp: Fixed several more - cases of delete array that should have been delete [] array. - Thanks to Tom Leith for pointing out some of these. I can hear - the ghost of James Mansion coming closer... ;-) - - * INSTALL: Added tips on how to install ACE on a Win32 platform - that lacks a network card. - - * ChangeLog: Split ChangeLog-96 into two files (ChangeLog-96a and - ChangeLog-96b) since it was becoming quite large! Thanks to - Chris Lahey for pointing this out. - - * ace/Stream.cpp: Was missing a "return 0;" at the end of the - close() method. Thanks to Tom Leith for - finding this. - -Mon Jul 8 14:20:01 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Time_Value.h: Added "ACE_Export" before all global operators - to allow them to be exportable from Win32 DLLs. - -Sun Jul 7 10:34:48 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.27 for testing. - - * config-sunos5.5*.h: Removed all uses of ACE_HAS_SVR4_SIGNAL_T in - the config files since Solaris 2.5 has consistent signal and - sigaction types (at last!). - - * Installed and compiled ACE successfully with the new SunC++ 4.1 - compiler on Solaris 2.5. However, there seems to be major - problems with the interaction of the SunC++ exception handling - runtime system and the Solaris multi-threading mechanisms. This - is causing the ACE multi-threading tests to bomb with - segmentation faults inside of the _ex_unwind() library function. - If you read the /opt/SUNWspro_3.1/READMEs/c++ file you'll see - why this problem is occurring (apparently due to bugs in the - Solaris libC.so.5 C++ runtime library). - - There seem to be two fixes for this problem: - - 1. Add the following to *all* threads (including main): - - #include - - void *my_thread_entry_point (void *) { - set_terminate (abort); - set_unexpected (abort); - - // Do real work... - } - - This is the approach recommended by the README file in - SUNWspro_3.1. However, it is *clearly* a horrible hack and - very non-portable (therefore, I deem it worthy of Microsoft - ;-)). - - 2. Compile ACE (and applications?) with -noex in order to avoid - this bug. This is clearly not desirable either since it - precludes the use of exception handling with C++ and threads - on Solaris... - - Since ACE doesn't use exceptions internally on Solaris option 2 - seems like the best approach for the time being. When Sun gets - it act together and releases a bug-free library and C++ - software, I'll fix ACE accordingly. - - * tests: Integrated the latest of Prashant's "one-button" tests - into the main ACE release. These will run on both UNIX and - Win32 now. - - * ace/UPIPE_Stream.cpp (recv): Changed the semantics of the - ACE_UPIPE_Stream::recv (char *, size_t, ACE_Time_Value *) - method. Currently, the behavior is to block until *exactly* N - bytes are read. However, this is incorrect for 2 reasons: - - 1. It makes it hard to write a server that doesn't know - precisely how big the messages are from the client. In - particular, if the receiver doesn't know how big the buffer - messages are from the client it will block indefinitely! - - 2. It is redundant with respect to the - ACE_UPIPE_Stream::recv_n(), which also blocks until all N - bytes are received. - - Therefore, I've made the new UPIPE_Stream::recv() method block - only until it's received the first block of data that allows it - to fulfill its size request, or anything that is smaller than - that size. - - * ace/OS.cpp (thr_create): Since POSIX pthreads doesn't provide an - equivalent of THR_NEW_LWP in the pthreads_attr_* functions, I've - added an emulation that should work for Solaris. Basically, if - THR_NEW_LWP is set when ACE_OS::thr_create() is called, we use - the ACE_OS::thr_{get,set}concurrency methods to increase the - number of LWPs by one. - - * ace/Message_Block: Changed the default high water mark for an - ACE_Message_Queue from 4K to 16K. This is useful since it - allows applications to buffer more information before blocking. - - * ace/Log_Msg: Added a pair of operations that allow applications - to acquire and release the synchronization lock used internally - by the ACE_Log_Msg implementation. This allows applications to - hold the lock atomically over a number of calls to ACE_Log_Msg, - which is useful for composite operations like the following: - - // Make sure the following operations are run atomically! - ACE_LOG_MSG->acquire (); - - while (c != '!') - { - if (c_stream.recv (&c, 1) == -1) - ACE_DEBUG ((LM_DEBUG, - "(%t) buffer recv from supplier failed\n")); - else - ACE_DEBUG ((LM_DEBUG, "%c", c)); - } - - ACE_LOG_MSG->release (); - - * examples/IPC_SAP/UPIPE_SAP: Revised all of the UPIPE_Stream - tests to make them more consistent and correct with respect to - the new changes. - - * ace/Stream.cpp (link_i): There was a bug in the link_i() logic - because we weren't also linking the other stream back to our - stream. - - * ace/UPIPE_{Acceptor,Connector}: Modified both of these classes - so that they don't - - * ace/Stream.cpp (close): Modified close() so that it now detects - "double-closes" and ignores anything but the first one. - - * ace/UPIPE_Stream: Updated this class so that it no longer - inherits from ACE_Stream (previously ACE_UPIPE_Stream had - inherited from *both* ACE_Stream *and* ACE_SPIPE). There are - several reasons we shouldn't inherit from ACE_Stream: - - 1. There are operations on ACE_Stream that don't make any sense - on ACE_UPIPE_Stream (e.g., link(), unlink()). - - 2. ACE_Stream isn't really designed to be subclassed (e.g., - it doesn't have virtual methods). - - 3. Not inheriting makes the interface cleaner, e.g., we now use - send() and recv() methods consistently, rather than - send_msg()/put() and recv_msg()/get(). - - 4. The return values from the I/O methods are now more - consistent than they were before. - - * ace/Message_Block: The signature for the copy() method was - incorrect. It should have been copy (const char *, .....) - rather than copy (char *, ....). - - * examples/IPC_SAP/UPIPE_SAP: Together with Prashant, fixed up the - ACE_UPIPE_Stream tests so they more cleverly - (and correctly) utilize and illustrate various ACE concurrency - features. - -Sat Jul 6 18:28:55 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Stream.cpp: Fixed some obscure bugs with Stream::unlink() - and Stream::link(). These bugs were triggered by the - ACE_UPIPE_Stream tests. We need to make sure that we don't have - race conditions in the order in which ACE_UPIPE_Stream close() - down. Prashant and I fixed this problem by (1) adding a lock to - unlink() and link() and then creating unlink_i() and link_i() to - perform the work and (2) being more careful about trying to - unlink our side and the other side of a linked Stream. - - * ace/config-linux.h: According to Istvan Buki - , Linux now supports the - send_msg()/recv_msg() system calls, as well as UNIX domain - sockets. Therefore, I've updated the config-linux*.h file to - remove the existing restrictions. If this turns out not to be - the case, please let me know. - - * ace/LSOCK.cpp (recv_handle): Added a change to some casts to - make ACE compile with Linux. Thanks to Istvan Buki - for reporting this. - - * apps/Gateway/Gateway/File_Parser.cpp (readword): Removed - yet another use of: - - for (int x; foo(x); ) - { - } - - x = 10; - - Which is now a deprecated feature of C++. - - * include/makeinclude: added the -lw library to the GNU G++ - platform*.GNU file in order to pick up the wide-character string - functions. - -Fri Jul 5 18:11:44 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Re-released version 4.0.26 for testing. - - * ace/CORBA_Handler.cpp (activate_service): Revised the code to - use the Orbix macros for TRY/CATCH rather than try/catch. We - need this to make legacy code work! Thanks to Irfan for - pointing this out. - - * ace/Thread_Manager: Fixed a bunch of typos that grelims snuck - in. Thanks to Jack Erickson for reporting this. - - * examples/IPC_SAP/TLI_SAP/ftp-server.cpp: Fixed some typos that - were causing problems on AIX. Thanks to Greg Wilson - for reporting this. - - * examples/Reactor/Misc/test_time_value.cpp (operator<<): Added a - "const" in front of the ACE_Time_Value & in order to make things - work correctly on AIX. Thanks to Greg Wilson - for reporting this. - - * ace/SPIPE_Acceptor: Fixed some missing "returns" that had sprung - up in the #else arm of the SPIPE code. Thanks to Greg Wilson - for reporting this. - - * apps/Synch-Benchmarks/Benchmark: Fixed a typo that was causing - the application to fail to compile on AIX. Thanks to Greg - Wilson for reporting this. - - * Changed all uses of virtual int init (int, char **) to virtual - int init (int, char *[]) to workaround bugs with MSVC++... - - * ace/OS.h: for POSIX pthreads, changed the definition of the - THR_SCOPE_SYSTEM macro so that it has the same value as - THR_BOUND. If this isn't done, then things don't quite work - right when we implement the ACE_OS::thr_create() wrapper. - -Thu Jul 4 13:17:35 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread_Manager: Added a new method called thr_self() that - *does* return a real handle that can be used by - WaitForMultipleObjects, etc. Note that this new approach - cleverly caches this handle in TSS in order to cut down on - search time. Thanks to Jesper for pointing this technique out. - - * ace/OS.i (thr_self): After receiving comments from Jesper, undid - the earlier change today that was returning a duplicated handle - for ACE_OS::thr_self(). It turns out this is a bad idea because - the handle most typically doesn't get released, which leads to - handle leaks. - - * ace/Thread_Manager: Added a new private method called - check_state(). This method extends existing code to be smarter - about how we check to see what "state" (e.g., suspended, - cancelled, etc.) a thread is in. The original code - (which was a macro called ACE_CHECK_STATE) didn't behave - correctly if we asked about the state of a thread that was - different from ourselves! - - * ace/Thread: Modified the public interface to - ACE_Thread::spawn_n() so that it now takes a void *stack[] and - size_t stack_size[]. If stack != 0 it is assumed to be an array - of n pointers to the base of the stacks to use for the threads - being spawned. Likewise, if stack_size != 0 it is assumed to be - an array of n values indicating how big each of the - corresponding stacks are. This is useful since now we can spawn - a group of threads each of which has its own custom stack and/or - stack size. Thanks to Ashish Singhai - for pointing out the need for - this. - - * apps/Synch-Benchmarks: Updated the Synch benchmarks so that most - of them work again. The trick is *not* to use ACE_OS::sleep () - (which doesn't seem to be thread-friendly...) but instead to use - ACE_OS::select() as a timer. - - * man: updated the manual pages and html pages to reflect all the - recent changes. - - * ace/Malloc_T.cpp (open): Added a check to make sure that if - init_acquire() fails we don't let this go by undetected... - Thanks to Karlheinz for pointing out the need for this. - - * ace/OS.i (thr_getconcurrency): Fixed a subtle bug with the - ACE_OS::thr_getconcurrency() function. I was mistakenly using - ACE_ADAPT_RETVAL for the result of ::thr_getconcurrency(), which - is clearly wrong! - - * ace/Service_Record.cpp (remove): Fixed a typo that was causing - the removals of Modules in a dynamically configured Stream to go - into infinite loops. - - * ace/OS.i (thr_self): Modified the ACE_OS::thr_self (hthread_t &) - function so that it will return a *duplicate* of the current - thread's pseudo-handle returned by GetCurrentThread(). This - change is necessary because the pseudo-handle returned by - GetCurrentThread() is pretty useless (e.g., it can't be used by - any other thread to "wait" for this thread to exit). This new - behavior is used in the examples/Reactor/ReactorEx test program. - - * ace/Service_Config.cpp: I'd forgotten to assign the - delete_svc_rep_ flag when dynamically allocating the svc_rep_. - This is fixed now. - -Wed Jul 3 20:09:44 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Added a new subdirectory called $WRAPPER_ROOT/tests that - contains the first phase of the ACE regression tests. - - * ace/Reactor.cpp (check_handles): Fixed an earlier fix with the - ACE_Reactor::wait_for_multiple_events() method. The earlier fix - had changed the exit condition of do/while loop to be - - while (nfound == -1 && this->handle_error () >= 0); - - However, this was causing signal handling to break... - Therefore, the right fix is to keep the exit test as: - - while (nfound == -1 && this->handle_error () > 0); - - and instead fix handle_errors() so that it returns 1 if we're - able to fix a bad handle... Thanks to Prashant and Irfan for - tracking this down. - - * ace/OS: Finally broken down and added a new pair of ACE_OS - functions called "last_error()". These basically call - SetLastError/GetLastError on Win32 or they set/get errno on - UNIX. - - * ace/config-linux.h: Fixed an annoying problem with - struct msghdr in Linux by adding - - #define msg_accrights msg_control - #define msg_accrightslen msg_controllen - - to the config-linux*.h files. Thanks to Michael R"uger - for suggesting this. - - * ace/SOCK_IO.cpp (recv): Fixed a "bug" where - ACE_SOCK_IO::{send,recv} allocates with: - - iovec *iovp = new iovec[total_tuples]; - - But deletes with: - - delete iovp; - - Thanks to the ever vigilant James Mansion - (mansionj@lonnds.ml.com) for noticing this. - -Tue Jul 2 23:48:38 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/Service_Config.h: Added ReactorEx to the singleton resources - that the Service_Configurator holds. This includes accessors, - destruction hooks, and event loop methods. - - * examples/Reactor/ReactorEx/README: There is a new example - application for the ReactorEx. Please check out - examples/Reactor/ReactorEx/README for details. - -Tue Jul 2 18:43:12 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * Released version 4.0.25 for testing. - - * examples/ASX/Message_Queue/priority_buffer.cpp: Added a new test - program that illustrates the use of the new Message_Queue - priority scheme. - - * ace/Message_Queue: Added new support for prioritized message - enqueueing into the ACE_Message_Queue. Now, when an application - uses ACE_Message_Queue::enqueue() the new Message_Block is - inserted into the queue according to its msg_priority(). When - dequeue_head() is used the item retrieved will then be the item - of "highest priority" (priorities range from 0 to MAX_LONG). - Note that the semantics of the existing enqueue methods, - enqueue_head() and enqueue_tail(), remain unchanged. - - * ace/Message_Block: Changed the type of the priority in a message - block to u_long rather than u_char. This gives us a much - greater range of priorities! - -Mon Jul 1 01:12:08 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) - - * ace/Thread.h: Changed a couple of mistyped comments. Thanks - to the eagle eyes of Andres Kruse for noticing this. - - * ace/OS: added more comprehensive support for UNICODE to - both the Win32 and UNIX OS adaptation layer. This new - support automagically selects the appropriate implementation - (i.e., either char * or wchar_t *) for the string comparison - routines (which are used in places like ACE_Mem_Map). - - * ace/Service_Config: Split up the ACE_Service_Config::close() - method into two parts: close_svcs() and close_singletons(). - This makes it possible to remove svc.conf services without - destroying Singletons like the Proactor, Reactor, etc. Thanks - to Karlheinz for recommending this. - - * ace/Service_Config: Added flags for remembering who created the - Singleton Proactor, Allocator, Thread_Manager, and - Service_Repository (in addition to the Reactor, which I did last - week). If we created these Singletons, then we are responsible - for freeing them up. Thanks to Karlheinz for pointing out the - need for this. - -Mon Jul 1 16:26:27 1996 Prashant Jain (pjain@merengue.cs.wustl.edu) - - * ace/Connector.cpp: Added two new arguments to connect () namely, - "int flags" and "int perms". The Connector can now pass these - two arguments to its template arguments (e.g., SOCK_Connector, - SPIPE_Connector, etc.) when calling their connect() method. A - consequence of doing this was that we had to modify the - signature of the connect() method on some of the IPC_SAP classes - (e.g., TLI_Connector, SOCK_Connector, and LSOCK_Connector). - Note that these changes may break some existing code, - particularly with TLI_Connector (see below), so beware... - - * ace/TLI_Connector.cpp: Changed the order of the connect() - arguments to be more consistent with the rest of the IPC_SAP - classes used with the Connector. Please note that existing - examples which use TLI_Connector may need to be modified as a - result of this change. - - * ace/OS.i (open): Modified ACE_OS::open() to use the argument - perms to turn the flag FILE_FLAG_OVERLAPPED on and off for - Win32. - - * ace/Service_Config.cpp (end_proactor_event_loop): Added new - methods run_proactor_event_loop() and end_proactor_event_loop() - which call handle_events on the Proactor. - -Mon Jul 1 02:15:34 1996 Tim H. Harrison (harrison@lambada.cs.wustl.edu) - - * ace/Proactor.h: Made ACE_Proactor an ACE_Event_Handler so that - it can be registered with the ACE_ReactorEx. ACE_Proactor - associates the same global HANDLE with every overlapped I/O - operation. This global HANDLE can be registered with the - ACE_ReactorEx. Therefore, by using the - ACE_Proactor::handle_signal method as an adapter, we can now - dispatch overlapped I/O and other "waitable" objects from a one - ACE_ReactorEx running in a single thread of control. Thanks to - James Mansion for setting us on the - right path! - - * ace/ReactorEx.h: Added a ACE_ReactorEx to encapsulate Win32 - WaitForMultipleObjects(). The ACE_ReactorEx handle_events() - method calls ACE_Event_Handler::handle_signal when the - corresponding Win32 HANDLE becomes signaled. This gives us a - uniform abstraction for dispatching all "waitable" objects on - Win32, including events related to I/O completion ports and - events related to other forms of NT synchronization (such as - mutexes, semaphores, threads, etc.). - - * ace/Timer_Queue.h (calculate_timeout): Added a calculate_timeout - method to ACE_Timer_Queue. Also removed the same method from - ACE_Reactor. This is so Reactor, ReactorEx, and Proactor can - all reuse the calculations required by the Timer_Queue without - duplicating code. diff --git a/ChangeLog-97a b/ChangeLog-97a deleted file mode 100644 index 0563ae1c093..00000000000 --- a/ChangeLog-97a +++ /dev/null @@ -1,9203 +0,0 @@ -Thu Jul 3 20:36:19 1997 Nanbor Wang - - * performance-tests/Misc/childbirth_time.cpp: Changed the - parameter type of "Profiler" from int to size_t to make g++ - happy. - -Thu Jul 03 20:03:18 1997 David L. Levine - - * ace/Reactor.cpp (remove_handler): added ACE_UNUSED_ARG - when NSIG != 0. - -Wed Jul 2 23:41:43 1997 Nanbor Wang - - * performance-tests/Misc/childbirth_time.cpp: Fixed some typos. - -Wed Jul 2 23:13:10 1997 Douglas C. Schmidt - - * performance-tests/Misc/childbirth_time.cpp: Revised the - code to use ACE programming style. - -Wed Jul 02 23:02:24 1997 Douglas C. Schmidt - - * ACE version 4.2.15, released Wed Jul 02 23:02:24 1997. - -Wed Jul 2 22:23:49 1997 Douglas C. Schmidt - - * ace/Service_Config.cpp: Used the new ACE_LACKS_UNIX_SIGNALS - macro to reduce the #ifdef complexity somewhat. - - * ace/config-{chorus,win32-common}.h: Added #define for - ACE_LACKS_UNIX_SIGNALS. - - * ace/OS.h: If a platform (e.g., Chorus) doesn't support signals - then #define NSIG 0. - - * ace/Reactor.cpp: Chorus does not support signals. Make the call - to register/remove_handler(sig_set, evnet_handler) return - succesfully so that some of the examples and test programs do - not need to be changed. Thanks to Wei Chiang for this. - - * ace/config-chorus.h: Added a new macro for - ACE_LACKS_NAMED_POSIX_SEM to handle Chorus. Thanks to Wei - Chiang for this. - - * ace/OS.i: Define macros ACE_PTHREAD_CLEANUP_* so that the - related code does not need to be surrounded with #ifdefs. - Thanks to Wei Chiang for this. - - * ace/OS.i: Chorus does not support named semaphores. The code - that to do with names in sema_init() and sema_destory() is - therefore disabled. Thanks to Wei Chiang for this. - - * ace/config-chorus.h: Added support for ACE_LACKS_PTHREAD_CLEANUP - and ACE_HAS_POSIX_SEM to the Chorus port. Thanks to Wei Chiang - for this. - -Wed Jul 2 17:37:09 1997 Douglas C. Schmidt - - * ace/Hash_Map_Manager.cpp: Clarified the behavior of close_i() a - bit more. - -Wed Jul 2 09:54:36 1997 Douglas C. Schmidt - - * ace/Hash_Map_Manager.cpp: Fixed a couple more size_t->u_long - conversions for ACE_Hash_Map_Manager::hash(). This didn't harm - anything but it's good to be consistent. - -Wed Jul 2 16:46:59 1997 Nanbor Wang - - * performance-tests/Misc/childbirth_time.cpp: Added this program - to measure child process/thread creation mechanisms on various - platforms. Native thread creation test only supports Solaris - and NT threads so far. But you can still use ACE_OS::thr_create - method on your platform if not supported. - -Wed Jul 2 15:59:53 1997 Darrell Brunsch - - * ace/High_Res_Timer.cpp: Created a function get_registry_scale_factor - that finds out the speed of the processor using the NT registry (in - megahertz). This means that ACE_High_Res_Timers should automatically - get the correct scale factor. - - * tests/Timer_Queue_Test.cpp: Removed the call to - get_env_global_scale_factor(). - -Wed Jul 2 15:39:33 1997 Tim H. Harrison - - * ace/Process.cpp: Modified spawn to check for the NO_EXEC - flag after forking on UNIX. If it's set, spawn returns the - child pid without exec'ing. Updated the NT version to - always return the child pid on success. - -Wed Jul 02 10:55:23 1997 David L. Levine - - * tests/SPIPE_Test.cpp,UPIPE_SAP_Test.cpp: tweaked the static - functions a bit to avoid warnings about unused statics on VxWorks. - -Wed Jul 02 00:16:07 1997 Douglas C. Schmidt - - * ACE version 4.2.14, released Wed Jul 02 00:16:07 1997. - -Tue Jul 1 22:49:58 1997 Douglas C. Schmidt - - * ace/Strategies_T.h: Changed the return value of all the hash() - methods to be u_long. - - * tests/Map_Manager_Test.cpp (hash): Changed the return value of - all the hash() methods to be u_long. - - * ace/SString.cpp: Changed the return value of all the hash() - methods to be u_long. - - * ace/Hash_Map_Manager: Changed the return value of hash() - to return a u_long in order to (1) be consistent with - the return value of hash_pjw() and (2) give the maximal - range for the hash function. Thanks to Marina Spivak - for reporting this. - -Tue Jul 01 14:47:22 1997 David L. Levine - - * ace/High_Res_Timer.{h,i} (gettime): use gettime () static function - to wrap all calls to ACE_OS::gethrtime (). On ACE_WIN32, if the - global scale factor has not been set, then gettime () uses - ACE_OS::gettimeofday () instead of ACE_OS::gethrtime (), because - gettimeofday doesn't need the scale factor. - -Mon Jun 30 17:28:53 1997 Douglas C. Schmidt - - * Makefile (RELEASE_FILES): Removed the rpc++ directory from the - main release since this doesn't seem to be widely used and the - GPL copyleft confuses people. - -Mon Jun 30 15:08:04 1997 David L. Levine - - * include/makeinclude/platform_vxworks5.x_g++.GNU: added -lgcc - to LDFLAGS. - -Mon Jun 30 12:00:02 1997 Douglas C. Schmidt - - * ACE version 4.2.13, released Mon Jun 30 12:00:02 1997. - -Sat Jun 28 08:27:27 1997 David L. Levine - - * ace/OS.h: added definitions of ACE_SHLIB_HANDLE and - ACE_DEFAULT_SHLIB_MODE on platforms other than - ACE_HAS_SVR4_DYNAMIC_LINKING and hpux. - - * ace/OS.i: split definitions of ACE_OS::cond_* member - functions into two: for ACE_WIN32/VXWORKS and all others. - That allows us to break the circular dependencies between - those functions and the ACE_OS::sema_* member functions. - - * ace/Svc_Conf_y.cpp: commented out unused args and wrapped - assignments in "if" conditionals with parenthesis to avoid - g++ warnings. - - * ace/{ACE,INET_Addr,OS}.cpp (VxWorks only): added ACE_UNUSED_ARG - calls. - - * ace/Parse_Node.cpp (ACE_Stream_Node,ACE_Dynamic_Node,ACE_Dummy_Node - constructors): reordered initializers to match declaration order. - - * ace/Profile_Timer.h (elapsed_time): commented out unused arg "et". - - * ace/Read_Buffer.cpp (rec_read): initialized local variable "c" to - make sure that it is always defined before use. - - * ace/SPIPE_Acceptor.cpp (remove): don't declare local variable - "result" if ! ACE_HAS_STREAM_PIPES, because it's not used in - that case. - - * ace/config-vxworks5.x-g++.h: added ACE_LACKS_IOSTREAM_FX, - ACE_LACKS_LINEBUFFERED_STREAMBUF, and ACE_LACKS_SIGNED_CHAR. - - * ace/IOStream_T.h (ipfx): comment out unused variable "need". - - * platform_vxworks5.2_g++.GNU: added -Wall now that the ACE library - builds cleanly with it. - - * platform_vxworks5.x_g{++,hs}.GNU: renamed 5.x instead of 5.2. - - * netsvcs/lib/Token_Handler.cpp: reordered initializers to match - declaration order. - - * tests/SV_Shared_Memory_Test.cpp: moved template specializations - so that they're not done on platforms that don't support SV IPC. - - * examples/IOStream/client/iostream_client.cpp, - examples/IOStream/server/iostream_server.cpp: - use ACE_HAS_STRING_CLASS rather than __GNUC__ to determine whether - the platform has a String class. - -Fri Jun 27 13:10:46 1997 Douglas C. Schmidt - - * ace: Changed the name of config-vxworks5.2-g++.h to - config-vxworks5.x-g++.h since it works with 5.2 and 5.3. - - * examples/Mem_Map/IO-tests/IO_Test.cpp: Fixed some bugs that were - preventing this from running correctly. - -Fri Jun 27 13:37:37 1997 Steve Huston - - * ace/Svc_Conf.y: Finished the sanity checks started below. - -Fri Jun 27 11:55:13 1997 Darrell Brunsch - - * ace/Timer_Queue_T.cpp: added a check for an empty queue in expire - -Fri Jun 27 07:53:58 1997 David L. Levine - - * tests/Message_Queue_Notifications_Test.cpp (handle_output, - handle_exception,main): added ACE_UNUSED_ARG (fd) to avoid - compilation warnings about unused arguments. - -Fri Jun 27 01:08:54 1997 Douglas C. Schmidt - - * ace/Connector.cpp (create_AST): Replaced the gratuitous #ifdef - for ACE_WIN32 and EXCEPT_MASK with the new CONNECT_MASK. This - is much cleaner! - - * ace/Event_Handler.h: Added a new CONNECT_MASK that defaults to - READ_MASK | WRITE_MASK (with | EXCEPT_MASK thrown in for Win32). - Thanks to Irfan for this suggestion. - -Thu Jun 26 19:53:11 1997 Nanbor Wang - - * ace/OS.i (strtok_r): Added check on a null string so we won't go - past the end of a string. - - * performance-tests/Misc/context_switch_time.cpp (main): Added - get_env_gloval_scale_factor() at the very beginning so that high - resolution timer can return correct time in millisecond. - -Thu Jun 26 15:29:55 1997 Darrell Brunsch - - * tests/Timer_Queue_Test.cpp: Changed the random scheduling to use - past times instead of future time. This should fix some unusual - behavior of this test. Thanks to Gonzalo A. Diethelm - for reporting this. - -Thu Jun 26 12:38:16 1997 Douglas C. Schmidt - - * ACE version 4.2.12, released Thu Jun 26 12:38:16 1997. - -Thu Jun 26 01:11:10 1997 Douglas C. Schmidt - - * ace/Svc_Conf.y: Added some sanity checks to make sure we don't - segfault when things go wrong during the svc.conf file parsing. - Thanks to Steve Huston for this suggestion. - -Thu Jun 26 08:36:37 1997 David L. Levine - - * Makefile: fix UPTODATE check (for release target) by not - running it in a sub-shell. Also, added ACE-lessons.html - to RELEASE_FILES. - - * performance-tests/Misc/context_switch_time.cpp: use same priority - values on Win32 platforms as on Solaris, because thread priority - increases with increasing priority values on both of those platforms. - -Thu Jun 26 01:34:46 1997 Nanbor Wang - - * performance-tests/Misc/misc.{mak,mdp}: Added makefile for NT. - - * ace/{FILE,DEV}.{h,i}: Added the disable(int signum) function to - prevent NT from disabling a FILE/DEV using socket calls. - -Wed Jun 25 12:59:00 1997 - - * ace/Synch_T.h (ACE_SYNCH_PROCESS_MUTEX and - ACE_SYNCH_NULL_MUTEX): Added new template typedef to the list. - - * tests/Message_Queue_Notifications_Test.cpp: New test for - demonstrating notification qualities of Message_Queue. - - * ace/Strategies.h: Added accessors to these classes to make them - more usable. - -Wed Jun 25 10:47:34 1997 Steve Huston - - * ace/Parse_Node.cpp: Insure that ACE_Object_Node::symbol(void) - returns 0 if the underlying shared library can't be loaded. - - * ace/OS.h: Added a new type, ACE_SHLIB_HANDLE to allow dynamic - linking using correct types on all platforms that support it. - Also added a const ACE_SHLIB_DEFAULT_MODE for the 'mode' argument - when doing a dlopen-like operation. - Moved the ACE_OSCALL_* macros to this file from OS.i - - * ace/OS.i: Moved ACE_OSCALL_* macros out of here and into OS.h. - Added support for dlopen/close/sym/error on HP-UX. Note - the - Service_Configurator tests do not run yet on HP - I'm working on - that. - - * ace/Service_Record.{h, i, cpp}: Use new ACE_SHLIB_HANDLE type for - dynamic loading operations. - - * ace/Parse_Node.{h, cpp}: Use new ACE_SHLIB_HANDLE where appropriate. - - * ace/Strategies_T.cpp: Use new ACE_SHLIB_HANDLE type. - -Wed Jun 25 02:36:05 1997 Nanbor Wang - - * ace/OS.i (gmtime_r): Modified the implementation of gmtime_r - when OS doesn't provide one. Notice that the implementation - only simulate the semantic and is not thread-safe. - - * ace/OS.h: Moved definition of ACE_SHLIB_HANDLE typedef and - ACE_DEFAULT_SHLIB_MODE global variable for Win32 to where it - belongs. - - * ace/OS.i: Changed the return type of dlopen() when ACE_HAS_UNICODE to - ACE_SHLIB_HANDLE. - - * ace/OS.{h,i}: Moved ACE_OSCALL and ACE_OSCALL_RETURN for WIN32 - from OS.i to OS.h. - -Wed Jun 25 01:23:58 1997 Nanbor Wang - - * ace/OS.i (strtok_r): Modified the implementation when OS does - not provide reentrant strtok_r so that our imp. comforms with - the semantic of strtok_r (). - -Wed Jun 25 00:37:56 1997 Douglas C. Schmidt - - * ACE version 4.2.11, released Wed Jun 25 00:37:56 1997. - -Tue Jun 24 21:30:53 1997 David L. Levine - - * ace/Svc_Conf_y.cpp: commented out unused args and wrapped - assignments in "if" conditionals with parenthesis to avoid - g++ warnings. - -Tue Jun 24 18:15:46 1997 Nanbor Wang - - * ace/Reactor.cpp (wait_for_multiple_events): Modified the way to - manipulate timeout value so that we can differentiate when there - are timeout events to be handle from no timer and we want to - wait indefinitely. - -Tue Jun 24 16:52:22 1997 David L. Levine - - * ace/OS.h: reverted ACE_hrtime_t to unsigned __int64 with VC++. - This might break something, but we need to know what. - -Tue Jun 24 16:38:52 1997 Darrell Brunsch - - * Added Visual C++ 5.0 specific workspace (.dsw) and project (.dsp) - files to both the ace and tests subdirectory. ACE.DSW in the root - directory contains all the project files, so a batch build should - be able to build all the project files. - -Tue Jun 24 14:27:47 1997 Darrell Brunsch - - * ace/Timer_{Hash,Heap,List,Wheel}_T.cpp: Changed cancel (type..) - to call cancellation() even if there are no timers to cancel. - This causes the correct behavior of calling handle_close () - during expire when handle_timeout() returns -1. Thanks to - Hamutal Yanay for - pointing this out. - - * tests/Timer_Queue_Test.cpp: Updated to correctly test this. - -Tue Jun 24 13:02:51 1997 David L. Levine - - * ace/SString.h (ACE_SString ctor): changed "allocator" to "alloc". - Thanks to Brian Mendel for reporting this. - -Tue Jun 24 12:58:28 1997 James C Hu - - * include/makeinclude/platform_irix6.4*: Shuts up useless warnings - about multiply defined template instances. - -Tue Jun 24 12:50:52 1997 Douglas C. Schmidt - - * ACE version 4.2.10, released Tue Jun 24 12:50:52 1997. - -Tue Jun 24 00:44:30 1997 Nanbor Wang - - * ace/SPIPE.{h,i}: Added the disable(int signum) function to - prevent NT from disabling an SPIPE using socket calls. - -Mon Jun 23 22:14:39 1997 Douglas C. Schmidt - - * ace/Svc_Conf*: Changed the name of the YYSTYPE field - ACE_Static_Node_ to static_node_ to be consistent with the other - fields. - -Mon Jun 23 18:28:55 1997 David L. Levine - - * ace/ACE.cpp: added auto_basic_array_ptr specialization. - - * ace/Service_Config.cpp, tests/Future_Test.cpp, - examples/Threads/future[12].cpp: added auto_basic_ptr - specializations. - - * include/makeinclude/platform_vxworks5.2_g++.GNU: - reworked to supported different targets, instead of only PowerPC. - -Mon Jun 23 16:06:35 1997 James C. Hu - - * ace/OS.i: Moved definition of sema_* methods to follow cond_* - methods to remove compiler warnings on SGI. - -Mon Jun 23 09:42:08 1997 Darrell Brunsch - - * tests/Timer_Queue_Test.cpp: added testing for cancellation - during expire (when of handle_timeout() in an event handler - returning -1). - -Mon Jun 23 09:18:39 1997 David L. Levine - - * Makefile: added up-to-date check for "make release" from - /project/adaptive/ACE_wrappers. Also, "make release" now - adds release entry to latest ChangeLog. - - * ace/Makefile: build shared library before static library. - This appears to fix a problem with Sun C++ 4.{1,2} possibly - related to its template instantiation scheme. If the - static library is built first, then .shobj/Reactor.so - and .shobj/Timer_Hash.so (and possibly others) fail to - build due to ACE_TimeValue::normalize () "relocations remain - against allocatable but non-writable sections". - Thanks to Steve Huston and - Satoshi Ueno for reporting this, and - to Satoshi for verifying the fix. - - * ace/ACE.cpp (terminate_process): removed used of - ACE_OSCALL_RETURN macro because its defined in OS.i, and so - not available if inlining is disabled. - - * ace/Auto_Ptr.{h,i}: made "p_" protected instead of private - so that it can be accessed with the new class arrangement. - Also, made the auto_array_ptr operator-> const. - - * ace/Sched_Params.cpp (previous_priority, VxWorks only): - removed ACE_UNUSED_ARG (policy) because policy is used in - this function. - - * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): wrapped TCHAR - argument to sizeof in parenthesis. - -Mon Jun 23 09:12:04 1997 Nanbor Wang - - * ace/Auto_Ptr.i (auto_array_ptr): Fixed a typo. - -Mon Jun 23 08:03:46 1997 Darrell Brunsch - - * ace/Auto_Ptr.h: changed inheritance of auto_basic_array_ptr in - auto_array_ptr to include the template parameter X. - - * ace/IOStream_T.i: removed default parameter in the definition - of ACE_Streambut_T::recv_n() and ACE_SOCK_Dgram_SC::recv_n() - -Mon Jun 23 01:13:15 1997 - - * ace/OS.cpp (fork_exec): Fixed the usage of ACE_WIDE_STRING. - - * test_registry_iterator.cpp (main): Fixed the usage of - ACE_WIDE_STRING. - - * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): Fixed the usage - of ACE_WIDE_STRING. - - * ace/Auto_Ptr.h: Added support for basic types by seperating the - auto_ptr classes into two. One that requires the -> operator - support and the other that does not. The former inherits from - the latter. - - * ace/{FILE,DEV,SPIPE}_Addr.h: Added support for multibyte and - wide character addr_to_string and string_to_addr functionality. - - * ace/Connector.cpp && ace/Acceptor.cpp (info): Fixed sizeof bug. - - * examples/Connection/blocking/SPIPE: Added UNICODE support for - this example. - - * ace/OS.h: Added new macro ACE_MULTIBYTE_STRING. - - * ace/ACE.cpp (terminate_process): Fixed unused args errors. - -Sun Jun 22 09:58:36 1997 Douglas C. Schmidt - - * Released version 4.2.9 for testing. - - * ace/Log_Msg.cpp (open): Changed the use of ACE_LOG_MSG-> within - the open() method to use this-> in order to avoid deadlocks. - Thanks to Per Andersson for reporting this. - - * ace/ACE.cpp: Changed the use of __SVR4 and __unix to sparc and - unix to work better with various UNIX environments. Thanks to - Michael R. MacFaden for these changes. - - * ace/Handle_Set.cpp (count_bits): Added special code to handle - the case where fdmask is typedef'd as a long rather than an int. - Thanks to Eric Newton and James Johnson for - reporting this. - - * ace/IOStream.h: Changed the name of QuotedString to - ACE_Quoted_String to be consistent with the ACE naming scheme. - Thanks to James Johnson for suggesting this. - - * ace/IOStream_T.i: Added this new file to split off the inlined - code from the header file. - - * ace/ACE.cpp (terminate_process): Remove the - ACE_UNUSED_ARG(signum) from terminate_process(). Thanks to Wei - Chiang for reporting this. - -Sun Jun 22 17:19:18 1997 David L. Levine - - * examples/Threads/process_manager.cpp (main): replaced call to - kill with terminate. - -Sat Jun 21 10:48:34 1997 Douglas C. Schmidt - - * examples/Reactor/FIFO: Added a new example that illustrates - how the Reactor and the FIFO wrappers work together. Thanks - to Johannes Gutleber for sending - this. - - * tests/Time_Service_Test.cpp (main): Replaced the kill() call - with the terminate() call since kill() isn't portable across - platforms. - - * ace/Process: The kill() method on this class was being used - incorrectly. I've created a new method called terminate() that - terminates the process. - - * ace/Process_Manager: Renamed the kill() method to terminate() - and updated the implementation to use the new - ACE::terminate_process() call. - - * ace/ACE: Moved the incorrect Win32 and Chorus implementations of - ACE_OS::kill() and put them in a new static method called - ACE::terminate_process(). - - * ace/ACE: Changed the name of the is_process_active() to the - more concise process_active(). - - * ace/OS.i: Added an implementation of ACE_OS::kill() for Chorus. - Note that this doesn't behave as UNIX does -- it kills the - process id rather than sending a signal! Thanks to Wei Chiang - for these fixes. - - * examples/Reactor/Misc/notification.cpp: Added patches to run - this example under Chorus. Thanks to Wei Chiang - for these fixes. - - * ace/Connector.cpp (create_AST): Changed the order of some - instructions in Connector::create_AST method to make it more - safer to use in multi-thread environment. Thank to Paul Han - for reporting the problem and the fix. - - * ace/Connector.cpp (create_AST): Make sure to pass in the "mask" - when calling remove_handler() so that we get the right set of - bits removed from the Reactor. - - * tests/Reactor_Timer_Test.cpp (class Time_Handler): Changed int - to long to avoid type conversion problems on 64 bit SGI. Thanks - to Fred LaBar for reporting this. - - * examples/Reactor/FIFO: Added a test program to illustrate the - interaction of the ACE Reactor with the FIFO IPC mechanism. - Thanks to Johannes Gutleber for this - test. - - * examples/Reactor/Misc/pingpong.cpp: Added support for Chorus. - Thanks to Wei Chiang for this. - - * ace: Added a number of minor changes to signal assignment - code so that ACE will compile with Tandem NonStop. Thanks - to Jan Perman for these fixes. - - * ace/config-tandem.h: Added a new config file for the - Tandem NonStop-UX 4.2MP platform. Thanks to Jan Perman - for contributing this. - - * include/makeinclude/platform_tandem.GNU: Added a new platform - file for the Tandem NonStop-UX 4.2MP platform. Thanks to - Jan Perman for contributing this. - - * ace/config-unixware-2.1.2-g++.h: Added a new config file for - UNIXWARE 2.1.2. Thanks to Ganesh Pai (gpai@voicetek.com) for - contributing this. - - * include/makeinclude/platform_unixware_g++.GNU: Updated the - UNIXWARE platform config file to work for version 2.1.2. Thanks - to Ganesh Pai (gpai@voicetek.com) for contributing this. - - * ace/Handle_Set.cpp (count_bits): Added another 0xff mask to - prevent problems with sign extension on machines with 32 bit - ints and 64 bit longs. Thanks to James Johnson for reporting - this. - - * ace/OS.h: Updated all of the ACE_DEFAULT* macros in OS.h so that - they can be overridden by #defines in the config.h file. Thanks - to Chuck Gehr for suggesting this. - -Thu Jun 19 22:20:20 1997 David L. Levine - - * ace/OS.h (VxWorks/g++ only): added horrible hack to work around - mismatch of memcmp, etc., prototypes in . - - * ace/OS.i: reordered many function definitions to avoid use - before definition. Building with g++ 2.7.2 on VxWorks 5.3.1 - revealed them. - - * ace/config-vxworks5.2-g++.h: removed ACE_HAS_STRING_CLASS and - ACE_HAS_GNU_CSTRING_H, because those aren't distributed with - Tornado 1.0.1. - -Thu Jun 19 15:31:53 1997 Darrell Brunsch - - * ace/Timer_Wheel_T.cpp: Fixed problem with expire () not expiring - timers with a timeout of the current time. This was causing - problems with Timer_Queue_Test when high profile timers were - disabled (such as Windows NT when the environment variable - ACE_SCALE_FACTOR was undefined) - -Wed Jun 18 19:43:35 1997 David L. Levine - - * ace/Signal.cpp: 'removed "const" from #define of - ACE_MAX_SIGNAL_HANDLERS because it broke Irix 6.2 build. Thanks - to Gonzalo A. Diethelm for reporting this. - - * examples/Threads/task_four.cpp (Invoker_Task::svc): fixed typo, - n_tasks instead of ntasks. - -Wed Jun 18 11:25:14 1997 Nanbor Wang - - * examples/Threads/{task_four,token}.cpp: Changed the use of - cerr/cout to ACE_DEBUG macro. Thanks to Chuck Gehr - for pointing these out. - -Tue Jun 17 15:11:09 1997 David L. Levine - - * ace/config-sunos5.5-sunc++-4.x.h, - include/makeinclude/platform_sunos5_sunc++.GNU: support enabling of - exception handling via "exceptions=1" make flag. Exception handling - does seem to work with Sun C++ 4.2, even on MP machines, if patch - 104631-02 "C++ 4.2: Jumbo Patch for C++ 4.2 on Solaris SPARC" - is applied. Please beware that enabling of exception handling can - adversely affect peformance, even if the program doesn't use it. - So, we haven't enabled it by default. Thanks to Chris Cleeland - for suggesting not to enable it by default. - - * ace/IOStream.h: added #include of "ace/config.h" so that - ACE_LACKS_ACE_IOSTREAM can be checked. Thanks to Ganesh Pai - for reporting this problem. - - * ace/ACE.cpp (get_handle): use /dev/udp instead of /dev/ip on - SVR4 machines because it has other read permission by default - (on Solaris 2.x). - - * ace/ACE.cpp (get_ip_interfaces): use auto_array_ptr instead of - auto_ptr so that the array gets deleted properly, and zero it - out to avoid unitialized memory read reports from Purify. - - * ace/Timer_Hash_T.cpp (cancel): added "[]" to delete of timer_ids - array. Purify rules. - - * Timer_Queue_Test.cppc (test_performance): added "[]" to delete of - times array. Purify rules. - -Tue Jun 17 15:31:01 1997 Steve Huston - - * ace/ACE.cpp: Fixed get_ip_interfaces (and count_interfaces) to - work properly on HP-UX (and probably other similar UNIXes). Needed - to work with non-IP interfaces present, and fixed to copy the - IP address without the fudge factor being applied. - -Tue Jun 17 14:02:01 1997 Nanbor Wang - - * ace/{Free_List.h,Free_List.cpp,Timer_Queue_T.h}: Added #include - "ace/Synch_T.h" to Free_List.h and removed related inclusion - from Free_List.cpp and Timer_Queue_T.h. Thanks to - Jack Erickson for reporting this problem. - -Tue Jun 17 09:41:48 1997 David L. Levine - - * tests/Enum_Interfaces_Test.cpp: changed name of log file to match - the program name, so that the one-button test can easily find it. - -Tue Jun 17 04:58:38 1997 Nanbor Wang - - * ace/Timer_Queue_T.h: Added include file "ace/Synch_T.h" to avoid - compilation errors in SC 4.1. We didn't notice this because - most of us have moved to SC 4.2. Don't know why this didn't - cause any problem in SC 4.2. Thanks to Jack Erickson - for reporting this bug. - -Mon Jun 16 22:25:18 1997 Steve Huston - - * ace/ACE.cpp: Fixed conditional compiles to compile the - interface counting code for HP - it reports 0 interfaces, - so it needs more debugging still. - - * include/makeinclude/platform_hpux_aCC.GNU: added -g to link - command for building shared library. - - * tests/Buffer_Stream_Test.cpp: fixes to execute correctly and only - fail assertions on real failures. - -Mon Jun 16 19:05:13 1997 Steve Huston - - * ace/Free_List.cpp: added #include ace/Synch.h, needed by - Free_List.i. Fixes compile errors on HP-UX. - -Mon Jun 16 10:59:55 1997 Darrell Brunsch - - * ace/Timer_Wheel_T.cpp: Changed expire () so it doesn't access past - the end of an array when it finds nothing to expire. Thanks to - Norbert Rapp for catching this. - -Sun Jun 15 03:44:21 1997 Nanbor Wang - - * examples/Threads/thread_specific.cpp (worker): Changed the - output of diagnostics from using cout to using printf. Also - corrected several portability problems. Thanks for Chuck Gehr - for pointing these out. - - * ace/OS.i (thread_mutex_trylock): Corrected the code for NT. Now - this function returns 0 if lock is obtained and -1 otherwise. - Thanks to Robert V. Head for noticing this. - - * performance-tests/Synch-Benchmarks/Synch_Tests.{mdp.mak}: - Added project workspace and makefile for NT to this directory. - - * performance-tests/Synch-Benchmarks/svc.conf: - * performance-tests/Synch-Benchmarks/{Options,Benchmark}.h: - * performance-tests/Synch-Benchmarks/*.cpp: Reworked these - files to have them compiled on NT. - -Sat Jun 14 03:53:13 1997 Nanbor Wang - - * performance-tests/Synch-Benchmarks/pipe_proc_test.cpp (class - Pipe_Proc_Test): Changed the type of pipe_handles[] from int to - ACE_HANDLE. - - * performance-tests/Synch-Benchmarks/sysvsema_test.cpp: When - creating the semaphore, explicitly cast the key value to (key_t) - since NT couldn't handle the conversion. - -Fri Jun 13 19:32:03 1997 Steve Huston - - * ace/ACE.cpp: Fixed count_interfaces to compile on non-SVR4 - systems such as HP-UX. Not tested yet. - - * ace/OS.i: Fixed mis-arranged conditional compile for HP-UX in - asctime_r. - -Fri Jun 13 03:13:51 1997 Nanbor Wang - - * ace/config-win32-common.h: Added a "pragma comment" directive to - direct MSVC to link in mswsock.lib automatically. Thanks to - Bill Tang for reminding this. - - * ace/ace.{mak,mdp}: Removed explicit inclusion of mswsock.lib. - Thanks to Bill Tang for reminding this. - - * examples/OS/Process/Process.{mdp,mak}: For some reasons, I got - an "unknown link error, please refer to documentation for - appropriate technical supports" when building this example on NT - (didn't help much, did it?) Reassigning the linked library - solved the problem. - - * examples/OS/Process/process.cpp: Updated class name - ACE_ProcessEX to ACE_Process because ACE_ProcessEX no longer - exists. Also, all exec'ed programs' absolute names have been - changed and let the environment variable "path" to decide which - program(s) to exec. - -Thu Jun 12 15:48:16 1997 Chris Cleeland - - * ace/ACE.cpp (get_ip_interfaces): Corrected code in the BSDish - section so that it at least compiles on Linux. I haven't tested - this AT ALL. - - * ace/Timer_Queue_T.cpp (calculate_timeout): When this was called - with the default argument from handle_events(), max_timeout was - passed as zero, which would cause a SEGV when attempts were made - to deref it. Added protection to simply return a zero ptr in that - case. - -Thu Jun 12 13:18:03 1997 Steve Huston - - * ace/OS.{h,i,cpp}: Changes for HP-UX 10 primarily. Threads - support for DCE Draft 4 threads (bundled with HP-UX 10). - Correct usage of reentrant C library functions for HP-UX. - - * ace/OS.i: Changed timeout argument to 2nd select function to - allow the compiler to pick a conversion operator. As it was, - HP compiler would not compile it. - - * ace/Service_Object.cpp: When deleting the service memory pointed - to by a void *, use "operator delete" rather than deleting a void, - which is prohibited by the current ANSI C++ draft. - - * ace/config-hpux-10.x.h: This is now a compiler-independent header - file, and is included by config-hpux-10.x-hpc++.h. This file - contains all correct settings for HP-UX 10.x, and compiler-specific - config files should use this - see config-hpux-10.x-hpc++.h. - - * ace/config-hpux-10.x-hpc++.h: New config file for either of the HP - compilers (HP C++ or HP aC++). It figures it out internally, and - uses config-hpux-10.x.h for OS details. - - * include/makeinclude/rules.lib.GNU: Allow for doing a PRELIB step - when building a shared library, and not using .shobj/*.so files. - This allows HP aC++ to close all template instantiations for the - entire library at once, rather than separately, reducing the - size of the resultant library significantly. - - * include/makeinclude/platform_hpux-aCC.GNU: build libraries with - templates instantiated all at once. Compile with flags for using - the reentrant versions of C library functions. - -Wed Jun 11 15:20:15 1997 Nanbor Wang - - * ace/Timer_Queue_T.{h,cpp} (calculate_timeout): Changed the - second parameter the_timeout from a ref. to a ptr. to a ptr in - order to avoid compilation warning. Since the pointer itself is - not modified within the function, it's ok to change this. - - * ace/Reactor.cpp (wait_for_multiple_events): Added ACE_Time_Value - the_timeout as a place holder for timeout value when - max_wait_time is NULL. Otherwise, - Timer_Queue::calculate_timeout won't process the timer queue - even it's not empty. - -Wed Jun 11 11:14:29 1997 James C Hu - - * include/makeinclude/platform_mvs.GNU (RANLIB): Requested change - from Check Gehr (gehr@sweng.stortek.com), RANLIB = echo - -Wed Jun 11 04:47:52 1997 Nanbor Wang - - * ACE.cpp (count_interfaces): Two bugs were corrected here. Both - were typo. - - * tests/Timer_Queue_Test.cpp: Added include file ace/Timer_Queue.h - -Tue Jun 10 16:02:52 1997 Darrell Brunsch - - * ace/SString.{h,cpp}: Changed the parameters in CString::substring() - and WString::substring(). Removed const and changed length to a - ssize_t because of signed/unsigned comparison warnings. - - * ace/ACE.cpp: Changed a loop variable in get_ip_interfaces() to - a size_t because of a signed/unsigned comparison warning. - -Tue Jun 10 12:47:49 1997 - - * ace/SString.cpp (operator = and operator +=): There were two - bugs here. operator= forgot to tack on the NULL terminator - after the memcpy() and operator+= appended the second string - incorrectly. Thanks to Michael R. MacFaden for - pointing these out. - -Tue Jun 10 12:16:04 1997 Darrell Brunsch - - * ace/Makefile: Updated to reflect newly added files - - * ace/Proactor.cpp: Removed template specializations. - - * ace/Reactor.cpp: Removed some template specializations. - - * ace/Timer_Hash.h: Added an include for Timer_Heap. - - * ace/Timer_Hash_T.cpp: Changed a reference to ACE_Timer_Node - to ACE_Timer_Node_T - - * ace/Timer_{Hash,Heap,List,Wheel}_T.h: Changed #include - "ace/Timer_{...}.h" to "ace/Timer_{...}_T.h". - - * ace/Timer_Queue.cpp: Removed some template specializations. - - * ace/Timer_Queue.h: Removed the including of Timer_Queue.cpp - since there are no templates to warrant it. - - * ace/Timer_{Hash,Heap,List,Wheel}.cpp: Added these and put the - appropriate template specializations here. - -Tue Jun 10 02:08:25 1997 Nanbor Wang - - * examples/Log_Msg/README: Revised. - - * examples/Log_Msg/test_log_msg.cpp: Revised program output so - that it's clearer to explain. - -Mon Jun 09 15:46:41 1997 - - * OS.i (mutex_lock): When WaitForSingleObject returns - WAIT_ABANDONED, the lock is held by the calling thread. - Therefore we must return 0 from the method. I have added a new - mutex_lock() method that takes an extra "abandoned" parameter. - This is set wehen the mutex is abandoned. Thanks to Dieter - Quehl for pointing this out. - -Mon Jun 9 02:31:36 1997 Nanbor Wang - - * tests/Sigset_Ops_Test.cpp (main): Comment out testing of invalid - sigset checking for most platforms don't seem to support it. - Perhaps the ACE's sigset* functions should remove this check for - compatibility. - -Sun Jun 8 11:39:06 1997 Douglas C. Schmidt - - * ace/OS.i (set): There was a typo here where - - ((long) (d - (double) l)) * 1000000 - - should be - - (long) ((d - (double) l) * 1000000) - - since otherwise the values are always 0. Thanks to Jim Crossley - for reporting this. - - * tests/Enum_Interfaces_Test.cpp (main): Changed ACE_UINT32 to - size_t to be consistent with the class definition. Thanks to - Nanbor Wang for reporting this. - - * ace/Token.h: Added some no-op method for ACE_Token so that it - will still compile even if ACE_HAS_THREADS isn't defined. - -Sun Jun 8 01:37:52 1997 Nanbor Wang - - * examples/Log_Msg/README: Added a README file. - - * tests/Sigset_Ops_Test.cpp (main): bug fixed. - - -Sat Jun 7 16:40:22 1997 Douglas C. Schmidt - - * ace/SString.h (string.): Added a substring() member function to - ACE_*String classes. Thanks to Michael MacFaden - for contributing this. - - * ace/ACE: Added a new method called - - int get_ip_interfaces(count, address_array) - - which will query the OS kernel for the IP addresses for each network - interface found and return a count and array of ACE_INET_Addr objects. - The reason for adding this method is that most client apps - assume gethostbyname(uname|gethostname)) will work. If the - nameservices is misconfigured/broken or the machine is multi-homed, - the client apps have alot of coding to do to figure out if an inteface - represents a local address or not. On UNIX, this includes - the loopback addr. On NT, the loopback addr is not added - (but may change the impl if others think this useful). - Thanks to Michael MacFaden for contributing - this. - - * ace/Synch[_T]: Changed all the classes so that internal instance - variables are now protected rather than private. This allows - greater flexibility if there's a need to subclass - (which shouldn't occur very much...). Thanks to - Reza Roodsari for suggesting this. - -Fri Jun 06 21:30:57 1997 David L. Levine - - * ace/Timer_{Hash,Wheel}_T.cpp: added #includes of - ace/High_Res_Timer.h. Also, in Timer_Wheel_T.cpp (cancel), - moved the declaration of "i" out of the loop because it's - used in two different loops. - -Fri Jun 06 17:11:13 1997 - - * OS.i (sleep): If ACE_POLL_IS_BROKEN is defined, use select() to - do micro second sleeps. - - * ace/CORBA_Handler.h (ACE_CORBA_*): The new version of Orbix - (2.2C01) on NT finally supports namespaces. So now the macros - ACE_CORBA_n need to be defined using the "::" and not the "_" - for NT if the new Orbix is being used. Thanks to John Morey - (jmorey@tbi.com) for the changes. - -Fri Jun 06 02:16:08 1997 - - * Sigset_Ops_Test.cpp: Added to test correct implementation of - sigset manipulating functions. - - * run_tests.{sh,bat}, Makefile: Added Sigset_Ops_Test. - -Thu Jun 05 20:32:39 1997 David L. Levine - - * tests/Timer_Queue_Test.cpp (randomize_array): removed static - qualifier now that it's a template function. It caused a warning - with Sun C++. - -Thu Jun 05 18:28:36 1997 - - * ace/Asynch_Acceptor.cpp (open): The Proactor was beening passed - implicitly. I have made this explicit by making this a parameter - to open. Thanks to MehulM@spa-marketing.com (Mehul Mahimtura) - for this. - -Thu Jun 5 12:06:45 1997 Chris Cleeland - - * ace/Timer_Queue_T.h (ACE_Timer_Queue_T): Overloaded - calculate_timeout with a version that accepts a pointer to - storage for the ACE_Time_Value as an argument. This has a small - performance win over the other b/c it does not take a lock. The - change was made after examining Quantify output for TAO and - observing that this lock caused - Reactor::wait_for_multiple_events() to consume a substantial - percentage of processing time. - - * ace/Reactor.cpp (wait_for_multiple_events): This now uses a - different version of calculate_timeout() that doesn't require - taking a lock. - -Thu Jun 05 08:48:49 1997 David L. Levine - - * ace/Reactor.cpp: added template specializations. - - * ace/Timer_Queue_T.cpp (ACE_Timer_Queue_T ctor): rearranged - initializers to match declaration order. - -Thu Jun 5 06:08:06 1997 Nanbor Wang - - * ace/OS.i (sigaddset, sigdelset, sigismember): NSIG itself is - invalid and must be excluded. - -Wed Jun 04 21:24:35 1997 David L. Levine - - * ace/config-sunos5.5-g++.h: fixed typo: #define instead of - #defined ACE_HAS_CLOCK_GETTIME. - - * ace/config-sunos5.5-sunc++*.h: Combined - config-sunos5.5-sunc++-4.x.h and config-sunos5.5-sunc++-4.1.h, - and removed the latter. The Orbix config file now #includes - config-sunos5.5-sunc++-4.x.h and adds its differences. - - * include/makeinclude/platform_sunos5_sunc++*.GNU: Combined - platform_sunos5_sunc++.GNU and platform_sunos5_sunc++-4.1.GNU, - and removed the latter. platform_sunos5_sunc++_orbix.GNU now - includes the non-orbix file and adds its differences. Also, - added optional CC -fast support. To enable, just add "fast=1" - to your "make" invocation. - -Wed Jun 04 12:21:41 1997 - - * tests: Made the following config files consistent: - UNIXclerk.conf UNIXtokens.conf Win32clerk.conf Win32server.conf - Win32tokens.conf - - * ace/OS.h: Made sure that some #defines were guarded for - redefinition specially for the Bristol (that provides Win32 API - on AIX) headers. Thanks to Rich Christy (rchristy@cccis.com) for - suggesting these changes. - - * ace/Handle_Set.h: Changed the type of handle_index from int to - u_int on Win32. Thanks to Jack Erickson (jack@cibc.com) for - suggesting this. - - * ace/FILE.h (ACE_FILE_STREAM): Fixed this #define from - ACE_FILE_Stream to ACE_FILE_IO. - -Tue Jun 3 21:23:48 1997 Douglas C. Schmidt - - * ace/Timer_{Queue,Hash}: Fixed some uses of template typedefs - since GCC is too lame to handle them correctly. Therefore, I - had to expand TIMER_QUEUE into the ugly fully expanded name. - - * ace/Timer_Queue_T.cpp: Moved the implementation of - ACE_Event_Handler_Handle_Timeout_Upcall from Timer_Queue.* into - Timer_Queue_T.* since only template classes should go into *_T.* - files. - -Tue Jun 3 18:16:02 1997 Darrell Brunsch - - * ace/Timer_Queue.*: - - Templatized ACE_Event_Handler_Handle_Timeout_Upcall with LOCK - - Added deletion() to Upcall Functors. This gets called if there - are any nodes in a queue and the queue's destructor is called - - * ace/Timer_Queue_T.*: - - Changed iterator accessor to public - - Removed two template parameters from ACE_Timer_Node_T so only - EVENT is left. Added accessors instead of using friendships, - and deleted the constructor (use set() instead) - - Changed iterator into a general iterator (with first(), next(), - isdone() and item () methods) - - Added remove_first () method that removes and returns the - earliest timer in the queue - - Added ACE_Free_List support - - * ace/Timer_Heap*: - - Added upcall functor deletion() support - - Added remove_first () method that removes and returns the - earliest timer in the queue - - * ace/Timer_List*: - - Changed to double-linked circular list and changed the timer_id - to be a pointer to the node (like it is in Timer Wheel and Timer - Hash) - - Added upcall functor deletion() support - - Added remove_first () method that removes and returns the - earliest timer in the queue - - Added check for timer_id of -1 so we don't try to delete the - error code if it is passed into cancel - - Changed Timer_List_Iterator_T constructor parameter from list to - listParm to resolve a conflict with STL. Thanks to Todd - Barkalow for this fix - - * ace/Timer_Wheel*: - - Added HighRes timer support - - Added upcall functor deletion() support - - Added earliest_pos_ variable to keep track of the list with the - earliest node - - Created an expire that is specialized for ACE_Timer_Wheel - - Added remove_first () method that removes and returns the - earliest timer in the queue - - Added check for timer_id of -1 so we don't try to delete the - error code if it is passed into cancel - - * ace/Timer_Hash*: - - Added Timer Hash Queue - This is a class that can take another - timer queue type (Timer List, Timer Heap...) as a template - parameter (BUCKET) and then do an intermediate hash of a timer - to determine which queue among a table of timer queues to put - the timer into. ACE_Timer_Hash is typedefed to the Timer List - version and ACE_Timer_Hash_Heap is typedefed to the Timer Heap - version - - Added HighRes timer support - - Added upcall functor deletion() support - - Created an expire that is specialized for ACE_Timer_Hash - - Added remove_first () method that removes and returns the - earliest timer in the queue - - Added check for timer_id of -1 so we don't try to delete the - error code if it is passed into cancel - - * ace/Free_List.* - - Added ACE_Free_List and ACE_Locked_Free_List. These - are used to maintain free lists of nodes. ACE_Free_List is a - abstract class where ACE_Locked_Free_List is a concrete one that - has a mutex parameter (LOCK). - - * ace/OS.h: - - Added ACE_DEFAULT_TIMER_HASH_TABLE_SIZE constant - - Added ACE_DEFAULT_FREE_LIST_* constants - - * ace/Proactor.*: - - Added deletion() to Upcall Functors. This gets called if there - are any nodes in a queue and the queue's destructor is called. - - * tests/Timer_Queue_Test.cpp: - - Added HighRes timer support - - Changed the array of timer queues into a list (to more easily - add/remove/comment out an entry) - - Added some more performance tests with randomization - -Tue Jun 3 00:26:06 1997 Douglas C. Schmidt - - * ace/OS.h: Changed the access protection for ACE_cond_t, - ACE_sema_t, ACE_event_t, and ACE_rwlock_t so that it is - protected rather than private. In addition, added ACE_Export to - all of these classes so that they are visible outside of a DLL. - Thanks to Ivan Murphy for these suggestions. - - * ace/OS.h: Changed the value of ACE_MAX_DEFAULT_PORT on Win32 to - 0 in order to work around a nasty NTism... Thanks to Jon Biggar - for reporting this. - -Mon Jun 2 16:29:48 1997 James C Hu - - * ace/Process.*: - - Fixed ACE_Process::spawn to close descriptors after having - been duped. - - Fixed ACE_Process::spawn to exit () after an error is - encountered in the child process, rather than returning. - - Fixed ACE_Process_Options::set_handles to duplicate handles - that are passed in, and then to close them in the destructor. - -Sun Jun 01 22:21:28 1997 David L. Levine - - * examples/Threads/tss1.cpp: made some globals non-static or - const so that tss1 will link with Sun C++ 4.2 -O3. I don't - know what the problem is; it only shows up with optimization - enabled. These fixes work around it. - -Sun Jun 01 20:29:20 1997 James CE Johnson - - * ace/IOStream*: - - removed the old 4/5/97 comments - - made operator>>, << on QuotedString a template - - This last makes QuotedString much more functional. As - templated functions, the QuotedString can now be used on - other iostream-type objects. The previous method of - defining the function only for the type of ACE_IOStream - being created was didn't provide this flexibility. - -Sat May 31 07:01:22 1997 Douglas C. Schmidt - - * ace/Log_Msg.cpp (open): To avoid handle leaks, we need to - shutdown the message_queue before trying to reopen it. Thanks - to Per Andersson for this suggestion. - - * include/makeinclude/platform_osf1_4.0.GNU: Added a new platform - config file. Thanks to James Johnson for this. - -Fri May 30 16:25:25 1997 - - * CPP-inclient.cpp (main): Properly compare to the "quit" - string. Thanks to "Andre Arpin" for - reporting this. - - * tests/UPIPE_SAP_Test.cpp (connector): Changed the eof marker in - the strings. - -Fri May 30 14:04:44 1997 James C Hu - - * include/makeinclude/platform_irix6.4_sgic++.GNU: added to make - things compile on latest SGI machines. Removed +pp and -woff... - flags from the CCFLAGS variable. Added new -woff flags to hide - other warnings. - - * ace/config-irix6.4-sgic++*.h: copied corresponding configs from - irix6.2 and removed ACE_HAS_SVR4_TIME, since this seems to be no - longer true of irix6.4. - -Fri May 30 02:39:39 1997 - - * ace/Connector.cpp - - (create_AST): On Win32, added the except mask when registering - with the Reactor to find out when asynchronous connects - complete. - - (Svc_Tuple): Made sure that the default value for the timer_id - in AST is not 0. 0 is a valid timer_id. I have changed this to - be -1. - - (handle_exception): Added this method. On - Win32, the except mask must also be set for asynchronous - connects. - -Thu May 29 21:28:25 1997 - - * Process.*: Removed the ACE_Process_Old class. - - * Local_Tokens_T.*: Removed all these files. They have not been - used by the token library for some time. They were mistakenly - put in the release. - -Thu May 29 02:00:14 1997 - - * ACE.cpp (is_process_active): Added this method which checks if a - process is still alive. Thanks to Chris (CLahey@cccis.com) for - this code. - - * ace/OS.i (kill): Changed PROCESS_ALL_ACCESS to - PROCESS_TERMINATE. - - * ace/ACE.cpp (bind_port): Changed the implementation of this - method such that a recently used port is not used again in the - next call to this method on Win32, i.e., upper limit is - decreased even in the successful case. This fixes the problem on - Win32 where binding to a recently used port works but the - following connect fails. - - * ace/Acceptor.cpp (close): Added a close method that allows us - to shutdown the Acceptor (without having to destroy it). - - * ace/Connector.cpp (close): Added a close method that allows us - to shutdown the Connector (without having to destroy it). - - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp - - (handle_close): Removed this method. This code seemed to be - duplicating the code in the handle_close of the proxies. - - (initiate_connection): Removed the code that did - rescheduling. The proxies are responsible for this. - - * apps/Gateway/Gateway/Event_Channel.cpp - - (initiate_proxy_connection): Must *always* use the correct synch - options while connecting. - - (reinitiate_proxy_connection): Always register for timeouts if - we are not disconnecting. This allows us to remove duplicated - logic in Proxy_Handler_Connector. - - The new logic of close() allows us to remove the code that use - to remove the proxy from the map to prevent double deletes. - - (close): Changed the shutdown logic to: Tell everyone that the - spaceship is here (behind the comet), close down the connector, - close down the acceptor, tell everyone that it is now time to - commit suicide. - - * apps/Gateway/Gateway/Proxy_Handler.cpp (handle_timeout): Must - return 0, or else the timer queue will cancel the handler and - *all* its timeouts. - - * apps/Gateway/Peer/svc.conf,Makefile: We now generate a Peer - shared library (instead of just an .so). The svc.conf was - changed to reflect this. - - * tests/UPIPE_SAP_Test.cpp: Fixed output message. - - * Handle_Set.i (operator): Fixed typo. - -Thu May 29 11:09:52 1997 David L. Levine - - * include/makeinclude/rules.local.GNU: check for directory - write permission before attempting to install. This helps - support shared ACE workspaces. There are two easy ways - to not install "private" libraries in the shared workspace: - 1) remove write permission from $WRAPPER_ROOT/ace, or - 2) add "INSTALL=" to invocations of "make". - -Thu May 29 06:07:18 1997 Douglas C. Schmidt - - * ace/OS.i (thr_join): Revised some code in the #ifdef'd out - version of ACE_OS::thr_join() so that it will compile correctly. - Note that this code isn't currently used, but someday it will - be. Thanks to Hamutal Yanay for reporting this. - -Wed May 28 16:37:57 1997 David L. Levine - - * ace/OS.{h,i} (ACE_Time_Value): added default constructor, - which does not call normalize (). ACE_Time_Value::normalize () - was showing up as a relatively minor, but signficant hot - spot in Event Channel latency tests. - -Wed May 28 16:02:53 1997 James C Hu - - * ace/OS.i: Changes to strdup and getpid for CHORUS, as per Wei - Chiang's suggestions. - -Tue May 27 18:26:51 1997 Douglas C. Schmidt - - * ace/config-hpux-10.x-decthreads.h: Added support for HP/UX 10.10 - with DCE threads. Thanks to Shankar Krishnamoorthy - for these fixes. - - * ace/Local_Tokens_T.h: #if def'd out all of this file since it - doesn't seem to be used anymore. Thanks to Shankar - Krishnamoorthy for reporting this. - - * ace/Makefile (TEMPLATE_FILES): Removed Local_Tokens_T since it - doesn't appear to be used anywhere. - -Tue May 27 18:47:34 1997 James C Hu - - * tests/*.cpp: Various changes for EBCIDIC compatibility. - Thanks to Chuck Gehr for pointing out the need for this! - - * tests/test_config.h: Added ACE_ALPHABET to aid a-z sending and - comparing. - -Tue May 27 15:03:25 1997 David L. Levine - - * tests/Future_Test.cpp: added ACE_Future{_Rep} template - specializations. - -Tue May 27 07:49:03 1997 Douglas C. Schmidt - - * ace/Future.cpp: Made a few minor reformatting changes to Per's - new Future enhancements. - -Tue May 27 14:19:14 1997 Per Andersson - - * ace/Future: Fixed self assignment bug in ACE_Future<>::operator=(). - Fixed bug in ACE_Future<>::set(). It is now possible to do a - ACE_Future<>::set() followed by a ACE_Future<>::get() without - hanging forever. - - Moved all handling of the ACE_Future_Rep<> reference count - into three new static ACE_Future_Rep<> member functions, - create, attach, assign and detach. - - Removed one mutex from ACE_Future_Rep<> by changing the - reference count from an ACE_Atomic_Op into a plain - int. The ACE_Future_Rep<>::value_ready_mutex_ mutex is - instead used for serializing changes to the reference count. - (ACE_Future_Rep<>::attach, ACE_Future_Rep<>::detach()) - - Removed mutex from ACE_Future<> the serialization is - performed by the ACE_Future_Rep<>::attach, - ACE_Future_Rep<>::detach() and ACE_Future_Rep<>::assign() - functions. - - Changed the ACE_Future<> default constructor to always - create a ACE_Future_Rep<> - - * tests/Future_Test.cpp: Added test case for - ACE_Future<>::set() followed by ACE_Future<>::get(). Added - test for working ACE_Future::operator=(). The test is not - fool proof but it crashes or hangs the test process with the - old ACE_Future<> implementation. - -Mon May 26 14:19:14 1997 James C Hu - - * ace/OS.{h,i}: Fixed difftime implementation for cases where - systems implement it as a macro. Fixed tempnam by adding - ACE_LACKS_TEMPNAM. - -Sun May 25 11:36:22 1997 Douglas C. Schmidt - - * examples/Reactor/Misc: Removed test_handle_set.cpp since it - is now completed subsumed by tests/Handle_Set_Test.cpp. - - * tests/Handle_Set_Test.cpp: Updated the test of - the ACE_Handle_Set so that it shows how fast the iterator works. - - * ace/Reactor.cpp: Updated the Reactor to use the new - ACE_Handle_Set_Iterator (whic no longer requires calling - operator++ to advance the iterator). - - * ace/Handle_Set: Rewrote the ACE_Handle_Set_Iterator to speed it up. - The result seems to be about 15% faster than the original. - - * ace/OS.h: Changed the MSB_MASK static constant into a macro and - moved it from Handle_Set.cpp into OS.h, changing its name to - ACE_MSB_MASK. - - * ace/Sched_Params.cpp (priority_max): Added another #ifdef for - Chorus. Thanks to Wei Chiang for reporting this. - - * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: added -l - in front of orbixmt. Thanks to Wei Chiang for pointing this - out. - - * ace/ACE.cpp: Changed the default port for NT so that it starts - at 65279 rather than 65535. Hopefully, this will fix that - annoying bug that has been plaguing us on NT 4.0 for months. - Thanks to Goran Lowkrantz - for reporting this. - -Sat May 24 23:42:32 1997 David L. Levine - - * performance-tests/Misc/test_naming.cpp (do_testing): replaced - strlen () calls in character array size with constant expression. - -Sat May 24 12:07:48 1997 Douglas C. Schmidt - - * Released version 4.2.1 for testing. - - * ace/Reactor.cpp (bind): Fixed a stupid typo where I was using - the ACE_REACTOR_EVENT_HANDLER macro instead of the - ACE_REACTOR_HANDLE macro. Thanks to Detlef for reporting this. - - * ace/OS.i: Added a new macro called ACE_HAS_THR_MINSTACK to deal - with weirdo mangling of names by Tandem. Thanks to Jan Perman - for reporting this. - - * ace/OS.h: Added a new macro ACE_LACKS_PRI_T for those platforms - using STHREADS (e.g., Tandem NonStop OS) that don't have pri_t - defined. Thanks to Jan Perman for - reporting this. - - * ace/Connector.cpp (connect): Make sure to save/restore errno - since svc_handler->close() may change it. Thanks to Michael - Hartman for reporting this. - - * include/makeinclude/platform_chorus.GNU: Added a new platform - macros file for Chorus. Thanks to Wei Chang for this. - - * ace/OS.cpp (sched_params): Reordered the #ifdefs so that Chorus - comes first. - - * ace/OS.i (sleep): If the platform defines ACE_HAS_CLOCK_GETTIME - then we'll use the nanosleep() method rather than sleep(). - - * ace/OS.h: disabled THR_NEW_LWP for Chorus. Thanks to Wei Chang - for reporting this. - - * ace/Sched_Params.cpp: ACE_SCHED_OTHER and ACE_SCHED_RR have the - same value on Chorus. Thanks to Wei Chang for reporting this. - -Sat May 24 09:21:08 1997 David L. Levine - - * netsvcs/lib/Server_Logging_Handler.cpp: protected second - ACE_Svc_Handler specialization for case that ACE_HAS_THREADS, - when ACE_HAS_TLI. It had gotten lost in the last pass of - that module. Thanks to Sandro Doro - for reporting this problem. - -Sat May 24 03:19:38 1997 Nanbor Wang - - * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset, - sigismember): Modified the implementation of these function so - as to conform with POSIX standard. Basically all functions do - the same things they did but more conservative protections are - added. The modified semantic becomes, - - sigemptyset, sigfillset, sigaddset, sigdelset: return 0 if - succeed, -1 otherwise. - sigismember: returns 0 if signum is not in the set, 1 if signum - is in the set, and -1 if error occurs. - - If error occured, errno will be set to one of the following - value: - EFAULT: sigset is not a valid address. - EINVAL: signum is not a valid signal number. - - Notice that, so far, this is for NT only. - -Sat May 24 01:53:22 1997 James C Hu - - * performance-tests/Misc/test_naming.cpp (do_testing): Thanks to - Sandro Doro, squashed a bug where we were trying to concatenate - onto a string constant. - -Fri May 23 01:01:01 1997 Douglas C. Schmidt - - * ace/config-hpux-9.x.h: Added - - #define ACE_HAS_BROKEN_ENUMS - #define ACE_HAS_IP_MULTICAST - #define ACE_LACKS_GETPGID - - Thanks to Neil Cohen for reporting these. - - * ace/Thread_Manager.h: Made the private methods and data members - protected so that subclasses can extend it. Thanks to Hamutal - Yanay for this suggestion. - -Fri May 23 21:27:05 1997 David L. Levine - - * ace/Process.{h,cpp} (env_argv): added "const" to char * type in - return type, for argument compatibility in call to ACE_OS::execve (). - - * ace/Process.cpp (spawn): removed unreachable return statement at - end of function. - - Thanks to Dave Mayerhoefer for - reporting the above two problems. - - * ace/{IOStream*,Makefile}: Split out templates into - ace/IOStream_T.{h,cpp} files. This way, automatic template - instantiation systems that require templates to be in separate - files, such as on Irix 6.2, will be able to build IOStream_Test - and the ACE_IOStream examples without warnings. (The - ACE_IOSTREAM_BUILDING_TEMPLATE macro that did this only worked - if ACE_TEMPLATES_REQUIRE_SOURCE was defined. It's no longer - needed with the separate template files.) - - * tests/IOStream_Test.cpp, - examples/IOStream/client/iostream_client.cpp, - examples/IOStream/server/iostream_server.cpp: - swapped ACE_Streambuf and ACE_Streambuf_T class names so that - the template class has the "_T". And renamed ACE_IOStream_T - for consistency. - - * ace/{IOStream.*,README}, - tests/IOStream_Test.cpp, - examples/IOStream/client/iostream_client.cpp, - examples/IOStream/server/iostream_server.cpp, - config-hpux-9.x*.h: - Added ACE_LACKS_ACE_IOSTREAM protection - so that these can easily be built on platforms that have - trouble with ACE_IOStream. - - * Priority_Task_Test.cpp: removed close () because it didn't really - close the Task, and added printout to main () after all tasks have - been spawned to help debug non-termination. - - * ace/OS.cpp: (thr_create, with STHREADS only): *thr_handle was - used but *thr_id had been set by ::thr_create, so threads never - got activated. Fixed by using *thr_id instead of *thr_handle - in the calls to ACE_OS::thr_setprio and ACE_OS::continue. - Thanks to Jan Perman for reporting - this problem. - -Fri May 23 20:12:33 1997 James C Hu - - * tests/SV_Shared_Memory_Test.cpp: Thanks to Chuck Gehr, fixed - ASCII dependent code in the parent and child routines. - -Fri May 23 02:58:28 1997 Nanbor Wang - - * ace/OS.i (dlsym): Added ACE_USES_ASM_SYMBOL_IN_DLSYM, support - for platforms (FreeBSD) which use assembly symbols instead of C - symbols in dlsym (). - - * ace/config-freebsd[-pthread].h: Added flag ACE_HAS_CHARPTR_DL - and ACE_USES_ASM_SYMBOL_IN_DLSYM. - -Thu May 22 08:14:21 1997 David L. Levine - - * tests/Tokens_Test.cpp: added deletes to avoid memory leaks. - -Wed May 21 16:15:48 1997 David L. Levine - - * ace/{config-irix6.2*.h,README}: removed ACE_LACKS_IOSTREAM_SETGET - because tests won't build with it. Also, added - ACE_LACKS_SIGNED_CHAR. - - * ace/IOStream.h: removed "const" from PUT_PROT of - u_char * and void *. This should allow the IOStream test - and examples to build and run on Irix platforms. Thanks - to Torbjorn Lindgren and Amos Shapira - for reporting this, and to James Hu for - helping fix it. - - * ace/{OS.cpp,Sched_Params.cp} (Solaris only): use 0 min priority - again, with workaround in ACE_OS::thr_create to not use - ::pthread_attr_setschedparam () if the priority is 0. Instead, - the priority of the newly created thread is set to 0 (if it - wasn't created with 0) after the thread is created, with - ::pthread_setschedparam (). - -Wed May 21 15:23:37 1997 Chris Cleeland - - * ace/Strategies_T.* (ACE_Hash_Addr): Eliminated the ADDR_T - template parameter as a base class. It is now a wholly-contained - member of the ACE_Hash_Addr<> with conversion operators. - This caused problems on certain compilers, notably HP-UX. - -Wed May 21 14:13:36 1997 James C Hu - - * ace/OS.{h,i} (difftime): Added implementation to ACE_OS. I - don't expect any problems since it is in ANSI. - - * ace/OS.{h,i} (tempnam): Added implementation to ACE_OS. - -Wed May 21 01:17:40 1997 Douglas C. Schmidt - - * Released version 4.2. - - * ace/Acceptor.cpp (activate_svc_handler ): Removed an unnecessary - return 0. Thanks to Amos Shapira for reporting - this. - - * ace/Message_Block.cpp (release): I believe that - ACE_Message_Block::release() should return something other than - 0, i.e., it should return the result of release_i(). Thanks to - Amos Shapira for reporting this. - -Wed May 21 01:17:40 1997 Per Andersson - - * Moved most code from netsvcs/lib/Server_Logging_Handler.* to - Server_Logging_Handler_T.*. Made template out of - ACE_Server_Logging_Handler and ACE_Server_Logging_Acceptor. - Factorised out as much as possible to reduce code - duplication. The log record processing was moved from - ACE_Server_Logging_Handler it should now be handled by the - Log_Message_Receiver class. It is now possible to change - how log records processed without changing code in - Server_Logging_Handler* and it is possible to have several - Server_Logging_Handlers that processes log records - in different ways without duplicating all the server code. - All that is needed is to write a new/change - Log_Message_Receiver and instantiate a couple of templates. - - * netsvcs/lib/Server_Logging_Handler.h added lots of typedefs - for making template instantiations easier. - - * netsvcs/lib/Server_Logging_Handler.h addad lots template - instatiations, there are now 58 all together. - - * Added netsvc/lib/Log_Message_Receiver.{h,cpp}, implementstwo - simple log message receivers that prints the log record to - stderr. - -Tue May 20 13:50:17 1997 Douglas C. Schmidt - - * ace/config-hpux-9.x.h: Added a #define for ACE_HAS_BROKEN_ENUM, - ACE_HAS_IP_MULTICAST, and ACE_LACKS_GETPGID. Thanks to Neil - Cohen for reporting this. - - * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: Replaced - the use of -lITsrv with -lorbixmt. Thanks to Wei Chiang for - this. - - * include/makeinclude/platform_osf1_3.2.GNU: Make sure that all - the template repositories are in the same directory to work - around problems with the C++ compiler. Also added -lrt to get - the apps and tests to run. Thanks to Tom Dobridge for this - help. - -Tue May 20 17:13:15 1997 Carlos O'Ryan - - * ace/config-hpux-10.x-nothread.h: - * ace/config-hpux-10.x-aCC.h: - * ace/Stream_Modules.cpp: - ACE_LACKS_STREAM_MODULES is no longer needed, moving the inclusion - of "ace/Task.h" to the beginning of "ace/Stream_Modules.h" solved - the problem nicely. - - * ace/config-hpux-10.x.h: - * ace/config-hpux-10.x-aCC.h: - ACE_HAS_BROKEN_HPUX_TEMPLATES is not needed on newer HP/CXX - compilers; further, old ones will not compile ACE even if the - macro is defined. - - * ace/Timer_List_T.h: - * ace/Timer_Queue_T.i: - I moved the definition of ACE_Timer_Queue_T::lock() from the .i - file to the .h file, HP/CXX gets completely confused otherwise. - I also added a number of ACE_INLINE missing in the .i file. - - * ace/Stream_Modules.h: - * ace/Stream_Modules.cpp: - I had to move the inclusion of "ace/Task.h" outside of the - protections against multiple inclusion for Stream_Modules.h. - That seems to solve the ciclyc dependancy for - Task->Module->Stream_Module->Task. - BTW, the same thing was already done in "ace/Log_Record.h". - I'll try to remove the ACE_LACKS_STREAM_MODULES macro, it seems - that the last change makes it redundant. - - * ace/Signal.cpp: - HP/CXX compiler will not close the library unless - ACE_MAX_SIGNAL_HANDLERS is defined as "const size_t". The previous - definition ("size_t") did compile tough. - - * ace/Log_Record.h: - We need to include "ace/ACE.h" before "ace/Log_Priority.h". - - * ace/Log_Priority.h: - HP/CXX compiler seems to reserve a few bits in enums, so the - ENSURE_32_BITS trick would result in a compile time error. - Since HP enums are always 32 bits we could skip the definition for - ENSURE_32_BITS altogether, but I prefer to keep a consistent - namespace across plaforms, I have found a value for ENSURE_32_BITS - that seems to work. - - * include/makeinclude/platform_hpux.GNU: - Some options to improve compile time, since we use explicit - template instantiation there is no need for a ptcomp o ptlink - phase. - -Tue May 20 09:10:18 1997 Nanbor Wang - - * ace/config-freebsd-pthread.h: - * ace/config-freebsd.h: Removed "FreeBSD" directive because gcc on - FreeBSD defines __FreeBSD__ automatically. - - * ace/OS.i (sigaddset, sigdelset, sigismember): Added range - checking to these functions in order to avoid disasters. Sig - number should be between 1 and NSIG. - (sigwait): Changed ifdef (FreeBSD) to ifdef (__FreeBSD__) since - compiler does it for us. - -Tue May 20 08:41:11 1997 David L. Levine - - * examples/Threads/tss2.cpp: added #include of ace/Thread.h - because Sun C++ 4.1 needs it. - -Mon May 19 16:04:32 1997 David L. Levine - - * bin/create_ace_build: changed startup line for compatibility - with bash. This startup line lets the script run without - hard-coding the full path to the perl executable, as long as - perl is on the user's PATH. - -Mon May 19 12:45:21 1997 Douglas C. Schmidt - - * examples/Threads/reader_writer.cpp: Changed the code so that we - don't try to treat thread ids as ints! Thanks to Chuck Gehr for - reporting this. - -Sun May 18 21:57:54 1997 David L. Levine - - * examples/Threads/tss2.cpp: added second parameter to - ACE_TSS_Singleton template specialization. - -Sun May 18 09:20:15 1997 Douglas C. Schmidt - - * examples/Threads/TSS_Data.h: Added the second parameter for - ACE_SYNCH_MUTEX since Rich and Chris updated ACE_TSS_Singleton. - - * ace/Singleton.cpp: Added the updated version of - ACE_TSS_Singleton that implements the Double-Checked Locking - pattern. Thanks to Rich Christy and Chris Lahey for this. - - * ace/Strategies_T.cpp (activate_svc_handler): Fixed the logic so - that a value is always returned. Thanks to David Levine for - noticing this. - -Sun May 18 07:25:11 1997 David L. Levine - - * netsvcs/lib/Server_Logging_Handler.cpp: removed second - ACE_Svc_Handler specialization for non-threaded, has-TLI case. - That's because it is the same as the first; the only difference - was that one specialized with ACE_SYNCH and the other with - ACE_NULL_SYNCH. Without threads, those macros expand to the - same thing. Thanks Sandro Doro for - reporting this. - - * examples/Threads/tss2.cpp: added ACE_TSS template - specialization. - -Sat May 17 23:24:34 1997 Nanbor Wang - - * ace/OS.i (sigismember): Corrected the code when - ACE_LACKS_SIGSET. - -Sat May 17 00:06:04 1997 - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp - (Event_Transceiver): Corrected signal registration for Win32. - - * apps/Gateway/Gateway/Gateway.cpp (parse_args): Since the - Connector is now fixed, non-blocking is now working fine. - - * ace/Connector.cpp (handle_close,create_AST): Made sure we close - down the svc_handler on error. - - * ace/{Acceptor.cpp,Connector.cpp} (activate_svc_handler): The - if statement logic in these methods was incorrect. - - * ace/SOCK_Connector.cpp (connect): Just like in complete(), we - start out with non-blocking disabled on the . - - * ace/OS.h: When ACE_LACKS_SIGSET is defined, changed the - definition of sigset_t from void * to unsigned int. - -Sat May 17 12:25:22 1997 Douglas C. Schmidt - - * ace/{Acceptor,Connector,Strategies_T}: Make sure to either - enable or disable ACE_NONBLOCK (depending on the flags). This - ensures that we always start with the I/O mode set to a - deterministic state. Thanks to Irfan for suggesting this. - - * ace/Connector: Added a new "flags" parameter to the - ACE_Connector and ACE_Strategy_Connector which keeps track of - flags that control how Svc_Handler are initialized prior to - being activated. - - * ace/Strategies_T.cpp (activate_svc_handler): Make sure to set - the peer's handle into non-blocking mode *before* calling the - Svc_Handler's open() method. This ensures that things are set - up correctly when this hook is called. - -Sat May 17 02:19:27 1997 Nanbor Wang - - * ace/config-freebsd.h (ACE_HAS_BROKEN_TIMESPEC_MEMBERS): - - * ace/OS.i (set, timestruct_t, nanosleep): - - * ace/High_Res_Timer.cpp (elapsed_time): - - * ace/README: Added ACE_HAS_BROKEN_TIMESPEC_MEMBERS so that we can - fix that problem FreeBSD 2.1.x brings by defining timespec as { - time_t ts_sec ; long ts_nsec }. Notice: This is highly - non-portable. Please refer to ACE code and see how to write - portable. Fortunately, only older versions of FreeBSD have - this. Yesterday's hack didn't work, so, it's removed. Thanks - to Satoshi Ueno for reporting and helping - debug on his FreeBSD 2.1.7R box. - -Sat May 17 00:06:04 1997 - - * apps/Gateway/Gateway/Proxy_Handler.cpp (open): Turn on - non-blocking I/O only after the Channel is done sending the id - to the Peer. - - * apps/Gateway/Gateway/Gateway.cpp: - - - Added necessary DLL build macros. - - - Removed error checking for Reactor::remove_handler() for STDIN - as STDIN is never registered with the Reactor on Win32. - - - Fixed the registration of SIGINT. - - - blocking_semantics_ should be 1 when blocking is on and not 0. - - - Since the Connector is currently broken with respect to - non-blocking connects, I have put a temporary fix such that - only blocking connects are done. Revert this after the - Connector is fixed. - - * apps/Gateway/Gateway/Event_Channel.cpp: - - - Only if socket_queue_size > 0, do we set a new value. - - - In reinitiate_proxy_connection(), we must unbind the proxy - from the proxy_map_ as we are no longer responsible for - this. The Connector should now be responsible for this. - - * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: Added - necessary DLL build macros. - - * apps/Gateway/Peer/Peer.cpp: - - - Added include file and necessary DLL build macros. - - - Removed error checking for Reactor::remove_handler() for STDIN - as STDIN is never registered with the Reactor on Win32. - - - Fixed the registration of SIGINT. - - * apps/Gateway/{Peer,Gateway}: Added Win32 makefiles. - - * ace/ACE.cpp (read_adapter): Handle for the read_adapter should - always be STDIN. - -Fri May 16 18:43:17 1997 Nanbor Wang - - * ace/config-freebsd.h: Minor modification for working on FreeBSD - 2.1.x platform. Added includion of and - . Defined ACE_HAS_POSIX_TIME for 2.1.x. Redefine - timespec to timeval to hack around a bug on 2.1.x. Thanks to - Satoshi Ueno for reporting this. - -Fri May 16 12:25:32 1997 Douglas C. Schmidt - - * netsvcs/lib: Reverted back to the original Server_Logging_Handler - behavior since the new version is breaking GCC's templates. - - * ace/Log_Record.h: need to #include "ace/ACE.h" before - "ace/Log_Priority.h" so that "Log_Priority.h" sees the - configuration stuff (otherwise the following fix won't work). - - * ace/Log_Priority.h: Added a workaround for lame C++ compilers - like the one on HP/UX that can't support large enums. Thanks to - Robert Head for reporting this. - - * ace/Singleton: Added the new ACE_TSS_Singleton, which stores - Singletons in thread-specific storage. Thanks to Chris Lahey - and Rich Christy for this. - - * ace/OS.h: Removed the ACE_Singleton_Strategy since we don't need - it anymore. - - * netsvcs/lib: Added the new Server_Logging_Handler_T.* and - Log_Message_Receiver.* netsvcs. Thanks to Per Andersson for - contributing these. - - * examples/Misc/Makefile: Removed the XtReactor tests from the - Makefile until we figure out a good way to get them integrated - with the appropriate libraries. - - * ace/config-irix6.2-sgic++-nothread.h: Added the following: - - ACE_LACKS_LINEBUFFERED_STREAMBUF - ACE_HAS_SETOWN - ACE_HAS_SYSENT_H - ACE_HAS_SYSINFO - - Thanks to Torbjorn Lindgren for reporting - this. - - * ace/Proactor.cpp: Changed the use of lock() to mutex() since we - changed the name in Timer_Queue. - - * ace/Timer_Queue_T.i: Changed the name of the lock() method to - mutex() to work around compile problems with HP/UX. Thanks to - Robert Head for reporting this - workaround. - - * ace/config-irix5.3-sgic++.h: Made a few changes to get ACE to - work on IRIX 5.3. Thanks to Eugene R. Somdahl - for these fixes. - - * ace/OS: Added calloc() implementation. I don't know how - this managed to fall through the cracks! - - * include/makeinclude/platform_osf1_4.0.GNU: Added a few more - tweaks courtesy of James Johnson. - - * include/makeinclude/platform_osf1_3.2.GNU: Added a few more - tweaks courtesy of Tom Dobridge. - - * include/makeinclude/platform_osf1_4.0.GNU (DLD): Added -shared - -expect_unresolved '*' so that calls to the linker via cxx will - work correctly. Thanks to Thilo for this. - - * include/makeinclude/platform_chorus.GNU: Removed CLASSIXDIR = - /usr/home/chiang/chorus/merge/extended-i386at, added the - nostdinc flag, and removed extra whitespace. Thanks to Wei - Chiang for reporting this. - -Fri May 16 00:02:33 1997 - - * ace/ReactorEx: Even though changes to the owner field are very - well synchronized within the class code, the owner() - accessor is public and can be called from out side the - class. Therefore, I have added a owner_i() that does not do - locking. All internal calls to check the owner will use the - new accessor, whereas application code outside the class can - still use the old synchronized accessor. - -Fri May 16 11:39:51 1997 Nanbor Wang - - * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset, - sigismember): Added implementation when ACE_LACKS_SIGSET so that - platforms (NT?) without these functions can still manipulate - sigset_t variables. - -Thu May 15 22:19:59 1997 Douglas C. Schmidt - - * examples/ASX/Event_Server/Event_Server: Removed the THR_DETACHED - flag from options so that we can wait on the threads - correctly. - - * ace/Stream_Modules.cpp: Changed the logic for determining when - to compile the Stream_Modules.cpp code. Now, we compile it - unless ACE_LACKS_STREAM_MODULES is defined (i.e., we're on HP/UX - 10.x using aCC). - - * netsvcs/lib/Server_Logging_Handler.cpp (handle_input): Fixed - a bug in handle_input() where we need to return the result, not - just 0 or 1. Thanks to Per Andersson for reporting this. - - * ace/Log_Priority.h: Changed the values of the enums in - ACE_Log_Priority so that they can be dealt with via bitwise - operations. Thanks to Per Andersson for this. - - * include/makeinclude/platform_osf1_4.0.GNU: Added support for - templates. Thanks to Steve Huston and James Johnson for - verifying this. - - * include/makeinclude/platform_osf1_3.2.GNU: Got rid of all - unresolved symbol warnings using cxx 5.5 on DEC/OSF v3.2 by - using the linker flag "-expect_unresolved '*'." In addition, I - added -threads to the DCFLAGS macro. Thanks to Tom Dobridge - for this. - - * ace/Strategies_T: Added a minor ACE_Reactive_Strategy extension - to enable non-blocking I/O in active_svc_handler(). Thanks to - Arturo Montes for contributing this. - - * ace/config-osf1-4.0[-g++].h: Added a #define for - ACE_POLL_IS_BROKEN since DEC UNIX's poll() doesn't seem to work - correctly as a highres timer. Thanks to James Johnson and Thilo - for reporting this. - - * examples/Threads/thread_specific.cpp (worker): Changes - size_t i back to int i to avoid a signed/unsigned complaint. - Thanks to David Levine for reporting this. - - * ace/config-chorus.h: Added ACE_LACKS_MPROTECT, - ACE_HAS_IP_MULTICAST, and ACE_LACKS_SOCKETPAIR to the Chorus - port. Thanks to Wei Chiang for - reporting this. - - * ace/OS.i: Added ACE_LACKS_ACCESS to the Chorus config file - and VxWorks config file, as well as to OS.i. - -: * ace/OS.i: Added ACE_LACKS_GETSERVBYNAME to the Chorus config - file and VxWorks config file, as well as to OS.i. - - * ace/OS.i: Added ACE_LACKS_SBRK to the Chorus config file, as - well as to the definition of the ACE_OS::sbrk() function. - - * ace/OS.h: Removed #include /**/ from the Chorus-specific - part of OS.h since it's already included elsewhere. Thanks to - Wei Chiang for reporting this. - - * ace/Reactor: Added a typedef for ACE_Reactor_Token to - ACE_Null_Mutex for situations where ACE_MT_SAFE is *disabled*. - This makes the code more consistent. - - * ace/Reactor: Added an interface that makes it possible to - acquire a reference to the that is used to - serialize the internal Reactor's processing logic. This can be - useful for situations where you need to avoid deadlock - efficiently when are used in multiple - threads. Thanks to Detlef for pointing out the utility of this. - -Thu May 15 23:34:30 1997 Tim H. Harrison - - * ace/Process_Manager.cpp (spawn_n): Changed - ACE_Process_Manager::start_n to ACE_Process_Manager::spawn_n. - -Thu May 15 15:39:13 1997 Carlos O'Ryan - - * include/makeinclude/platform_hpux.GNU: - * ace/config-hpux-10.x.h: - * ace/config-hpux-10.x-nothread.h: - HP/CXX cannot achieve template closure, not even using the - dummy exec trick: apparently the repository gets a bit - corrupted. HP/CXX (version 10.24) support explicit template - instantiation, I believe this to be a superior method for - ensuring library closure (and it works). - - * ace/Task_T.cpp: - * ace/Stream_Modules.cpp: - I have changed the hack to compile under HP-UX, - "ace/Module.h" is once more included in ace/Task_T.cpp, but - "ace/Stream_Modules.cpp" is protected: it will be empty - under HP-UX unless included from the - "ace/Stream_Modules.h". I still believe that there is a - problem in the cyclic dependancy Task -> Module -> Thru_Task - -> Task; but it seems that the current hack works better. - - * ace/OS.h: - Defining ACE_UNUSED_ARG as (a) for HP/CXX does not work so I - moved it to the SGI and GCC definition. - - * ace/OS.i: - More unused args. - - * ace/Handle_Set.h: - Removed the extra qualification for ACE_Handle_Set::NBITS, - HP/CXX sends a lot of warnings with that. - - * ace/IOStream.h: - It included "IOStream.cpp" I think that "ace/IOStream.cpp" - is better. - - * ace/Local_Name_Space_T.h: - Ditto for "Local_Name_Space.h" - -Thu May 15 17:40:06 1997 - - * ace/ReactorEx.i (owner): Since changes to the owner field are - very well synchronized, we do not need to synchronize this - accessor. - - * ace/IOStream.h: Added /**/ after #include directives. - - * ace: Update Win32 makefiles to include UNICODE make option. - -Thu May 15 08:54:53 1997 David L. Levine - - * Makefile (release, cleanrelease): use -prune option to "find" - instead of filtering its output. Thanks to Chris Cleeland for - suggesting this. - -Wed May 14 21:52:22 1997 Douglas C. Schmidt - - * ace/UPIPE_Stream.cpp (control): We need to "cast away const" so - that this method can call the Stream's control() method - (which is non-const). Thanks to David Levine for locating this. - - * ace/Singleton.cpp: Finished re-implementing ACE_Singleton. - - * examples/ASX/Message_Queue/buffer_stream.cpp: Updated this - example to illustrate (1) how filters work in an ACE_Stream and - (2) to make sure that resizing buffers work. - - * ace/UPIPE_Stream.h: Changed the signature of control() - to take an int so that it will match the base class - signature. - - * ace/Singleton.h: The new ACE_SingletonEx isn't working yet. - I've #ifdef'd it out until it works. - - * examples/Threads/tss2.cpp: Updated this test program to - illustrate the use of the new ACE_SingletonEx class. - - * ace/Singleton.h: Added a new instance() method to the ACE - Singleton that can be used to set the Singleton. This is useful - for situations where the type being used as the Singleton - doesn't have a default constructor. Thanks to Arturo Montes - for this suggestion. - - * ace/Singleton: Factored out common code in the Singleton and - SingletonEx implementations so they will be cleaner and more - portable. - - * ace/Local_Name_Space_T.h, - ace/Map_Manager.h, - ace/Hash_Map_Manager.h, - ace/SString.h, - ace/Hash_Map_Manager.cpp: - - Changed all uses of the identifier "allocator" to "alloc" to - avoid conflicts with MSVC++ STL 5.0. Thanks to William - L. Gerecke for reporting this. - - * ace/config-aix-4.[12].x.h: Replaces - ACE_LACKS_PTHREAD_THR_SIGSETMASK with ACE_HAS_SIGTHREADMASK. - Thanks to Chris Lahey for this. - - * ace/OS.i (thr_sigsetmask): Added the ACE_HAS_SIGTHREADMASK - support for AIX. Thanks to Chris Lahey for this. - - * ace/Singleton: Added the new ACE_SingletonEx, which supports - both heap-based and thread-specific storage-based Singletons. - Thanks to Chris Lahey for this. - - * ace/OS.h: Added the new ACE_Singleton_Strategy to OS.h. Thanks - to Chris Lahey for this. - -Wed May 14 16:32:57 1997 David L. Levine - - * Makefile: use cpio instead of tar to allow easy filtering - of CVS files from the release. - -Wed May 14 15:00:58 1997 - - * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed code. - - * examples/Naming: Replaced multiple makefiles with one makefile. - - * ace/OS.h: Added UNICODE support for some #defines. - - * OS.i (vsprintf): Added support for this in ACE_OS. - - * OS.cpp (socket_init && socket_fini): It is ok to print out cout - and cerr messages from here (as the C runtime library is still - attached) but it is *not* ok to print out ACE_DEBUG - messages. God only knows the state of the thread specific LogMsg - instance when the process reaches this piece of code. - - Also added a (handy) sprintf that has the following prototype: - - sprintf (wchar_t *buf, const char *format, ...) - - * ace/Process: UNICODE fixes. - - * tests: Fixed the following such that they work with UNICODE: - - Pipe_Test.cpp - Process_Mutex_Test.cpp - Process_Strategy_Test.cpp - Time_Service_Test.cpp - Tokens_Test.cpp - - * Time_Service_Test.cpp (main): Fixed typo in the svc.conf - filename for the clerk. - -Tue May 13 18:56:27 1997 Douglas C. Schmidt - - * ace/IOStream.h: To make C++ compilers happy I added - the following changes by modifying - - ACE_IOStream & operator>>( ACE_Time_Value *& tv ); - - to be - - ACE_IOStream & operator>>( ACE_Time_Value *& tv ); - - Thanks to Chuck Gehr for this fix. - -Tue May 13 21:32:12 1997 David L. Levine - - * ace/Process.cpp (~ACE_Process_Options): delete - command_line_buf_ was missing the []. - - * examples/Threads/process_manager.cpp (main): avoid compiler - warning due to implicit creation of temporary by explicitly - creating an ACE_Process_Options instance. It gets passed to - ACE_Process_Manager::spawn (ACE_Process_Options &), which - takes a non-const reference. - -Tue May 13 18:08:32 1997 - - * examples/ASX/UPIPE_Event_Server: Made enough fixes for this to - compile on Win32 but more work need to be done for this to - work on Win32. - - * ace/OS.i (kill): The error result for ::OpenProcess() is null - and *not* invalid handle. - - * ace/Process.i (kill): Changed the implementation to remove the - ACE_OS::kill() code from ACE_Process::kill() for Win32. This - allows us to avoid calling ::OpenProcess() unnecessarily. - - * tests: For Win32, added Reactor_Exceptions_Test and - Priority_Tasks_Tests. Files changes include run_tests.bat, - tests.mak, and tests.mdp. - - * tests/Future_Test.cpp (main): Fixed memory leaks in main() and - in name_i(). - - * tests/Thread_Pool_Test.cpp (open): The loop was messed up - causing memory leaks. I fixed it. - - * ace/UPIPE_Stream.cpp (close): I am not sure why the stream was - closed with M_DELETE_NONE. This indicates that close() should - not delete any Tasks. This caused a memory leak as the Tasks in - the Tail and Head modules were not deleted. I have removed this - to fix the memory leak. - - Also added a destructor such that mb_last_ is released if it is - still around. - -Tue May 13 16:48:18 1997 James C Hu - - * ace/Process.cpp: Added implementations to new interfaces - to ACE_Process_Options::setenv (char *envp[]), and - ACE_Process_Options::command_line (char *argv[]). - - * apps/JAWS/server/HTTP_Response.cpp: Required changes so that CGI - processing will work with the new ACE_Process class. - - * apps/JAWS/stress_testing/benchd.cpp: Requried changes due to - changes in the ACE_Process interface. - -Tue May 13 15:22:01 1997 Tim H. Harrison - - * ace/Process_Manager.h: Changed ACE_Process_Manager::start to - ACE_Process_Manager::spawn. - - * ace/Process.cpp (spawn): The check for a null environment argv - was incorrect. Thanks to Nanbor for finding this. - -Mon May 12 18:59:39 1997 David L. Levine - - * ace/config-mvs.h: conditionally use ACE_HAS_UCONTEXT_T or - ACE_LACKS_UCONTEXT_H depending on __COMPILER_VER__. Thanks to - Chuck Gehr for this fix. - - * OS.h, OS.cpp (thr_create), Task.h, Thread.h, Thread_Manager.h: - use ACE_DEFAULT_THREAD_PRIORITY instead of -1, because -1 is a - valid priority on Win32. Thanks to Irfan for discovering this - problem with Priority_Task_Test. - - * ace/Thread_Manager.cpp (wait_grp,wait_task): changed type of loop - index "i" from size_t to int to avoid signed/unsigned comparison. - -Mon May 12 18:41:19 1997 Nanbor Wang - - * ace/config-freebsd-pthread.h: - * ace/config-freebsd.h: Added ACE_LACKS_RWLOCK_T to FreeBSD config - files. Thanks to Amancio Hasty for - noticing this. - -Mon May 12 17:11:50 1997 Tim H. Harrison - - * ace/Process.h: Changed ACE_Process::start to - ACE_Process::spawn. Added new argv-style methods for - ACE_Process::setenv and ACE_Process::command_line. These new - argv-style methods do not have implementations yet. - -Mon May 12 15:27:41 1997 Douglas C. Schmidt - - * ace/config-aix-4.[12].x.h: Added ACE_HAS_EXCEPTIONS to - the AIX 4.* config files. Thanks to Chris Lahey for this. - -Mon May 12 13:49:54 1997 - - * ace/Thread_Manager.cpp (wait): We have to make sure that while - we wait for these threads to exit, we do not have the - lock. Therefore we make a copy of all interesting entries and - let go of the lock. We then do the join(). - - * ace/Task.cpp (wait): Removed the extra locking in wait(). The - Thread Manager will handle this correctly. - - * ace/ACE.cpp (register_stdin_handler): Changed the options such - that the Thread Manager used for the adapter is passed along to - the method executed by the new thread. We can then notify the - thread manager when this adapter thread exits. - - * examples/ASX/Event_Server/Event_Server: Changed the way the - reference count was being kept on the context. Now, the - reference count starts with zero and every instance and every - active Task increments it. This works well as Task::close() is - called one from the module being deleted and from the active - thread going away. - -Mon May 12 11:11:51 1997 - - * ace/Process.*: Removed the old ACE_Process and replaced it with - what was ACE_ProcessEx. - - * ace/Process_Manager.{i,cpp}: Updated to use the new ACE_Process - API. - -Mon May 12 08:16:38 1997 David L. Levine - - * ace/config-freebsd*.h: added support for FreeBSD 2.1.7R. - Thanks to Satoshi Ueno for figuring - out the differences and to Nanbor Wang - for updating the config files. - -Sun May 11 17:36:59 1997 - - * tests/{Pipe_Test.cpp, Process_Mutex_Test.cpp, - Time_Service_Test.cpp, Token_Service_Test.cpp}: Updated these - files to use the new ACE_Process API. - -Sun May 11 14:40:51 1997 David L. Levine - - * ace/config-osf1-4.0.h: put back ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. - - * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered - initializers to match declaration order. - -Sat May 10 19:44:28 1997 - - * Process.h: ACE_ProcessEx now works on Solaris and NT. There - have been some changes to the API. ACE_ProcessEx::cl_options - and ACE_ProcessEx::path have been combined into - ACE_ProcessEx::command_line. ACE_ProcessEx::command_line must - be used to specify path and command-line arguments. There is - also a second ACE_ProcessEx::setenv method that allows - applications to set environment variables in a "VAR=VALUE" - format. - -Sat May 10 10:51:11 1997 Douglas C. Schmidt - - * ace/config-osf1-3.2.h: Added three new flags to the config file - for OSF/1 3.2: - - #define ACE_LACKS_SETSCHED - #define ACE_LACKS_RWLOCK_T - #define ACE_LACKS_GETPGID - - Thanks to Tom Dobridge for reporting - this. - -Fri May 09 16:37:48 1997 David L. Levine - - * ace/config-osf1-4.0.h: added DEC_CXX. - - * ace/config-osf1-4.0-g++.h: removed commented-out - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. - - Thanks to Thilo Kielmann for - patches for the above two OSF config files. - - * ace/Sched_Params.cpp (priority_min): On Solaris (with STHREADS), - don't return priority of 0 because ::pthread_attr_setschedparam () - will refuse to use it (with EINVAL). So, bump priority of 0 up to 1. - - * tests/Priority_Task_Test.cpp: retry the task activation with - priority 0 if it fails with non-zero priority. This lets the - test run on platforms such as Linux that only let the superuser - set non-zero priority. - - * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered - initializers to match declaration order. - - * examples/Connection/non_blocking/test_lsock_acceptor.cpp: fixed - typo in template specializations: ACE_LSOCK_ACCEPTOR instead of - ACE_SOCK_LACCEPTOR. - -Fri May 9 13:07:20 1997 Douglas C. Schmidt - - * ace/UNIX_Addr: Changed the return values of all the set() - methods so that they conform to the signature used by the - INET_Addrs. - - * examples/Connection/non-blocking: Added two new test programs, - test_lsock_{connector,acceptor}.cpp that - - - * ace/LSOCK_Stream.cpp: Revised the get_remote_addr() method so - that it uses the underlying ACE_SOCK::get_remote_addr() method - rather than the get_local_addr() method. Hopefully, this will - fix an ACE bug with UNIX domain sockets. Thanks to Paul Han - for reporting the problem and the fix. - - * include/makeinclude/platform_aix4.2.GNU (LLIBS): Changed - - LLIBS = -lC_r -lC -lpthreads -lbsd -ltli_r -ldl -lc_r -lm -lc $(ACELIB) - - to - - LLIBS = -ltli_r -ldl $(ACELIB) - - MakeC++SharedLib_r includes all the other libs automatically in - the search. - - * apps/Gateway/Gateway/Proxy_Handler.h: Moved the handle_close() - method into the public section since the Connector now calls it. - - * ace/Containers.cpp: Updated all the operator= methods so - that they no longer try to return *this. Thanks to Chris Lahey - for reporting this. - - * ace/IOStream.h: Replaced __alpha with DIGITAL_UNIX && DEC_CXX. - Thanks to Thilo for reporting this. - - * build/gcc/tests/Simple_Message_Block_Test.cpp (main): Changed - the use of ACE_Mutex to ACE_SYNCH_MUTEX so that everything will - build correctly on non-MT platforms. - - * ace/Timer_{Heap,List}_T.cpp: To ensure backwards compatibility - with the old "int" return value of Timer_*::schedule() we must - cast the long value to int before returning it. Thanks to Thilo - Kielmann for reporting this. - - * ace/Acceptor.cpp, - ace/Connector.cpp: - If an active or passive connection times out and the Connector - or Acceptor calls the handle_timeout() method of the - Svc_Handler, we now keep track of whether the handle_timeout() - method returns -1. If so, we call handle_close() on the - Svc_Handler automatically. Thanks to Michael Hartman - for suggesting this. - - * tests/IOStream_Test.cpp: Fixed this test so that it runs on - non-MT platforms. - - * ace/Module.cpp: Changed the implementation of the close_i() - method so that it will wait for all active threads in a Task to - exit before deleting the task. - - * ace/Task: Added a wait() method on an ACE_Task that will use the - new ACE_Thread_Manager::wait_task() method to block until all - threads have shutdown in a Task. - - * ace/Thread_Manager: Finally implemented the wait_task() and - wait_grp() interfaces on ACE_Thread_Manager. - - * ace/SOCK_Dgram.cpp: Added a timed recv() operation. Thanks - to Hongbo Xu for contributing this. - - * ace/Timer_Queue_T.cpp: Added #include "ace/Synch.h" to keep the - DEC C++ compiler happy. Thanks to James CE Johnson - for this. - - * ace/Containers.i (size): Changed to so that this - compiles on the Alpha. Thanks to James CE Johnson - for this. - - * ace/IOStream.h: Include the std_macros header on the Alpha. - Thanks to James CE Johnson for this. - - * include/makeinclude/platform_osf1_4.0.GNU (SOBUILD): Removed - -lACE from the link line. Thanks to James CE Johnson - for this. - - * tests/Timer_Queue_Test.cpp: Changed all the int timer ids to - long so that the test will work on DEC ALPHAs. Thanks to Thilo - Kielmann for reporting this. - - * ace/Process: Fixed a number of compile problems for UNIX. - - * ace/Process.h: Changed the methods named stdin/stdout/stderr to - std_in/std_out/std_err to avoid name clashes with the standard C - library. - - * ace/OS: Changed the use of ACE_Unbounded_Set to - ACE_Unbounded_Stack in order to get the appropriate semantics - for TSS cleanup on NT. - - * ace/Containers: Enhanced the ACE_Unbounded_Stack class so - that it supports insert()/remove()/find() methods. These - rather unorthodox methods are useful for implementing the - TSS semantics required by OS.cpp. - - * ace/Containers: Revised all the interfaces for the various - containers so that they all have the same "look and feel." - -Fri May 9 00:00:21 1997 James C Hu - - * apps/JAWS/server/HTTP_Request.{h,cpp}: Added a uritopath - translation method, so that CGI location can be computed as it - is searched. Added methods to access the parsed headers. - - * apps/JAWS/server/HTTP_Response.{h,cpp}: Flushed out the - implementation of cgi_response () method. If all goes well, it - should be able to execute a CGI program. I don't set the IO - handles to point at the socket handle yet. - - * apps/JAWS/server/README: Updated description of JAWS behavior. - -Thu May 8 18:04:14 1997 Irfan Pyarali - - * ace/Containers: Made the return values of Container methods - more consistant with other components of ACE (i.e., 0 for - success, -1 for failure). - - * ace/Containers (ACE_Unbounded_Stack::delete_all_nodes): - Fixed subtle bug in delete_all_nodes. - - * ace/OS.cpp (ACE_TSS_Cleanup::exit): Changed because of - return value changes in ACE containers. - - * Containers: Added size methods to stack containers and - consolidated friendship between ACE_Unbounded_Stack_Iterator and - ACE_Unbounded_Stack - - * tests/Message_Block_Test.cpp: I was incorrect about each data - block having its own lock. Since *many* data blocks can share - the same lock, for the case of message block chains, we would - like to optimize locking. - - Therefore, the first guy in the chain grabs the lock and passes - it to the continuation chain. When each guy in the chain gets - it, it compares the passed lock to its own locking strategy. If - it is the same lock, no need to acquire the lock again. If our - lock is different, then we do our own locking. - - * tests/Simple_Message_Block_Test.cpp: This test program is a - torture test that illustrates how ACE_Message_Block reference - counting works, how and when locks are used, how memory is - managed, and how continuation chains of message blocks are - made. Ideally used with purify :-) - - * tests: Added new test. Following changed: - Makefile run_tests.bat run_tests.sh tests.mak tests.mdp - -Thu May 8 18:04:14 1997 James C Hu - - * include/makeinclude/platform_irix6.2_sgic++.GNU: Moved SGI C++ - options out of CPPFLAGS into CCFLAGS so that gcc won't emit - diagnostics during a make depend. - -Thu May 8 11:52:41 1997 Chris Cleeland - - * ace/{Task,Thread}.h: Added documentation describing - thread priority determination to methods where priority - is an [optional] argument. Note that if you want to inspect - the REAL documentation, you should look at the code for - ACE_OS::thr_create(). But that's convoluted and touchy. - - * ace/Strategies_T.h (ACE_Cached_Connection_Strategy): Added - documentation for this class. - -Thu May 08 00:10:00 1997 - - * ace/Process.*: This is the first pass at the new ACE_Process - class. It is now called ACE_ProcessEx. When it is completely - ported to Solaris, we'll replace the current ACE_Process with - ACE_ProcessEx. - - * examples/OS/Process/process.cpp: Added some examples for the - new ACE_ProcessEx. - -Wed May 07 21:58:29 1997 - - * ace/Message_Block.h: ACE_Data_Block calling delete on the - ACE_Message_Block was incorrect. This was a hack to simplify - the locking issues! However this optimization leaded to - incorrect code. Therefore I have taken this behavior out. The - new implementation will lock and unlock multiple times in the - case when there are message_blocks in the continuation field, - all of which point to same data block. However, this is a - strange case that can be optimized later. For now correct code - is more important. - - Also, the continuation message blocks are only deleted in the - release() method and not in the destructor. This will ensure - that if message blocks of the stack are chained together, we - will not call release on message blocks of the stack. - - Also note that release() should only be called on message blocks - that have been dynamically allocated. Message blocks of the - stack will clean up properly when the activation record of the - method completes. Dynamically allocated messages blocks should - *never* be chained with message blocks allocated of the stack. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.h: Removed - empty definitions of assignment operator and copy constructor. - - * examples/ASX/Event_Server/Event_Server/event_server.cpp - (handle_input): Added code here will make sure we actually wait - for the user to type something. On platforms like Win32, - handle_input() is called prematurely (even when there is no - data). - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Changed - a log message. - -Wed May 7 22:55:00 1997 James C Hu - - * JAWS/server/*: Debugging changes! GET and HEAD both work - now. As well as changes to make it compile cleanly on - VXWORKS, as reported by David. - -Wed May 07 16:05:39 1997 David L. Levine - - * ace/Makefile: added Timer_Wheel to FILES. Thanks to Thilo - Kielmann for reporting this. - - * include/makeinclude/platform_irix6.2_sgic++.GNU: enabled CPPFLAGS - to instantiate all templates so that gatewayd will build. - Thanks to Nathan N. Vuong for reporting - this problem and Eric Dean Russell - for supplying and the fix. - - * ace/Map_Manager.h: updated comments to indicate that find - functions return a non-negative integer if the item is found. - - * ace/Map_Manager.cpp (find_i (const EXT_ID &, INT_ID &)): return - index instead of 0 if the item is found, to be consistent with - find_i (const EXT_ID &). - - * ace/IOStream.cpp (ACE_Streambuf_T ctor): added initializations of - eback_saved_ and pbase_saved_ to avoid unitialized memory read - reports from Purify. - -Tue May 6 07:39:25 1997 Douglas C. Schmidt - - * ace/Service_Config.cpp (open): Make sure to perform the - daemonization logic first so that we get a new process created - before initializing reactors, etc. Thanks to Adrian Salt - for reporting this. - - * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp (main): - Changed ACE::INVALID_HANDLE to ACE_INVALID_HANDLE. - Thanks to Dani Flexer for - reporting this. - - * tests/Conn_Test.cpp (compare_i): Changed the comparison from - a1 == a2 to a1 != a2 since this appears to be what is needed. - We need to improve the comments here! - - * tests/Conn_Test.cpp: Split the definition of the Svc_Handler - template into its own Conn_Test.h file to work around "features" - with AIX C++. Thanks to Chris Lahey for reporting this. - - * ace/Containers.cpp: Fixed a bug in the set() method for - ACE_Unbounded_Queue. Again, thank goodness for cs242! - - * ace/Containers.cpp: Fixed a bug in the enqueue_head() logic for - ACE_Unbounded_Queue. Thank goodness for cs242 ;-). - - * ace/Containers.cpp: Added a destructor for ACE_Node to keep the - compilers happy. - -Tue May 06 11:31:49 1997 David L. Levine - - * netsvcs/lib/*.cpp: removed break statements after - ACE_RETURNs to avoid unreachable statement warnings from - GHS. - - * ace/OS.cpp (mktime): added time_t cast of -1 (error) return - to avoid compiler warning. - - * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SIGNED_CHAR. - - * ace/Containers.cpp (dequeue_head): fixed typos in variable names. - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - removed #ifdef ACE_HAS_TLI around some template specializations so - that this subproject will build on platforms non-TLI platforms such - as Linux. - -Tue May 6 17:02:54 1997 James C Hu - - * ace/OS.{h,i}: Added strftime (). Also, enhanced strcasecmp - implementation to account for lexicographical ordering for - mismatches. - - * apps/JAWS/server/Parse_Headers.{h,cpp} (class Headers_Map): - Changed signature of casting operator to return a pointer - rather than a reference to a constant pointer, to fix - anachronism warning Doug found. - - * apps/JAWS/server/HTTP_Config.{h,cpp}: Added class - HTTP_Config to be a container for HTTP server options - such as locations of directories, port, etc. - - * apps/JAWS/server/HTTP_Helpers.{h,cpp}: Added code to enhance - support for CGI scripts: - - Added HTTP_decode_string to HTTP_Helper class, to deal - with percent codes. - - * apps/JAWS/server/HTTP_Request.{h,cpp}: Added code to enhance - support for CGI scripts: - - Added cgi_, cgi_env_, and cgi_args_ data members to - and corresponding accessors. - - Added nice accessors to the important data members to - simplify other parts of the code. - - Added method to parse URI to determine the name of the CGI - executable if present. - - * apps/JAWS/server/HTTP_Response.{h,cpp}: Added code to - enhance support for CGI scripts: - - Hooks are now present to make the appropriate calls - to activate a CGI program. - - * apps/JAWS/server/*.{h,cpp} - Various changes from the ACE mailing list incorporated. - Cosmetic changes for ACE coding style. - - SGI fixes. - -Tue May 6 00:00:54 1997 Chris Cleeland - - * ace/Message_Block.cpp: Added template specialization for - ACE_Guard<> that prevented ACE from compiling under Linux. - -Mon May 5 22:17:15 1997 Sumedh Mungee - - * apps/JAWS/stress_testing: Removed the usleep definition from - global.h, it was unused by the program. - -Mon May 05 21:01:42 1997 David L. Levine - - * ace/config-linux*.h: added ACE_HAS_STRING_CLASS. Thanks to - Luis Lopes for reporting this. - -Mon May 05 19:58:16 1997 - - * ace/ace.{mak,mdp}: Readded IOStream.cpp to the makefile. - - * ace/Synch_T.h: Added ACE_SYNCH_RECURSIVE_MUTEX. - - * ace/Timer_Queue: Added an extra template parameter to - Timer_Queues that specifies the type of locking to be used - inside of the timer queue. - - Also changed the functor callback routines so that they are more - descriptive compared to operator (). - -Mon May 5 21:37:01 1997 Douglas C. Schmidt - - * ace/Message_Block: Revised the release() logic for - ACE_Message_Block and ACE_Data_Block so that we will delete both - within the same block of code in order to hold the lock. This - should prevent nasty race conditions in multi-threaded programs. - Thanks to Craig Perras for - reporting this problem. - - * ace/Message_Block.cpp: Replaced an explicit acquire()/release() - of ACE_Lock::locking_strategy_ with a call to an ACE_Guard. - - * ace/Containers.cpp (set): Optimized for the common case where - we're increasing the size of the set by 1. - - * ace/Containers: Merged the ACE_Set_Node, ACE_Stack_Node, and - ACE_Set_Node into a single "ACE_Node" class. This tidies up the - code quite a bit. - - * ace: Removed the Set.* and Stack.* files and replaced them with - the Containers.* files. This file contains the ACE_*Stack, - ACE_*Queue, and ACE_*Set classes. If this revised file scheme - breaks existing code please let me know and I'll provide - backwards compatibility. - - * ace/Stack: Changed the name of ACE_Unbounded_Queue::enqueue() to - ACE_Unbounded_Queue::enqueue_tail() and also added - ACE_Unbounded_Queue::enqueue_head(). - - * ace/OS: Changed the names of the parameters of the ACE_OS::mem* - methods from ACE_OS::mem* (void *s, const void *t) to - ACE_OS::mem* (void *t, const void *s) since "t" should stand for - "target" and "s" for "source." Thanks to Andres Kruse - for pointing this out. - - * ace/Stack: Removed the peek() method from ACE_Unbounded_Queue. - This functionality is now subsumed by the get(..., 0) method. - If this breaks any existing code please let me know. - - * ace/Stack.h: Moved all the functionality from ACE_Unbounded_Set - into ACE_Unbounded_Queue. That's really where this belonged in - the first place. Thanks to David Levine for noticing this. - - * ace/Set.h: Moved ACE_Set_Node from the *.cpp file into the *.cpp - file in anticipation of AIX C++ compiler bugs ;-). - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: - Rearranged the location where we register to receive standard - input so that the socket handle will not be initialized at this - point. Thanks to craig perras for - reporting this. - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp - (Event_Transceiver): Make sure to #ifdef around SIGQUIT for - WIN32 since it lacks this signal. Thanks to craig perras - for reporting this. - - * ace/config-osf1-4.0-g++.h: Removed the ACE_LACKS_SIGNED_CHAR - since this seems to be compiler specific. Thanks to Thilo for - this insight. - - * ace/Strategies_T: Added a number of fixes and enhancements to - the new Hash_Addr and ACE_Cached_Connect_Strategy classes. - - * ace/Strategies_T.h: Added #include for "Hash_Map_Manager.h". - Thanks to Amos Shapira for reporting this. - - * ace/config-hpux-10.*.h: Applied a number of patches courtesy of - Carlos O'Ryan. - - * ace/Dump.cpp: Changed a cast from - - delete (ACE_Dumpable_Ptr *) this->dumper_; - - to - - delete (ACE_Dumpable *) this->dumper_; - - This fixes a potential bug. Thanks to Carlos O'Ryan for this - bug report. - - * ace/DEV_IO.h, - * ace/SPIPE_Stream.h: Removed the = 0 default value for one send() - method to avoid ambiguity with the other send() method. Thanks - to Carlos O'Ryan for this bug report. - - * ace/Map_Manager.cpp (advance): Removed a cast to size_t since - that is always true. Thanks to David Levine for pointing this - out. - - * ace/XtReactor: Moved the remove_handler_i() and - register_handler_i() methods into the protected portion - of the class. Since these should never be called by the - client I've moved them into protected portion to ensure this - is the case. - - * ace/XtReactor: Changed the implementation of the XtReactor to - use long for dealing with timers. Thanks to Stuart Powell - for reporting this. - -Mon May 5 17:16:41 1997 Carlos O'Ryan - - * ace/config-hpux-10.x.h, config-hpux-10.x-nothread.h: - Some patches are needed to compile ACE under HP-UX (using HP/C++), - I documented those patches. - -Mon May 05 11:50:39 1997 David L. Levine - - * netsvcs/lib/Server_Logging_Handler.cpp: fixed ACE_Svc_Handler - specializations, yet again, for Linux w/LXPthreads. Thanks to - Luis Lopes for reporting this - problem with sufficient detail for us to track it down. - - * ace/Stack.* (ACE_Unbounded_Queue): - - 1) made peek () const. - 2) added another peek (u_int index = 0) function that can peek - at any queue item, not just the first. It returns a pointer - to the item (or 0 if not found), to avoid copying. - 3) changed return type of size () from int to size_t. - 4) inlined size (). - - * ace/Strategies_T.cpp (connect_svc_handler, operator==): - added return type. - - * netsvcs/lib/Server_Logging_Handler.cpp: fixed template - specializations for platforms that have neither THREADS nor - TLI. Thanks to Nanbor Wang for reporting this. - -Sun May 4 12:34:09 1997 Douglas C. Schmidt - - * ace/OS.cpp: If ACE_HAS_THREADS isn't defined then we'll just - use mktime() without the locking. - - * ace/Set: Removed the get() methods from the ACE_Fixed_Set and - ACE_Bounded_Set since they don't make much sense on these - abstractions. - - * ace/Set: Changed the new "find" method to be called "get" to - correspond to the new "set" method I'm adding. - - * ace/SString.cpp: Added a operator << for ACE_CString in - order to print it with iostreams. - - * ace/Set.cpp: Added a reset method to the ACE_Unbounded_Set to - remove all the nodes without completely destroying the set. - - * ace/SString: Added friend operator+ to both ACE_CString and - ACE_WString in order to provide a concatenation operator. - - * ace/SString: Added a compare() method to all the ACE String - classes. This behaves just like the Standard C library strcmp() - function. - - * ace/Message_Queue.i: Oddly, there were a bunch of methods - defined in this *.i file that didn't have ACE_INLINE in front of - them. I'm surprised this didn't give compile errors on some - platforms. I've fixed this by moving these methods into the - *.cpp file. - - * ace/Stream, - ace/Service_Repository, - ace/Reactor, - ace/Message_Queue, - ace/Map_Manager, - ace/Malloc_T, - ace/Hash_Map_Manager, - ace/Set: Added a done() method on all the iterators so that - we can check within the iteration itself to see if there are any - remaining elements. In addition, updated the return value of - advance() on all iterators so that it returns 1 if we're not - done and 0 if we're done. - -Sun May 04 07:22:49 1997 David L. Levine - - * ace/Timer_Heap_T.cpp: changed some more int declarations to longs. - -Sat May 3 17:38:19 1997 Douglas C. Schmidt - - * Changed all uses of Reactor::{scheduler_timer,cancel}() and - Timer_{Queue,List,Heap,Wheel}::{schedule,cancel}() to use - long rather than int. This is important since it ensures that - we can make the Timing Wheels trick of casting the - Timer_Node * to long work correctly on machines that have 64 - bit pointers, 64 bit longs, and 32 bit ints (e.g,. DEC - ALPHA). Thanks to Thilo Kielmann - for pointing this out, - even though he finds this solution distasteful ;-). - - * netsvcs/lib/TS_Clerk_Handler.cpp (initiate_connection): I - believe there was also a bug here -- if schedule_timer() returns - 0 that's not an error! - - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp - (initiate_connection): I believe there was a bug here -- if - schedule_timer() returns 0 that's not an error! - - * tests/IOStream_Test.cpp: Added some minor changes for DEC UNIX. - Thanks to James CE Johnson for reporting - this. - - * ace/IOStream: Added a number of minor changes for DEC UNIX. - Thanks to James CE Johnson for reporting - this. - - * ace/config-osf1-4.0.h: Added - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS to the config.h file. - Thanks to James CE Johnson for reporting - this. - - * ace/SString: Made the ace_string_null_string_ a static data - member rather than an external constant. This should control - the name space a bit better. - - * ace/SString.cpp: Fixed the ACE_CString::operator += so that it - won't screw up if this->rep_ initially points to the - ACE_String_null_string_. - - * examples/Misc: Added a new test_set.cpp program that exercises - the ACE_*_Set classes. - -Sat May 03 06:56:10 1997 David L. Levine - - * ace/Map_Manager.cpp (dtor): removed void return (typo). - - * ace/Set.cpp (ACE_Fixed_Set::operator =): typo: fs instead of bs. - - * ace/Set.cpp (ACE_Fixed_Set::find): typo: index instead of i. - - * ace/IOStream.cpp: fixed typo: "#if defined" instead of just "#if". - - * tests/Conn_Test.cpp, - netsvcs/lib/{Client_Logging_Handler,TS_Clerk_Handler}.cpp, - netsvcs/clients/Tokens/manual/manual.cpp, - apps/Gateway/Gateway/Event_Channel.cpp,: - apps/JAWS/client/Blob.cpp, - examples/ASX/Event_Server/Event_Server/Peer_Router.cpp, - examples/ASX/Event_Server/Transceiver/transceiver.cpp, - examples/ASX/UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp, - examples/Connection/misc/test_upipe.cpp, - examples/Connection/non_blocking/test_*_connector.cpp: added - ACE_Map_Entry template specialization. It's needed now that the - destructor is explicit. - -Fri May 2 14:57:56 1997 Douglas C. Schmidt - - * ace/Map_Manager.cpp: Added a no-op destructor to ACE_Map_Entry - just to keep some compilers happy. Thanks to Chuck Gehr for - reporting this. - - * ace/config-osf1-4.0.h: Added - - #define ACE_LACKS_IOSTREAM_FX - #define ACE_LACKS_LINEBUFFERED_STREAMBUF - #define ACE_LACKS_SIGNED_CHAR - - Thanks to James CE Johnson for reporting - this. - - * ace/Timer_{Wheel,Heap,List}_T.h: Fixed a typo in all these - classes that was failing to put the keyword "class" after - "friend." Also, replaced the use of the typedef with the - expanded name of the class to work around problems with DEC - C++. Thanks to James CE Johnson for - reporting this. - - * ace/Set: Added a find() method that will return the "ith" - element in the set. - - * ace/Set: Added copy constructors and assignment operators to all - the ACE_*_Set classes. - - * ace/Set.cpp: Changed the implementation of ACE_Unbounded_Set to - use a dummy node and a circular list. This improves performance - and also makes it possible to implement "queue" semantics for - inserting at the tail of the set. - - * ace/config-osf1-4.0.h: Added the ACE_HAS_STRING_CLASS macro. - Thanks to James CE Johnson for this. - - * ace/IOStream: Added the ACE_HAS_STRING_CLASS macro to - replace the nasty #ifdefs we had previously. Thanks to - James CE Johnson for this. - - * ace/config*.g++: Added ACE_HAS_STRING_CLASS for all the GNU - compilers and Win32. - - * ace/config-mvs.h: Added a new version that contains support for - IBM OS/390 r2. Thanks to Chuck Gehr for this. - -Fri May 02 08:14:30 1997 David L. Levine - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: removed - specializations of ACE Guards because they're in libGateway. - Thanks to Joey Zhu for reporting this problem. - - * examples/ASX/Event_Server/Transceiver/{Makefile,transceiver.cpp}: - added template specializations to transceiver.cpp so that it no - longer needs to be linked with libGateway. - - * examples/ASX/Event_Server/Event_Server/{Makefile,Peer_Router.cpp}: - added template specialization to Peer_Router.cpp so that event_server - no longer needs to be linked with libGateway. - - Thanks to Joey Zhu for reporting the above - link problems. - - * apps/Gateway/Peer/{Makefile,Peer.cpp}: added template - specialization to Peer.cpp so that peerd no longer needs to - be linked with libGateway. - - * Log_Msg.cpp (VxWorks only): fixed used of ::taskDeleteHookAdd (it - should only be called once for all Log_Msg instances) and added call - to ::taskDeleteHookDelete to clean up when the last task exits. - Thanks to Dave Mayerhoefer for - reporting this. - - * tests/Conn_Test.cpp: changed some fprintf print specifiers to avoid - g++ warnings about printing pointer values. - -Thu May 01 00:05:59 1997 - - * tests/Time_Service_Test.cpp (main): Made sure that the backing - store is not there at the start of the program. We need to make - sure because this test kills the Time Clerk and on some - platforms the Clerk is not allowed to do a graceful shutdown. By - cleaning the backing store here, we are sure that we get a fresh - start and no garbage data from a possible aborted run. - - The old code deleting the backing store at the end of the test - is still there but does not work on Win32 as unlink fails with - ERROR_ACCESS_DENIED. I am not sure why this is happening! For - now the unlink at the start of the program will do. - - Also added a wait for the clerk before deleting the backing - store. This way we are sure that we do not delete the backing - store before the clerk is done with it. - - * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed an obscure bug with - ACE_TS_Clerk_Processor. ACE_TS_Clerk_Processor (which is an - ACE_Connector) and all its pending connection objects are still - registered with the Reactor when the process exits and the - Service_Object is deleted. After this the destructor of the - Reactor then calls handle_close on ACE_TS_Clerk_Processor - (which does not exist anymore), causing a seg fault. The - solution is to call ACE_Connector::fini from - ACE_TS_Clerk_Processor::fini. ACE_Connector::fini will - unregister ACE_TS_Clerk_Processor and all pending connects from - the Reactor. - -Wed Apr 30 17:47:11 1997 Douglas C. Schmidt - - * ace/OS.i (getpwnam_r): Changed the expression to check if - getpwnam_r() returns -1 for AIX. Thanks to Chris Lahey for - this. - - * ace/Timer_Wheel_T.h: changed - - // = Don't allow these operations for now. - ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T &); - void operator= (const ACE_Timer_Wheel_T &); - - to: - - // = Don't allow these operations for now. - ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T &); - void operator= (const ACE_Timer_Wheel_T &); - - Thanks to Chuck Gehr for reporting this. - - * ace/OS.cpp: Made mktime() thread-safe. If any platforms support - multi-thread safe versions of mktime() please let me know so we - can set the ACE_HAS_MT_SAFE_MKTIME macro for that config file. - - * ace/OS.i: Added a new special case for getpwnam_r() on AIX. - Thanks to Chris Lahey for reporting this. - -Wed Apr 30 16:01:04 1997 James C Hu - - * ace/OS.i, ace/OS.h: added mktime(). - -Wed Apr 30 14:17:34 1997 David L. Levine - - * ace/config-vxworks*.h: added ACE_LACKS_PWD_FUNCTIONS. Thanks - to Dave Mayerhoefer for reporting - this. - - * ace/OS.i: cleaned up ACE_LACKS_PWD_FUNCTIONS comments a bit. - - * ace/Array.{h,i}: added const operator []. - - * ace/Array.cpp (ctors): reordered initializers to match declaration - order. - - * netsvcs/lib/Server_Logging_Handler.cpp: protect against multiple - inclusion. Thanks to Kevin Martindale - for reporting this problem. - -Wed Apr 30 08:42:55 1997 Douglas C. Schmidt - - * ace: Added a new generic Array class, which we'll use until - STL becomes more widely portable. - - * ace: Added a new macro ACE_LACKS_GETPGID to clean up the code - in ACE_OS::getpgid(). - - * ace: Added new config*.h files and platform*.GNU files for - FreeBSD. Thanks to Nanbor Wang for these. - -Wed Apr 30 07:44:36 1997 David L. Levine - - * ace/config-osf1-4.0*.h: removed ACE_HAS_SIGWAIT. - - * ace/OS.{h,i}: applied Thilo's patch for sigwait on Digital - Unix 4.0, which defines sigwait as a macro. Thanks to - Thilo Kielmann for - this and the above config file patches. - - * ace/IOStream.{h,cpp}: James CE Johnson updated - the IOStream class; see comments in IOStream.h. - - * examples/Logger/client/logging_app.cpp (main), - performance-tests/Misc/test_naming.cpp (*): replaced sprintf - with ACE_OS::sprintf. Thanks to Thilo Kielmann - for reporting these. - -Tue Apr 29 20:03:38 1997 - - * apps/JAWS/stress_testing/http_tester.cpp : Removed usage - of pow (), and changed method of calculating throughput/latency - to use straight multiplication instead of pow (). Updated - Makefile to not link -lm. - -Tue Apr 29 19:57:52 1997 - - * config-win32-common.h (ACE_HAS_TEMPLATE_SPECIALIZATION): Win32 - supports this option. Added to config file. - - * ace: Removed tracing for the following to make things work with - tracing on: - - ACE::timestamp - ACE_FIFO_Send_Msg::send - ACE_SPIPE_Stream::send - ACE_Sig_Guard::ACE_Sig_Guard - ACE_Sig_Guard::~ACE_Sig_Guard - - * netsvcs/servers/main.cpp (main): Added special code for Win32 - such that only SIGINT is being registered with the Signal - Handler. SIGQUIT is not supported on Win32. - - * netsvcs/lib/Token_Handler.cpp (init): Removed the registration - of the Acceptor for SIGINTs. - - * netsvcs/lib/TS_Server_Handler.cpp (init): Same as above. - - * netsvcs/lib/Client_Logging_Handler.cpp (open): Removed the - registration of SIGPIPE for Win32. Win32 does not support - SIGPIPE. - - * tests/Process_Strategy_Test.cpp (server): The new thread must - become owner before it can call Reactor::handle_events. Also - fixed #define typo. - - * ace/OS.cpp (socket_fini): Remove the ACE error message as the IO - Stream objects are already gone by this point in the program. - - * examples/Registry/Registry.mak: Replaced the old makefiles with - this one. Also added _AFXDLL as a preprocessor define, forcing - the correct inclusion of header files that give a consistent - definition of HKEY. This is a hack till we have a better - solution. - - * ace/Event_Handler: Removed the old Proactor callback methods. - -Tue Apr 29 17:39:40 1997 Douglas C. Schmidt - - * ace/config-mvs.h: Added #define ACE_LACKS_LINEBUFFERED_STREAMBUF - for MVS. Thanks to Chuck Gehr for - reporting this. - - * ace: Commented out ACE_TRACE calls in constructors in - several ACE classes in order to avoid problems with circular - initialization dependencies related to mutexes that are - breaking code on WinNT when ACE_NTRACE is set to 0. Thanks - to Lothar Hermann for - reporting these. - - * ace/Reactor.cpp: It looks as if Windows NT isn't returning - the number of bytes requested by a WinSock recv() used in - the ACE_Reactor::notify() in some situations. This is - causing problems for test programs under heavy load. The - fix appears to be to add an additional ACE::recv() to obtain - the remaining bytes. Thanks to Karlheinz for reporting this - and to Irfan for helping to fix it. - - * ace/OS.i: Fixed a very subtle bug with ACE_OS::cond_wait() and - ACE_OS::cond_signal() that only manifests itself when - ACE_HAS_SIGNAL_OBJECT_AND_WAIT is enabled (which isn't the - default). The problem stemmed from the fact that we were - assuming that if we used condition variables it implied that the - external mutex had USYNC_PROCESS scope. In fact, the external - mutexes typically have USYNC_THREAD scope, so - SignalObjectAndWait() was hanging indefinitely. Fortunately, - the fix was easy -- just add a run-time check for the type of - the external mutex and take the appropriate action. Thanks to - Irfan for noticing this. - - * tests/Reader_Writer_Test.cpp: Added a parse_args() function that - allows us to override the default number of reader/writer - threads + the number of iterations. - - * ace/OS: Added patches for Digital UNIX to handle the - getpwnam_r() name. Thanks to Thilo Kielmann - for these patches. - -Tue Apr 29 14:27:19 1997 - - * OS.h: Added ACE_HAS_SVC_DLL. If you write a library and - want it to use ACE_Svc_Export, this will cause those macros - to build dlls. If you want your ACE service to be a static - library, comment out this line. As far as I know, the only - reason to have a library be an ACE "service" is to leverage - the ACE_Svc_Export macros. It's just as easy to define your - own export macros. - -Tue Apr 29 07:25:25 1997 David L. Levine - - * apps/JAWS/server/HTTP_Request.h (HTTP_Request): added destructor - declaration. - - * apps/JAWS/server/Parse_Headers.cpp (parse_header_line): assign local - "value" to value_ field of map_[header]. - - * apps/JAWS/server/HTTP_Request.cpp (HTTP_fix_path): commented this - static function out because it's not used, and g++ warns about that. - - * apps/JAWS: added CVS header to all .h, .i, and .cpp files. - -Tue Apr 29 00:33:46 1997 - - * examples/Reactor/Misc/notification.cpp: Add this test to the - Win32 makefile. - - * ace: Removed config-win32-msvc2.0.h, config-win32-msvc4.0.h - config-win32-msvc4.x.h, and config-winnt-4.0-msvc.h from the - repository. These files have been replaced by config-win32.h - and config-win32-common.h. - - * IOStream_Test.cpp (main): Added return 0 at the end of main(). - - * examples/Reactor/Proactor/test_proactor.mak: Added wsock32.lib - to the link line. I am not sure why we have to do this again - since ace.lib already includes it. Without this library in the - link line, GetAcceptExSockaddr is not defined. Go figure! - - * apps/JAWS/server/jaws.mak: Same as above. - - * ace/ace.{mak,mdp}: Fixed the generation of the release version - of ace.dll such that wsock32.lib is automatically included. - -Tue Apr 29 00:16:27 1997 James C Hu - - * JAWS: Changes to support CGI scripts - - Changed the following files -- - HTTP_Handler.cpp HTTP_Handler.h HTTP_Helpers.cpp - HTTP_Helpers.h HTTP_Request.cpp HTTP_Request.h IO.cpp IO.h - - Added the following files -- - HTTP_Response.cpp HTTP_Response.h Parse_Headers.cpp - Parse_Headers.h - - Removed the file -- - JXH_String.h - - * JAWS/stress_testing: Changed the Makefile to link in the math - library (-lm). - - * ace/OS.h and ace/OS.i: Added support for memmove(). - -Mon Apr 28 21:35:35 1997 Douglas C. Schmidt - - * ace/IOStream.h: Added a new macro called - ACE_LACKS_IOSTREAM_SETGET, which works around bugs with SGI C++ - on IRIX 6.2. Thanks to Torbjorn Lindgren for - reporting this. - - * ace/Timer_List_T.h: Replaced the use of - ITERATOR with ACE_Timer_Queue_Iterator_T to - work around problems with SGI C++. Thanks to - Torbjorn Lindgren for reporting this. - - * ace/Timer_List_T.cpp: Removed the use of NODE * and replaced it - with ACE_Timer_Node_T in order to work around - bugs with certain C++ compilers (i.e., SGI). Thanks to Torbjorn - Lindgren for reporting this. - - * tests/Conn_Test.cpp: Removed some extraneous template - specializations. Thanks to Nanbor Wang for - reporting these. - - * apps/JAWS/client/Blob.cpp: Rearranged some of the template - specializations in the hope of fixing a linker problem with - SunC++ 4.2. - - * ace/config-irix-6.2*.h. It appears that SGI IRIX 6.2 supports - pread() and pwrite() so I enabled the ACE_HAS_P_READ_WRITE macro - in the IRIX 6.2 config file. - - * ace/OS.cpp: Implemented ACE_OS::pread() and ACE_OS::pwrite() for - systems that lack this feature. The implementation uses the new - ACE_Thread_Mutex monitor lock in order to ensure atomicity - between the lseek() and the read()/write(). - - * ace/OS.cpp: Finally broke down and added a ACE_Thread_Mutex - monitor lock to the ACE_OS implementation file. This is useful - for situations where we need to serialize certain ACE_OS - emulation calls (e.g., ACE_OS::{pwrite,pread}). - -Mon Apr 28 15:42:48 1997 David L. Levine - - * apps/JAWS/client/blobby.cpp: updated template specializations. - - * apps/JAWS/stress_testing/global.h: removed #includes of system - headers because ace/OS.h takes care of them. They were causing - warnings with g++ (because they were #included before OS.h). - - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed - typos in template specializations. - - * tests/Conn_Test.cpp,Message_{Block,Queue}_Test.cpp, - Process_Strategy_Test.cpp: fixed template specializations - for platforms without threads. Thanks to Nanbor Wang - for pointing out this problem. - - * ace/Connector.h: use ACE_SYNCH_RW_MUTEX in Map typedefs - instead of old ACE_RW_Mutex (which should have been - ACE_Thread_RW_Mutex) and ACE_Null_Mutex (depending on - whether the platform has threads). - - * ace/Service_Record.cpp: added ACE_NULL_SYNCH template - specializations with threads, because they're still needed even - with threads. This way, individual programs don't have to - specialize these. - - * ace/Task.cpp: added ACE_TSS and - ACE_TSS template specializations, if the platform - has threads and TSS. This way, individual programs don't have - to specialize them. - - * apps/Gateway/Gateway/Event_Channel.cpp, - Proxy_Handler{,_Connector}.cpp,apps/JAWS/server/HTTP_Server.cpp, - examples/ASX/Event_Server/Transceiver/transceiver.cpp, - examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp, - examples/Connection/blocking/SPIPE-connector.cpp, - examples/Connection/misc/{Connection_Handler,test_upipe}.cpp, - examples/Connection/non_blocking/test_*.cpp, - examples/IOStream/server/iostream_server.cpp, - examples/Logger/Acceptor-server/server_loggerd.cpp, - examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp, - netsvcs/lib/Client_Logging_Handler.cpp, - netsvcs/lib/TS_{Clerk,Server}_Handler.cpp: - removed template instantiations that are now in - ace/Service_Record.cpp and ace/Task.cpp. This should help - on platforms without threads. - - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed - typos in template specializations. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: protected - the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS. - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: protected - the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS. - - * apps/JAWS/stress_testing/benchd.cpp (serve): added return -1 if - the strcmp () fails so that the function always returns a value. - -Mon Apr 28 18:53:58 1997 Darrell Brunsch - - * ace/OS.h: Added ACE_DEFAULT_TIMER_WHEEL_SIZE and - ACE_DEFAULT_TIMER_WHEEL_RESOLUTION constants. - - * ace/Timer_Wheel_T.h: switched to use these constants - - * tests/Timer_Queue_Test.cpp: switched to use these constants - - * ace/Timer_Wheel: added a new strategy for Timer Queues, one - based on a hash table of ordered lists. - - These files were added: - - - ace/Timer_Wheel.h - - ace/Timer_Wheel_T.h - - ace/Timer_Wheel_T.cpp - - These files were also changed to accomodate Timer Wheel - - - ace/Timer_Queue.cpp - - ace/Timer_Queue_T.h - - ace/Timer_Queue_T.cpp - - tests/Timer_Queue_Test.cpp - -Mon Apr 28 17:32:04 1997 Chris Cleeland - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added - template specializations. - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added - template specializations. - - * ace/OS.cpp (thr_create): Hopefully resolved tension - btw. priority determination algorithms for IRIX, LinuxThreads, and - DEC UNIX 4.0. Thanks to Thilo for information that lead to this. - -Mon Apr 28 00:25:17 1997 - - * apps/JAWS/client: Removed ACE_Export macro from class - declarations. Fixed buffer size bug in - ACE_Blob_Reader::receive_reply (). - -Sun Apr 27 22:22:14 1997 - - * ace/Proactor: The Proactor can now be registered with ReactorEx - and both of them can be run from ReactorEx's event loop. Added a - flag to Proactor's constructor that indicates whether the - Proactor will be used in conjunction with ReactorEx event - loop. Only if this flag is set will the event in the Proactor be - used by the Asynch IO components. This will help with - performance. - - * examples/Reactor/Proactor/test_multiple_loops.cpp: Added a new - test that shows the integration of the event loops of Proactor - and ReactorEx. - - * ace/Asynch_IO: Added an ACE_EVENT parameter to the constructors - of classes that inherit from the OVERLAPPED structure. This way - the Proactor's event_ can be set in the OVERLAPPED structure. - - Also changed the open methods on the Asynch IO classes to take a - Proactor as an extra parameter. - - Changed ACE_Handler's handle_timeout() to handle_time_out() in - ACE_Handler. This is temporary till we decide on the argument - about mixing the interface of ACE_Event_Handler and - ACE_Handler. This change allows user to inherit from ACE_Handler - and ACE_Event_Handler and use the different handle_timeout() - method, one of which returns void and the other return an int. - - * examples/Reactor/Proactor/test_timeout.cpp: This file got - affected by the above change. - -Sun Apr 27 17:44:28 1997 Douglas C. Schmidt - - * ace/OS.h: Added a new #define called ACE_DEFAULT_HTTP_SERVER_PORT. - Naturally, this defaults to 80... - - * apps/JAWS/client/blobby.cpp: Cleaned up the blobby example so - that it conforms more closely to the ACE style guide. - - * examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Took out - the VxWorks-specific #ifdefs. I believe this is fixed in ACE_OS - now. If not, the burden of proof is on the VxWorks testers to - prove me wrong ;-). - - * ace/Synch_T.h: Added a new macro ACE_SYNCH_RW_MUTEX to - complement the existing ACE_SYNCH_MUTEX and ACE_SYNCH_CONDITION - macros. This will clean up lots of code in various test - programs. - - * ace/Synch_T.h: Added two new macros, ACE_SYNCH_MUTEX and - ACE_SYNCH_CONDITION. These default to ACE_MT_SYNCH::MUTEX and - ACE_MT_SYNCH::MUTEX if template typedefs are supported and - ACE_HAS_THREADS is enabled. If template typedefs *aren't* - supported but ACE_HAS_THREADS is enabled these macros turn into - ACE_Thread_Mutex and ACE_Thread_Condition. Finally, if - ACE_HAS_THREADS is disabled these macros turn into - ACE_Null_Mutex and ACE_Null_Condition. These macros make it - possible to write code that is more portable across platforms - and configurations. Thanks to Carlos O'Ryan for this - suggestion. - - * ace/OS.h: Replaced all uses of ACE_SYNCH_MUTEX and - ACE_SYNCH_CONDITION with ACE_SYNCH_MUTEX_T and - ACE_SYNCH_CONDITION_T since (1) this usage relates to templates - and (2) it frees up the namespace for the new ACE_SYNCH_MUTEX - and ACE_SYNCH_CONDITION macros. - - * ace/Timer_Queue.cpp: Added yet more template specializations for - the benefit of GCC (ugh). - - * ace/Timer_Wheel_T.cpp: Had to revise things just a bit to - compile with GCC and it's lame template mechanism. This - required changing NODE * to ACE_Timer_Node_T * in - several method definitions. - - * apps/JAWS/server/HTTP_Server.h: Changed the use of ACE_WIN32 to - ACE_HAS_THREAD_SAFE_ACCEPT since this is a more precise way to - determine if the platform allows multiple threads to call - accept() on the same port. If other platforms support this - feature please make sure to add it to their config*.h files. - - * ace/config-win32-common.h: Defined ACE_HAS_THREAD_SAFE_ACCEPT, - since Win32 allows multiple threads to call accept() on the same - port. - - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: The mutex - should be ACE_RW_Mutex, not ACE_Null_Mutex... - -Sun Apr 27 18:13:24 1997 Irfan Pyarali - - * ace/Proactor.h: Added Timer_Wheel support. - -Sun Apr 27 18:13:24 1997 Sumedh Mungee - - * apps/JAWS/client: Removed blobby.h, and replaced it with - blobby_options.{h,cpp}. - - * apps/JAWS/stress-testing: Removed unused argument warnings - etc. - -Sun Apr 27 07:41:44 1997 David L. Levine - - * ace/Timer_Queue.cpp: added #includes for template specializations, - and removed some unused specializations. - - * ace/Timer_Wheel_T.cpp: added newline at end of file. - - * ace/Timer_Wheel_T.cpp (ACE_Timer_Wheel_T ctor): reordered - initializers to match declaration order. - - * ace/Log_Msg.cpp (log): added support for indenting output according - to the current nesting level by adding a new format specifier, I, - which indents the output according to the current trace_depth_. - If a width is also specified it is taken as multiplier (so that - the indentation is n*trace_depth_). Thanks to Matthias Kerkhoff - for providing the code for this feature! - - * examples/Reactor/Misc/test_timer_queue.cpp: fixed typos in - #includes, and added #include of ace/Timer_Heap.h. - -Sat Apr 26 17:19:56 1997 Irfan Pyarali - - * ace/Timer_Queue.cpp: The correct Timer_Queue.cpp file was not - checked in. Also the necessary #include was missing. - - * ace/Proactor.h: Proactor need all three Timer include files. - - * ace/ace.{mdp,mak}: Updated for changes to Timer files. - - * ace: Updated the following files to include /**/ before an - include file directive: OS.h, config-win32-common.h, - bstring.h. Thanks to Matthias Kerkhoff - for reporting this. - -Sat Apr 26 13:41:15 1997 Douglas C. Schmidt - - * ace/config-sco-5.0.0-mit-pthread.h: Added - ACE_LACKS_PTHREAD_CANCEL. Thanks to Arturo Montes - for reporting this. - - * ace: Came up with a scheme that allowed us to remove the - ace/Timers.{h,i,cpp} files by adding - ACE_Timer_{Queue,Heap,List}_T.{h,i,cpp} files instead. Thus, no - existing code should break. - -Fri Apr 25 17:17:06 1997 Chris Cleeland - - * ace/OS.cpp (thr_create): Fixed the fix from Thilo so that it - compiled properly on Linux. Hopefully I didn't break his, and I - should have detected the problem earlier. Mea culpa. - -Fri Apr 25 12:45:23 1997 Douglas C. Schmidt - - * ace/OS.h: Added a new macro called ACE_HAS_SIG_MACROS for the - case where the frigging OS defines things like sigismember and - sigfillset as macros (ugh). - - * ace/FILE_IO.h: Removed a trailing default initializer from the - send() method since it was ambiguous. Thanks to Carlos O'Ryan - for reporting this bug. - - * ace/OS.i (select): Unfortunately the (operator timeval*) defined - for ACE_Time_Value was not used in ACE_OS::select (int width, - fd_set *rfds, fd_set *wfds, fd_set *efds, const ACE_Time_Value - *timeout) because the operator cannot be applied for a - ACE_Time_Value*. Therefore, I fixed this as follows: - - ACE_SOCKCALL_RETURN (::select (width, - (ACE_FD_SET_TYPE *) rfds, - (ACE_FD_SET_TYPE *) wfds, - (ACE_FD_SET_TYPE *) efds, - timeout == 0 ? 0 : (timeval *) *timeout) , int, -1); - - Thanks to Carlos O'Ryan for reporting this bug. - - * ace: Applied a slew of patches from Carlos O'Ryan in order to - get ACE to compile on HP/UX 10.x with the aCC compiler. - - * ace/Shared_Memory_MM: Export the filename in - ACE_Shared_Memory_MM class in order to aid debugging. Thanks to - Ashish Singhai for reporting - this. - -Fri Apr 25 14:58:38 1997 Irfan Pyarali - - * ace/Timers: Updated the following files to make it compile on - g++. The following files were updated: - - Proactor.cpp Timer_Heap.cpp Timer_List.cpp Timer_Queue.cpp - Timers.cpp - -Thu Apr 24 21:13:51 1997 - - * ace/Timer_Queue: Decoupled the Timer Queue from - ACE_Event_Handler and the callback routines in the handler - (handle_timeout and handle_close). The new Timer Queue is - parameterized by the type of data to store and a FUNCTOR on - which methods are invoked by the Timer Queue when timeouts and - cancellations occur. - - No changes occured to the algorithms of the different - implementations of the Timer Queues (Timer List and Timer - Heap). Timer Queues, Timer List, and Timer Heap were all renamed - as _T. However, typedef were added such that there is now - an ACE_Timer_Queue, ACE_Timer_Heap, and ACE_Timer_List, each - being an instantiation of the respective template classes. The - instantiation is done with ACE_Event_Handler as the type of data - to be stored in Timer Queue and - ACE_Event_Handler_Handle_Timeout_Upcall as the FUNCTOR that does - the appropriate upcall to ACE_Event_Handler. - - Due to these typedefs, 99.9% of existing code should not - break. However, the following two will cause problems: - - (a) Forward declarations of Timer_Queue will not work! This is - because Timer_Queue is now a typedef and not a class. - - (b) #include "ace/Timer_Queue.h" will not be enough to get the - ACE_Timer_Queue typedef. The new typedefs are in a new file - called Timers.h. This file also has typedefs for ACE_Timer_Heap - and ACE_Timer_List. - - Currently Proactor is the only class that uses a different - instantiation of the Timer Queue class. Proactor's Timer Queue - class is instantiated with ACE_Handler as the type of data to be - stored in Timer Queue and ACE_Proactor_Handle_Timeout_Upcall as - the FUNCTOR that does the appropriate posting to the Proactor's - completion port. - - The Upcall Strategy is not needed any more cause it is replaced - by the FUNCTORs. Thus this is removed. - - Small modifications were made to the following files - because of the changes to Timer_Queue. - - - examples/Reactor/Misc/test_timer_queue.cpp - - examples/Reactor/Proactor/test_timeout.cpp - - tests/Timer_Queue_Test.cpp - - ace/Makefile (both UNIX and Win32) - - ace/Connector.h - - ace/Reactor.h - - ace/ReactorEx.h - - ace/Proactor.h - - * ace/Proactor: Proactor now uses the new timer queues. Proactor's - Timer Queue class is instantiated with ACE_Handler as the type - of data to be stored in Timer Queue and - ACE_Proactor_Handle_Timeout_Upcall as the FUNCTOR that does the - appropriate posting to the Proactor's completion port. This will - help reduce the overhead of creating new act for each - timer. This also enables the cancellation of entire - ACE_Handlers. - - * examples/Reactor/Misc: Added Win32 makefiles. - - * ace/Shared_Memory_MM.i: Fixed typo. - - * ace/SOCK_Connector.cpp: Fixed typo. - -Thu Apr 24 13:56:28 1997 Douglas C. Schmidt - - * ace/SOCK_Dgram.cpp: Added support for FreeBSD (i.e., BSD 4.4) - features for passing file descriptors between processes. Thanks - to Nanbor Wang for reporting this. - - * ace/LSOCK_Stream.cpp: Added support for FreeBSD (i.e., BSD 4.4) - features for passing file descriptors between processes. Thanks - to Nanbor Wang for reporting this. - - * ace/LSOCK.cpp: Added support for FreeBSD (i.e., BSD 4.4) - features for passing file descriptors between processes. Thanks - to Nanbor Wang for reporting this. - - * ace/SOCK_Connector.cpp (complete): There's a bug in WinNT that - causes non-blocking connects to fail. The workaround is to - sleep for 1 millisecond. Thanks to Steve Huston - for reporting this. - - * ace/Connector.cpp (handle_output): There's a bug in WinNT that - causes non-blocking connects to fail. The workaround is to - sleep for 1 millisecond. Thanks to Steve Huston - for reporting this. - - * tests/Conn_Test.cpp: Changed from operator != to operator == to - be consistent with what is required by the ACE_Hash_Map_Manager. - - * ace/Hash_Map_Manager: Factored out the equality comparison into - an equal() method in order to facilitate template - specialization. In addition, rather than using the != operator - we now default to using the operator== operator and negating the - result. This is consistent with the behavior of the - ACE_Map_Manager. - - * ace/Map_Manager: Factored out the equality comparison into an - equal() method in order to facilitate template specialization. - - * ace/OS.i: Added a new #ifdef called ACE_LACKS_PTHREAD_CANCEL. - I'm not sure which platforms should set this, but it fixes - a bug with ACE_OS::thr_cancel(). Thanks to Eric Dean - Russell for reporting this. - - * tests/Process_Strategy_Test.cpp (handle_input): We were - comparing EOF to a char, which gets complaints on platforms - where char is unsigned by default. I added a cast of EOF to - char to fix this. Thanks to Amos Shapira for - reporting this. - - * apps/JAWS/server/HTTP_Helpers.cpp (instance): Changed the - return type from const char * to const char **. Thanks to - Amos Shapira for reporting this. - - * ace/OS.i (getpwnam_r): Added a missing #else. Thanks to - Amos Shapira for reporting this. - - * ace/Timer_Heap: Made many minor enhancements to ACE_Timer_Heap - in an effort to figure out why we're getting memory leaks. - -Thu Apr 24 09:33:53 1997 David L. Levine - - * Makefile: modified the TIMESTAMP macro to update the third - component, if there is one, of the version number in the VERSION - file. This assumes that alpha/beta releases are numbered with - three components, and that final releases are not. So, if the - version number is, e.g., 4.2, it will not be modified because it - is assumed to be for a final release. Manual switching between - alpha/beta and final release "modes" is therefore still required. - - * ace/Timer_Heap.cpp (copy): added cast of max_size_ to int to avoid - signed/unsigned comparison. - - * ace/config-sunos5.4-g++.h: removed - ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES because it caused compile - warnings about conversion from `(int)' to `(...)' at Signal.i:113. - (And the other sunos5.4 config files don't have it.) - Thanks to Joey Zhu for reporting this. - - * tests/Timer_Queue_Test.cpp (main): added delete of timer_ids array - to avoid memory leak. - -Wed Apr 23 22:56:57 1997 Sumedh Mungee - - * apps/JAWS/client/*: Fixed warnings due to size_t - * apps/JAWS/client/Blob_Handler: Fixed error by passing - pointer to base class ACE_Blob_Handler instead - of pointing to ACE_Blob_Reader, in call to connect - -Wed Apr 23 20:57:35 1997 James C Hu - - * ace/OS.i and ace/OS.h: added methods for getpwnam and - getpwnam_r, with hooks for NT. - - * ace/config-irix6.2.*: added ACE_LACKS_PWD_REENTRANT_FUNCTIONS. - -Wed Apr 23 14:27:48 1997 David L. Levine - - * ace/Timer_Queue.cpp (ACE_Timer_Queue ctor): reordered initializers - to match declaration order. - - * tests/Process_Strategy_Test.cpp: added ACE_Singleton template - specialization. In function client (), null terminated "buf" - before call to ACE_OS::strrchr () to avoid uninitialized memory - read. Also, fixed typo in test name (argument to ACE_START_TEST). - - * examples/Service_Configurator/Misc/Timer_Service.cpp (init): changed - type of loop index to int to avoid signed/unsigned comparison, and - initialized "interval" so that it has a value even if one isn't - specified on the command line. - -Wed Apr 23 10:52:45 1997 Chris Cleeland - - * ace/OS.cpp (thr_create): Removed errant preprocessor conditional - for determining the scheduling priority. Thanks to Thilo Kielmann - for reporting this. - -Wed Apr 23 09:06:52 1997 Douglas C. Schmidt - - * tests/Process_Strategy_Test.cpp: Finished updating this program - so that it is an automated test. - - * ace/Acceptor.h: Moved get_handle() into the public portion of - the Acceptor. - - * include/makeinclude/platform_irix6.2_sgic++.GNU (SOBUILD): There - was an extra @ in $@@. Thanks to Amos Shapira - for reporting this. - - * apps/JAWS/client/Blob[_Handler].cpp: Added casts for free ((void - *) filename_);. Thanks to Amos Shapira for - reporting this. - - * apps/JAWS/server/HTTP_Helpers.h (class HTTP_Status_Code): - Removed an extraneous const * from the definition of instance(). - Thanks to Amos Shapira for reporting this. - -Wed Apr 23 03:15:11 1997 James C Hu - - * apps/JAWS/server/README: Updated to add some clarity and more - useful information. - -Tue Apr 22 20:17:00 1997 Douglas C. Schmidt - - * ace/Synch.cpp: Added a new method called open() to ACE_File_Lock - so that we don't have to initialize it solely in the - constructor. - - * tests/Process_Strategy_Test.cpp: Added new test code that - exercises the ACE_Process_Strategy, ACE_Thread_Strategy, and - ACE_Reactive_Strategy classes. - - * ace/Strategies_T: Added a new class called - ACE_Reactive_Strategy, which inherits from - ACE_Concurrency_Strategy and registers new Svc_Handlers with the - Reactor. - - * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added a check for - failed open() methods and call ACE_ERROR. - - * tests/Map_Manager_Test.cpp: Added a template specialization for - the ACE_Hash_Map_Manager::hash() method, which is enabled if the - compiler supports template specializations. - - * ace/Hash_Map_Manager.h (pool): Moved the ext_id.hash() call into - a separate method so that we can perform template specialization - of it more easily. - - * ace/README: Added a new #define called - ACE_HAS_TEMPLATE_SPECIALIZATION so that we can work around funky - compilers that don't support this advanced template feature. - - * ace: Added Nanbor Wang's port to FreeBSD. The port is done - at FreeBSD 3.0-current as of 2/9/97, which is the - latest stable system before Lite2 merge. Since the merge is - current under testing and changes are introduced in a daily - basis, I don't recommend using -current after the date. You - can specified the date in your "supfile", run CVSup to get the entire - source tree and do a 'make world' to update (or reverse) your - system. - - Pthread library is provided by John Birrell. There is a - bug fix at mid April so you may want to CVSup the latest libc_r - library and re-make the pthreaded library. - - A shared library must be name as lib.so. (e.g. libACE.4.1.0). I would recommend adding a - post-compile hook in the Makefile so we FreeBSDers can - rename the shared library to it's proper name with correct - major and minor version number attached. (which is a trick - BSD library makefiles use.) - - * examples/OS/Process/process.cpp (main): Replaced the use of - "/bin/cat" with "cat" since we are now using execvp(). Thanks - to Nanbor Wang for reporting this. - - * ace/Process.cpp (start): Changed the use of execv() to execvp() - in order to avoid having to pass in the full pathname. - - * ace/OS.i (sigwait): Added an #ifdef for FreeBSD so that we - return ACE_NOTSUP_RETURN(-1) for ACE_OS::sigwait(). Thanks to - Nanbor Wang for reporting this. - -Tue Apr 22 17:46:30 1997 - - * Process.cpp (start): We must pass in 0 instead of "" to - CreateProcess for the current working directory. - -Tue Apr 22 01:38:14 1997 - - * ace/Timer_Queue: Added ACE_Upcall_Strategy as a parameter to the - constructor. will call upcall> if - is not 0. Else it will call - on the . Thus ACE_Upcall_Strategy becomes a - vehicle for extending the behavior of ACE_Timer_Queue wrt the - upcall (callback) *without subclassing*. Hence, it's an example - of the Bridge/Strategy patterns. - - This also affected ACE_Timer_List and ACE_Timer_Heap - - * ace/Strategies: Added ACE_Upcall_Strategy. - - * ace/Proactor: Added timing support to the calls. - - * ace/Asynch_IO: ACE_Handler now supports handle_timeout. - - * ace/Proactor: Added timer support for the new Proactor. This - new scheme allows any of the threads in the "thread pool" - waiting on the completion port of the Proactor to execute the - callback routine of the handler. - - The implementation included adding ACE_Proactor_Timer_Handler - class that has a thread that will wait on the earliest time in a - timer queue and an event. When a timer expires, the thread will - post a completion event on the port and go back to waiting on - the timer queue and event. If the event is signaled, the thread - will refresh the time it is currently waiting on (in case the - earliest time has changed). - - The ACE_Proactor::Asynch_Timer class is posted to the completion - port when a timer expires. When the method of this - object is called, the 's handle_timeout method will be - called. - - * examples/Reactor/Proactor/test_timeout: This example illustrates - the new timer features in the Proactor - - * examples/Reactor/Proactor/test_proactor.{mdp,mak}: Added new - example. - -Mon Apr 21 18:14:32 1997 Irfan Pyarali - - * ace/config-win32-common.h: Added checks around _AFXDLL before - defining it. Thanks to Bruce Meyer for - pointing this out. - -Mon Apr 21 11:31:16 1997 Chris Cleeland - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - Removed some unnecessary explicit template instantiations. - - * examples/Threads/barrier1.cpp (main): Explicitly converted - n_threads to int. - -Sun Apr 20 23:08:37 1997 Irfan Pyarali - - * ace/{Local,Remote}_Tokens.h: Added a private declarations of the - copy constructor and assignment operator for classes that - inherit from ACE_TSS. This is necessary since the compiler will - auto generate these two operations that will end up using the - non-existent copy constructor and assignment operator from the - TSS class and cause linker errors. - -Sun Apr 20 20:47:34 1997 Sumedh Mungee - - * apps/JAWS/client: Reworked the ACE_Blob* classes to work - with the new Connector behavior. Added README for this - directory. Added comments. - - * apps/JAWS/stress-testing: Added README file - -Sun Apr 20 13:11:25 1997 Douglas C. Schmidt - - * apps/Makefile: By default, we now compile JAWS along with the - rest of ACE. I've also added some README files that explain - what JAWS is all about. - - * examples/Service_Configurator/Misc/Timer_Service: Improved the - Timer_Service test so that it makes more sense and is better - documented. - -Sat Apr 19 11:56:35 1997 Douglas C. Schmidt - - * include/makeinclude: Removed the platform_irix6.2_sgiCC.GNU - from the release. Thanks to Torbjorn Lindgren - for these fixes. - - * include/makeinclude/platform_irix6.2_sgic++.GNU: Updated the SGI - C++ platform config file. Thanks to Torbjorn Lindgren - for these fixes. - - * ace/Log_Msg.cpp (log_hexdump): The char * arguments should be - const char *'s. Thanks to Matthias Kerkhoff - for reporting this. - -Sat Apr 19 18:52:44 1997 David L. Levine - - * (format_hexdump): changed type of first arg to const char * - for compatibility with Log_Msg::log_hexdump (). - -Thu Apr 17 08:25:06 1997 Douglas C. Schmidt - - * ace/Memory_Pool.h: Fixed a couple of typos in Memory_Pool - classes. Thanks to Neil B. Cohen for reporting - this. - - * netsvcs/lib/Name_Handler.h: Arrgh, there was still one more - missing #include that I forgot to move into the *.h file. - Thanks to David Levine for noticing this. - - * ace/Synch.cpp (wait): There was a bug in - ACE_Condition::wait(MUTEX& mutex, const ACE_Time_Value - *abstime.) Basically when abstime is zero, it ignores the - parameter "mutex" that has been passed to it and instead goes on - to call "ACE_Condition::wait()" which uses "this->mutex_" - as the mutex to be released and not the mutex that the caller - has given. The fix is to change the call "this->wait()" in the - if-clause to: - - return ACE_OS::cond_wait (&this->cond_, &mutex_.lock_); - - Thanks to Ashish Singhai for reporting - this. - -Thu Apr 17 16:33:21 1997 David L. Levine - - * ace/Memory_Pool.cpp: fixed typos in ACE_MMAP_Memory_Pool_Options - constructor declaration and initializer list. In init_acquire, - added cast of minimum_bytes_ to size_t to avoid signed/unsigned - comparison. - - * include/makeinclude/{platform*,wrapper_macros}.GNU: - moved -g out of wrapper_macros.GNU and into each platform - file so that -gstabs can be used on SCO. Thanks to - Ganesh Pai for reporting that problem. - - (The real change was getting rid of the CFLAGS += DCFLAGS - default. We could have left DCFLAGS=-g in wrapper_macros.GNU - and overridden for SCO. But the way I changed things, the - C/CFLAGS pieces are together in each platform file, so they're - easier to find.) - -Wed Apr 16 17:05:55 1997 Douglas C. Schmidt - - * ace/Memory_Pool.cpp (acquire): Added code to enable a minimum - bytes field with the Shared_Memory_Pool. Thanks to Fred LaBar - for these enhancements. - - * tests/Process_Strategy_Test.cpp: Only compile this test if - ACE_LACKS_EXEC is *not* defined since ACE_Process_Strategy - requires fork(). Thanks to Irfan for pointing this out! - - * netsvcs/lib: Fixed a couple o' typos that had escaped detection - last night. Thanks to David Levine for reporting this. - - * ace/Synch[_T].h: removed the use of {} rather than ; for - the private copy constructors and assignment operators. - Hopefully this won't break code on older C++ compilers. Thanks - to Berni Merkle for suggesting this. - - * Added a whole slew of minor fixes for unused variables in - the tests and examples. Thanks to Torbjorn Lindgren - for reporing these. - - * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): The order of - the clause - - this->handles_.mask_.fds_bits[this->index_] == 0 - && this->num_ < ACE_Handle_Set::MAXSIZE - - was backwards. It should be: - - this->index_ < ACE_Handle_Set::NUM_WORDS - && this->handles_.mask_.fds_bits[this->index_] == 0 - - Thanks to Michael Newton for - reporting this. - -Wed Apr 16 21:34:53 1997 David L. Levine - - * tests/Process_Strategy_Test.cpp: added template specializations. - -Wed Apr 16 15:46:58 1997 - - * tests/Process_Strategy_Test: Added test to batch files and - MSVC++ Makefiles. - - * tests/Process_Strategy_Test.cpp (open): Added UNICODE support. - - * ace/OS.h: Added SIGCHLD to Win32 section. - - * ace/config-win32-common.h: UNICODE should not be automatically - defined if ACE_HAS_UNICODE is defined. ACE_HAS_UNICODE signifies - that the OS has UNICODE support. It does not mean that your code - must be UNICODE. UNICODE must be defined at the project level. - -Wed Apr 16 16:55:47 1997 David L. Levine - - * ace/SString.{h,cpp}: Modified CString to not allocate 1 byte for - a 0 length string. Instead, set the internal representation to - the address of static class character null_string_. - -Wed Apr 16 11:47:35 1997 Chris Cleeland - - * ace/Map_Manager.cpp (free_search_structure): Added the loop - variable back in that must have been inadvertently deleted in the - previous entry. - -Wed Apr 16 09:35:39 1997 David L. Levine - - * ace/Map_Manager.cpp (free_search_structure): changed type of - loop index to size_t to avoid signed/unsigned mismatch. - -Wed Apr 16 04:07:50 1997 Douglas C. Schmidt - - * ace/Strategies_T: Widened the constructor interface for - ACE_Process_Strategy based on the feedback I got from - implementing the Process_Strategy_Test.cpp program. - - * tests/Process_Strategy_Test.cpp: Added an interesting new test - that illustrates the use of the ACE_Process_Strategy and the - ACE_File_Lock. To exercise this program, you can telnet to it - and type "read" and "inc" to query and change the count of - the numbers in the file, respectively. - - * ace/Connector.cpp (create_AST): I fixed a couple of things - in Connector.cpp: - - - In create_AST, it needs to save and restore errno, else it - gets wiped on Win32 and other platforms. - - - On Win32 when a non-blocking connect completes and handle_output is - called, it tries to get the peer address. If done too quickly, it - fails. I put in a Sleep(0) call. I think this is not a great - solution, but I don't have a better one yet. - - Thanks to Steve Huston for fixing - these bugs. - -Tue Apr 15 17:09:33 1997 Douglas C. Schmidt - - * ace/SOCK_Stream.cpp (close): Removed the call to close_writer() - on UNIX since that doesn't do the correct thing in many - cases since it causes a protocol transmission which isn't - what we want if we're using fork(). - - * ace/Strategies_T.cpp (activate_svc_handler): Added a call to - svc_handler->destroy() in the parent since we don't need it and - we're leaking descriptors and memory otherwise... Thanks to - Kevin Boyle for reporting this. - - * ace/OS.i (thr_sigsetmask): Replaced the use of - PTHREADS_1003_DOT_1C with ACE_HAS_PTHREAD_SIGMASK. Thanks to - Arturo Montes for suggesting this. - - * ace: Changed all uses of ACE_HAS_PTHREADS_XAVIER to - ACE_HAS_PTHREAD_SIGMASK, which is more descriptive. Thanks to - Arturo Montes for suggesting this. - - * ace/config-aix-4.2.x.h: Added #define ACE_LACKS_RWLOCK_T to make - things compile with AIX 4.2. Thanks to Jeremy Buch - for reporting this. - - * ace/XtReactor.cpp (register_handler_i): Added "[]" to delete - this->ids_ since it is an array. Thanks to Jean-Marc Strauss - for reporting this. - - * netsvcs/lib: Moved all the class definitions into the *.h files - to avoid complaints from the IBM C++ compiler. - - * ace/OS.h: Added a #define for WNOHANG since this is missing on - NT. Thanks to Brian Mendel for reporting - this. - - * examples/Connection/non_blocking/test_sock_connector.cpp: Added - a typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * examples/Connection/non_blocking/test_tli_connector.cpp: Added a - typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * examples/Connection/misc/test_upipe.cpp: Added a typedef for - ACE_RW_Mutex so that the code compiles on non-MT platforms. - Thanks to Ganesh Pai for reporting this. - - * performance-tests/Synch-Benchmarks/Options.cpp: Added a #ifdef - for ACE_Thread_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added a - typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: Added a - typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * examples/ASX/Event_Server/Event_Server/Options.cpp - (print_results): Although rusage struct is defined on SCO, there - is no getrusage(), rusage is used only by wait() - etc. internally. Therefore, we had to move some #ifdefs around. - Thanks to Ganesh Pai for reporting this. - - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added a - typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - - * tests/Conn_Test.cpp: Added a typedef for ACE_RW_Mutex so that - the code compiles on non-MT platforms. Thanks to Ganesh Pai - for reporting this. - - * tests/SPIPE_Test.cpp (main): Removed the VXWORKS arm of the - #ifdef, which is not correct since this stuff only works if - we're working with a version of VxWorks that has STREAM pipes. - - * include/makeinclude/platform_sco5.0.0-nothread.GNU: Changed - - LIBS = -lsocket -lnsl -ldl - - to - - LIBS += -lsocket -lnsl -ldl - - Thanks to Ganesh Pai for reporting this. - - * netsvcs/lib/Client_Logging_Handler.cpp: Added a typedef for - ACE_RW_Mutex so that the code compiles on non-MT platforms. - Thanks to Ganesh Pai for reporting this. - - * netsvcs/lib/TS_Clerk_Handler.cpp: Added a typedef for - ACE_RW_Mutex so that the code compiles on non-MT platforms. - Thanks to Ganesh Pai for reporting this. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added a - typedef for ACE_RW_Mutex so that the code compiles on non-MT - platforms. Thanks to Ganesh Pai for - reporting this. - -Tue Apr 15 23:16:43 1997 - - * ace/[Hash_]Map_Manager.cpp: The [Hash_]Map_Manager now - explicitly calls the destructors of Map_Entry objects before - freeing up the space. Not sure why we were not doing this - before... - -Tue Apr 15 17:09:33 1997 Irfan Pyarali - - * examples/Logger: Added MSVC++ makefile to Acceptor-server - and client. - -Tue Apr 15 21:51:45 1997 James C Hu - - * apps/JAWS/server/IO.cpp: Added a template instance for - ACE_Singleton so it would link using GCC. Removed GCC - warnings. - - * apps/JAWS/server/HTTP_Server.cpp: Added template instances for - LOCK_SOCK_Acceptor, ACE_Task, ACE_Thru_Task, ACE_Message_Queue, - ACE_Module so it would link using GCC. Removed GCC warnings. - - * apps/JAWS/server/HTTP_Server_T.cpp: Removed template instance of - LOCK_SOCK_Acceptor, since it was not really being compiled. - -Tue Apr 15 21:51:45 1997 James C Hu - - * apps/JAWS/server/IO.cpp: Added a template instance for - ACE_Singleton so it would link using GCC. Removed GCC - warnings. - - * apps/JAWS/server/HTTP_Server.cpp: Added template instances for - LOCK_SOCK_Acceptor, ACE_Task, ACE_Thru_Task, - ACE_Message_Queue, ACE_Module so it would link using GCC. - Removed GCC warnings. - - * apps/JAWS/server/HTTP_Server_T.cpp: Removed template - instance of LOCK_SOCK_Acceptor, since it was not really - being compiled. - - * apps/JAWS/server/HTTP_Handler.cpp: Removed GCC warnings. - -Tue Apr 15 13:01:13 1997 David L. Levine - - * ace/Token_Request_Reply.cpp (ctor): added initialization of - transfer_.data_ to avoid unitialized memory read. - - * tests/test_config.h: removed "static" qualifier from - randomize () to avoid warning from g++ when it's not called - in a test. - - * examples/IPC_SAP/SPIPE_SAP/server.cpp (main): moved - declaration of local variable "handle" up before its first - use. - -Tue Apr 15 17:09:33 1997 Irfan Pyarali - - * examples/Connection/blocking/Makefile: Removed the Makefile - for this test. This example is only suppose to work on WIN32 - and therefore the Makefile is not necessary. I have replace - this file with a MSVC++ make file. - -Mon Apr 14 23:08:27 1997 - - * INSTALL: Updated install files for Win32. - - * ace/SPIPE_Stream: Changed the use of ACE::send_n to ACE::write_n - and ACE::recv_n to ACE::read_n. - - * ace/OS.h (WNOHANG): Added WNOHANG to OS.h for Win32. - - * ace/OS.i (getpgid): Fixed extra return. - - * examples/Connection/blocking/SPIPE-acceptor: Updated the code to - use the new Proactor and the new asynchronous IO. - -Mon Apr 14 21:32:24 1997 David L. Levine - - * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client): - ACE_OS::sprintf instead of sprintf. - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp - (svc): declare "t" as time_t instead of long. - - Thanks to Thilo Kielmann for - reporting both of these. - -Mon Apr 14 00:02:39 1997 Douglas C. Schmidt - - * ace/OS.i (getpgid): Removed the extraneous return in front of - ACE_NOTSUP_RETURN. Thanks to Mike Bernat for - reporting this. - - * ace/Process.cpp: Replaced the use of ACE_OS::fork(void) with - ACE_OS::fork(const char *) so that we can pass in the name of - the process we're exec'ing. - - * examples/Threads/process_manager.cpp: Added a test program that - exercises the features of the new ACE_Process_Manager. - - * ace/Process_Manager: Finished a rudimentary implementation of - ACE_Process_Manager. There's still plenty of work to be done on - this, however... - - * ace/Thread_Manager.cpp (dump): Added dump() methods for - ACE_Thread_Descriptor and ACE_Thread_Manager. - -Sun Apr 13 11:40:26 1997 Douglas C. Schmidt - - * ace/OS: Added a getpgid() call to ACE_OS. - - * ace/Thread_Manager: Changed the 'int n' of spawn_n() to size_t n - since this is more appropriate because we can't spawn a negative - number of threads... - - * ace/Thread_Manager.cpp (close): Make sure to lock the calls to - close() in case things get amiss. - - * ace/Process.cpp (start): Updated ACE_Process::start() to that it - doesn't try to exec() a program if argv == 0. This allows us to - use ACE_Process to fork() a process without exec'ing. - - * tests/Timer_Queue_Test.cpp (randomize_array): Added a new - "randomization" test that determines the performance of randomly - canceling items in the array. Thanks to Darrell Brunsch - for this enhancement. - - * tests/test_config.h: Moved the randomize() function from - Naming_Test.cpp to test_config.h so that we can use it in other - tests (e.g., the new Timer_Queue_Test.cpp that Darrell is - working on). - - * ace/OS: Added a new #define called ACE_HAS_NONCONST_MSGSND which - can be used for platforms (e.g., SCO) that don't have a const - parameter for msgsend(). Thanks to Arturo Montes - for reporting this. - - * ace/config-sco-5.0.0-mit-pthread.h: Added some fixes to make - this work on SCO. Thanks to Arturo Montes - for reporting this. - - * ace/OS.i (cond_timedwait): There is a *small* chance for a - context switch before ACE_OS::cond_timedwait() is reached. In - this case, the current time *may* advance by some milliseconds. - The code in ACE_OS::cond_timedwait() then converts the given - absolute time to a relative time. In the described situation - this will be a very, very long t ime (0xfffffffn). Therefore, I - added a check to avoid the "negative timespan" case. Thanks to - Matthias Kerkhoff for suggesting this. - - * ace/Set: Moved all the size() methods out of the *.i file and - into the *.cpp file to avoid problems with quirky compilers - (e.g., SGI) that can't handle this. Thanks to Torbjorn Lindgren - for pointing this out. - - * examples/Threads/process_semaphore.cpp (main): Removed a stray - ^M that was causing the SGI C++ compiler some grief. Thanks to - Torbjorn Lindgren for pointing this out. - - * ace/OS.i (gettimeofday): Rearranged the code a bit to return - errors correctly if they occur (which should be *very* - unlikely). Thanks to Torbjorn Lindgren for - pointing this out. - - * netsvcs/lib/Server_Logging_Handler.cpp: Replaced the use of - ACE_TLI* with LOGGING_PEER*. Thanks to Tom Wright - for reporting this. - - * ace/Connector.cpp: Made sure to initialize all of the instance - variables for the ACE_Strategy_Connector and ACE_Connector. - Thanks to David Levine for pointing this out. - - * ace/Synch.h: Changed protected: to private: so that we can - ensure that we never copy classes like ACE_File_Lock, etc. - Thanks to Berni Merkle for reporting - this. - - * examples/Shared_Malloc/test_malloc.cpp (malloc_recurse): Added - the print_stats() call back into the test since Sandro's fixes - should now support this. - - * ace/Malloc[_T]: Added patches to enable ACE_Allocator's to print - malloc statistics. Thanks to Sandro Doro - for these fixes. - -Sat Apr 12 20:42:11 1997 David L. Levine - - * tests/Priority_Task_Test.cpp (open): only use THR_SCHED_FIFO - if it is defined. (It isn't on Solaris without PTHREADS.) - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp - (make_svc_handler): added return statement. - -Sat Apr 12 11:53:49 1997 Douglas C. Schmidt - - * examples/ASX/Event_Server/Transceiver/transceiver.cpp (main): - The first argument to connect () is now a SVC_HANDLER *&. - Therefore, we can no longer allows us to pass the address of a - SVC_HANDLER on the stack (or in the data segment). - Fortunately, the fix is easy, as shown below: - - Event_Transceiver transceiver, *tp = &transceiver; - - connector.connect (tp, ACE_INET_Addr (port_number, host_name)); - - Thanks to David Levine for reporting this problem. - -Fri Apr 11 15:14:59 1997 David L. Levine - - * tests/Conn_Test.cpp: moved declaration of "result" out of - loop because it's used after the loop. Thanks to - Thilo Kielmann for - reporting this. Also, removed a few unnecessary template - specializations. - - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: fixed template - specializations for no-thread platforms. Thanks to Ganesh Pai - for reporting this. - - * performance-tests/Misc/context_switch_time.cpp (main): - removed call to ACE_High_Res_Timer::supported (). - -Fri Apr 11 14:31:42 1997 Chris Cleeland - - * tests/Conn_Test.cpp: Added several explicit template - instantiations. - -Fri Apr 11 13:49:04 1997 David L. Levine - - * ace/OS.h: VxWorks changes only: added taskHookLib.h. Thanks - to Dave Mayerhoefer for reporting - that. Also rearranged the VxWorks #includes and such a bit. - - * ace/Log_Msg.cpp (atexit): VxWorks changes only: added cast - of spare1 to ACE_Log_Msg *. Thanks to Dave Mayerhoefer - for reporting that. Also, - in exists () and instance (), replaced double indirection - of the ACE_Log_Msg instance with indirection through a pointer - reference. - - * ace/High_Res_Timer.{h,i}: removed supported () because - ACE_OS::gettimeofday () is used if a high-res timer isn't available. - - * ace/OS.i (thr_sigsetmask),config-sunos5.4-*.h: swapped order of - #ifdefs to that ACE_LACKS_PTHREAD_THR_SIGSETMASK is checked before - ACE_HAS_STHREADS. Added that #define to all SunOS 5.4 configs. - Thanks to Joey Zhu for reporting this. - - * ace/Token_Request_Reply.cpp (ctor): added a initializations to 0 - of requeue_position_, notify_, and arg_. With this change, all - of the ACE tests run without any Purify access anomalies! - (There are still some memory leaks, though.) - - * include/makeinclude/rules.local.GNU: added -DMAKEDEPEND to - invocation of g++dep. This allows users to get proper - dependencies if they have conditional #includes in their code. - They can added #if defined (MAKEDEPEND) as necessary to make - sure that all headers are seen by g++dep. - -Fri Apr 11 10:46:56 1997 Chris Cleeland - - * config-linux*.h: Added ACE_HAS_IP_MULTICAST as the default for - all Linux configurations. If you're a 1.x user, or you didn't - config that into your 2.x kernel, you'll have to remove this from - your version of the file. - -Thu Apr 10 00:34:10 1997 Douglas C. Schmidt - - * examples/Logger/simple-server/Logging_Acceptor.cpp - (handle_input): We need to call svc_handler->close() if accept() - or open() fails. Thanks to Ganesh Pai for - reporting this. - - * ace/Service_Config.cpp (close): Moved the call to - ACE_Service_Config::close_singletons() to outside the check for - ACE_Service_Config::svc_rep_ since the Singletons can be used - independently of the services. Thanks to Matthias Kerkhoff - for suggesting this. - -Wed Apr 9 21:11:38 1997 Douglas C. Schmidt - - * apps/Gateway/Gateway/Gateway.cpp (handle_signal): Evil demons - added bugs to my code that were causing segfaults when signals - shutdown the gateway. This is now fixed. - - * apps/Gateway/Gateway/Proxy_Handler.h: Changed ACE_Event_Channel - & to ACE_Event_Channel * to keep the compiler happy. - - * examples/Connection/non_blocking/CPP-connector.h: Added a - do-nothing default constructor to keep ACE_Connector happy. - - * examples/Connection/misc/test_upipe.cpp: Added a do-nothing - default constructor to keep ACE_Connector happy. - - * examples/Connection/blocking/SPIPE-connector.h: Added a - do-nothing default constructor to keep ACE_Connector happy. - - * apps/Gateway/Gateway/Proxy_Handler: Added a do-nothing default - constructor to keep ACE_Connector happy. - - * netsvcs/lib: Added some default arguments to - TS_Clerk_Handler.cpp and Client_Logger_Handler.cpp to keep the - compiler from complaining about the new ACE_Connector features. - Thanks to David Levine for reporting this. - - * ace/Timer_Heap.cpp (reheap_down): Fixed a *very* subtle bug in - reheap_down() where parent was starting off at 0 whereas it - should have been starting off at child_index / 2. - - * examples/Logger/simple-server/Logging_Handler: Removed the use - of the operator ACE_SOCK_Stream &() and replaced it with the - more intuitive peer() approach used in ACE_Svc_Handler et al. - Thanks to Ganesh Pai for reporting this. - - * ace: Added a bunch of changes to improve ACE support on SCO 5.0. - Thanks to Ganesh Pai for these fixes. - - * tests/Conn_Test.cpp: Completely reworked this test so that it - illustrates how to use the ACE_Strategy_Connector, which is - customized with a special Caching_Connect_Strategy that recycles - connections. - - * ace/Connector: Finished implementing the new - ACE_Strategy_Connector. This is similar in design to the - ACE_Strategy_Acceptor. - - * ace: Changed the signature of all the make_svc_handler() methods - so that they return int (rather than SVC_HANDLER *) and they - pass back a SVC_HANDLER * by reference. This makes it possible - to totally control the creation of svc handlers (which is useful - for the new ACE_Strategy_Connector). - - * ace/Connector.cpp: Factored out the active_svc_handler() call - from the connect_svc_handler() method into the connect() method - so that it would behave correctly as a Template Method and - Strategy. - - * ace/Connector: Removed the explicit use of the Reactor data - member from the ACE_Connector since it's inherited from the - ACE_Service_Object. - - * ace/Log_Msg.cpp: The MVS compiler doesn't like the call to - atexit() in ACE_Log_Msg::instance() because atexit() requires an - a function pointer of type extern "C" for its parameter. I've - fixed this via an adapter. Thanks to Chuck Gehr - for reporting this. - - * ace/Strategies_T: Added a new ACE_Connect_Strategy that - complements the ACE_Strategy_Connector in the same manner that - the ACE_Accept_Strategy complements the ACE_Strategy_Acceptor. - - * ace/Connector.h: The destructor for ACE_Connector should have - been virtual. Now it is. - - * ace/Connector: Added a new factory method called - make_svc_handler(). This behaves similiarly to the - ACE_Acceptor::make_svc_handler(). However, for the - ACE_Connector we only use this when the SVC_HANDLER * is NULL. - - * ace/Connector: Changed the signature for connect() to take a & - to a SVC_HANDLER * in anticipation of our new - ACE_Strategy_Connector. This new connector will make it easy to - implement cached connections. - - * ace/config-win32-common.h: Added a new #include for , - which contains the declarations for TransmitFile() data - structures. They are in WINSOCK.H if you do not use - ACE_HAS_WINSOCK2. Thanks to Norbert Rapp - for reporting this. - - * ace/OS.i: Fixed a typo in the new condition variable - implementation for Win32. Thanks to Norbert Rapp - for reporting this. - -Wed Apr 09 22:06:23 1997 - - * Memory_Pool.h: Modified ACE_MMAP_Memory_Pool and - ACE_MMAP_Memory_Pool_Options to include the new guess_on_fault - option. This is only for platforms that can not report which - address caused a segmentation fault (via signal or exception). - When guess_on_fault is set (via ACE_MMAP_Memory_Pool_Options), - ACE_MMAP_Memory_Pool::handle_signal calls - ACE_MMAP_Memory_Pool::remap "guessing" that the segmentation - fault was caused by an access to memory not yet mapped. - -Wed Apr 09 16:46:16 1997 David L. Levine - - * ace/OS.{h,i}: fixed readPPCTimeBase declaration and return - value (for now: it really needs to return a 64 bit quantity). - Thanks to Dave Mayerhoefer for - reporting these. - -Wed Apr 9 03:12:24 1997 Irfan Pyarali - - * ace/config-win32-common.h: Defining _WIN32_WINNT as 0x0400 - implies ACE_HAS_WINSOCK2. - - * ace/Asynch_IO: The implementation of ACE_Asynch_Transmit_File - and ACE_Asynch_Accept are only supported if ACE_HAS_WINSOCK2 is - defined or you are on WinNT 4.0 or higher. Therefore, added - appropriate #defines. Thanks to Matthias Kerkhoff - for suggesting this. - -Tue Apr 8 22:45:28 1997 Prashant Jain - - * java/src/SOCKStream.java (SOCKStream): Made two small changes to - the two send(). Instead of doing a println, I now do a - print. This was really a bug! - -Tue Apr 08 22:08:12 1997 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed - "rm -f $@" from AR command so that archive won't be removed - during incremental updates. Thanks to Chuck Gehr - for reporting this. - -Tue Apr 8 00:04:22 1997 Douglas C. Schmidt - - * ace/Task_T.cpp: Added a hack to work around the new weird HP/UX - aCC template semantics. Thanks to Neil B. Cohen - for reporting this. - - * ace/config-hpux-10.x[-g++].h: Added #define - ACE_HAS_CLOCK_GETTIME. Thanks to Neil B. Cohen - for reporting this. - - * ace/config-hpux-10.x[-g++].h: Added ACE_HAS_IP_MULTICAST and removed - ACE_LACKS_STRRECVFD. Thanks to Neil B. Cohen - for reporting this. - - * ace/config-hpux-10.x.h: Apparently some HP/UX 10.x C++ compilers - don't support volatile, so I #defined it away as a macro. - Thanks to Neil B. Cohen for reporting this. - - * ace/Log_Msg.cpp: Put a #if defined (ACE_MT_SAFE) around the - entire Log_Msg destructor. Thanks to Neil B. Cohen - for reporting this. - - * ace/config-hpux-10.x[-g++].h: Added #define ACE_HAS_STREAMS on - the recommendation of Neil B. Cohen . - -Mon Apr 07 12:08:21 1997 - - * ace/Set.cpp: For some reason, VC++ 5.0 doesn't like to have the - constructors X::X(X&) and X::X(X*). We can change the X::X(X*) - constructor to take in an extra argument with a default value. - This seems to have sufficiently satisfied the VC++ 5.0 for the - time being. There were no changes necessary to other Set.cpp - code (as the extra argument has a default value). - -Mon Apr 07 08:05:03 1997 David L. Levine - - * ace/config-win32.h: enabled ACE_HAS_UNICODE by default. - Thanks to Matthias Kerkhoff for - suggesting this. - - * ace/config-sunos5.4-g++.h: enabled ACE_HAS_BROKEN_RANDR and - disabled ACE_HAS_SVR4_SIGNAL_T. Thanks to Joey Zhu - for reporting these problems and testing - the fix. - - * ace/Proactor.h (ACE_Proactor): commented out unused arguments - in non-WIN32 version. - -Sun Apr 06 22:51:02 1997 - - * ace/Proactor: Complete rewrite of Proactor that pushes all the - differences in asynchronous I/O to the edges of the framework - - i.e., into the new Asynch_IO classes. This allows the Proactor - to easily support new asynchronous operations. - - Currently, the new Proactor supports minimal functionality. In - the future, we will complete this. - - The Proactor is used in conjunction with the new Asynch_IO - classes. There is a different class for each operation. Please - see Asynch_IO.h for details. - - There is also a new ACE_Asynch_Acceptor that uses AcceptEx. - - Example is in: - ACE_wrappers/examples/Reactor/Proactor/test_proactor.cpp. - - This example illustrates how the ACE_Proactor can be used to - implement an application that does various asynchronous - operations. - - * apps/JAWS/server: Complete rewrite of JAWS. The new JAWS has - support for Asynch-Thread-Pool (on WIN32), Synch-Thread-Pool, - and Thread-per-Request. Different models can be configured using - the svc.conf file. The server now supports both GET and PUT - commands. - - The HTTP_Handler class is a state based implementation of the - HTTP protocol. Therefore, it can be used synchronously and - asynchronously. It uses an abstract IO class to move between - different HTTP protocol states. It is up to the IO class to - decide on synchronous or asynchronous I/O. - - * apps/JAWS/client: This is an example of the implementation of - BlobStreaming in ACE. This version of BlobStreaming uses HTTP as - a transport protocol. - - Blobby :-) is a simple application written using the ACE_Blob - class, which is capable of doing both file uploads and - downloads. If a file is downloaded, the downloaded data is sent - to standard output, so that it can be piped as necessary. - - * ace/Mem_Map.cpp (map_it): This method now uses ACE_OS::pwrite - (if ACE_HAD_P_READ_WRITE is defined) instead of - ACE_OS::lseek/ACE_OS::write to write the end-of-file byte. The - old scheme does not work if the file is in OVERLAPPED mode. - - * ace/OS: Added pread and pwrite to the OS class (if - ACE_HAD_P_READ_WRITE is defined). On Win32, these functions use - the OVERLAPPED structure to specify the offset. This - implementation will block until the write/read completes (even - if the file is in OVERLAPPED mode). - - * ace/config: Added ACE_HAS_P_READ_WRITE to the following - platforms that support pread() and pwrite() calls: - config-sunos4-g++.h - config-sunos4-lucid3.2.h - config-sunos4-sun3.x.h - config-sunos4-sun4.1.4.h - config-sunos4-sun4.x-orbix.h - config-sunos4-sun4.x.h - config-sunos5.4-centerline-2.x.h - config-sunos5.4-g++.h - config-sunos5.4-sunc++-4.x-orbix.h - config-sunos5.4-sunc++-4.x.h - config-sunos5.5-g++.h - config-sunos5.5-sunc++-4.1.h - config-sunos5.5-sunc++-4.x-orbix.h - config-sunos5.5-sunc++-4.x.h - config-sunx86-sunc++-4.x.h - config-win32-common.h - -Sun Apr 6 14:16:18 1997 Douglas C. Schmidt - - * tests/Timer_Queue_Test.cpp: Added tests to make sure that the - new ACE_Timer_Queue::cancel() logic is working correctly. So - far, it seems to be fine. - - * ace/Timer_{Heap,List}.cpp (cancel): Changed the comparison for - dont_call_handle_close to be correct. - - * ace/OS.cpp: Deleted a useless return. Thanks to Gonzalo - A. Diethelm for reporting this. - - * ace/config-irix6.2-sgic++.h: Added the following definitions: - - + ACE_LACKS_PTHREAD_THR_SIGSETMASK - + ACE_HAS_PTHREAD_EQUAL - + ACE_HAS_PTHREAD_T - + ACE_HAS_SYSENT_H - + ACE_HAS_SYSINFO - + ACE_HAS_TEMPLATE_TYPEDEFS - - Deleted the following definitions: - - + #define ACE_HAS_SYS_SIGLIST (Irix's compiler only has a - _sys_siglist array when compiling their own internal - functions). - - Thanks to Gonzalo A. Diethelm for this. - - * ace/Process: Added new support for setting the environment - variable and the current working directory. Thanks to Gonzalo - A. Diethelm for this enhancement. - - * ace/OS.h: "sys/stat.h" was being included more than once, so I - fixed this. Thanks to Gonzalo A. Diethelm - for reporting this. - - * ace/XtReactor.cpp: Added the register_handler_i() method, which - just delegates to the one defined in the Reactor. This is - necessary to adjust to the C++ type system rules. Thanks to - Gonzalo A. Diethelm for reporting this. - - * ace/Service_Config.cpp: Added the Double-Checked Locking - Optimization pattern to all the ACE_Service_Config Singletons - (e.g., thr_mgr(), reactor(), etc.) so that they behave correctly - in multi-threaded programs. Thanks to Matthias Kerkhoff - for insisting on this. - - * ace/OS.i (nanosleep): If the nanosleep() system call isn't - supported by the OS platform we'll just use ACE_OS::sleep(const - ACE_Time_Value &) instead. - - * ace/Log_Msg.cpp: Changed the logic of - ACE_Log_Msg_Manager::remove() so that it returns the number of - remaining registered instances. When this goes to 0 we'll - cleanup. - - * ace/OS.i: Enhanced the ACE_OS::cond_[timed_]wait() methods so - that they use SignalObjectAndWait() whenever possible to avoid - potential problems with unfairness. See - http://www.cs.wustl.edu/~schmidt/editorial-15.html for more - details. Thanks to David Holmes for - pointing out this subtlety. - -Sun Apr 06 20:01:57 1997 David L. Levine - - * include/makeinclude/wrapper_macros.GNU: added "purify" and - "quantify" make command options. To build Purified versions - of all executables in the current direction, for example: - - % make clean; make purify=1 - - These options assume that purify or quantify are in your PATH. - - * ace/Task.{h,cpp}: removed ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES - from ACE_Task_Exit declaration and ACE_Task_Exit::instance (). - ACE_Task_Exit is no longer a template class, so we don't need that. - - * ace/Task_T.h: added missing "*/" at end of comment after #endif. - - * tests/IOStream.cpp (server): added check for 0 strlen of - "buf" to avoid out-of-bound array reference. - - * ace/Svc_Conf_l.cpp, Makefile: added #define ACE_BUILD_DLL. - Thanks to Matthias Kerkhoff for - reporting this. - - * ace/Set.cpp(ACE_Set_Node ctor): commented out unused arg MS_SUCKS. - -Sat Apr 5 14:21:29 1997 Prashant Jain - - * java/: Changed package name from ACE to JACE across all directories. - -Sat Apr 5 13:12:37 1997 Douglas C. Schmidt - - * tests/MM_Shared_Memory_Test.cpp: Removed the use of dynamic - memory allocation to avoid memory leaks. - - * ace/Service_Config: Changed _defaults to _static_svcs since this - more accurately reflects what they do. - - * examples/Shared_Malloc/test_malloc.cpp: Removed the - print_stats() call since it doesn't work via this API. Thanks - to Sandro Doro for reporting this. - - * ACE-install.sh: Tweeked the install script by changing the - "gunzip; tar; gzip" sequence into "gunzip -c | tar xvf -" to - speed it up a little. Thanks to Per Andersson - for this fix. - - * examples/Threads/future1.cpp: Make sure to delete the char *name - that is retrieved from the future in order to avoid a memory - leak. Thanks to Matthias Kerkhoff for - figuring this out. - - * examples/Threads/future1.cpp: Make sure to delete this->name_ in - the Scheduler destructor to avoid a memory leak. - - * examples/Threads/task_four.cpp (close): Enhanced the close() - method so that it will actually delete the memory for the - Worker_Task. - - * ace/XtReactor.cpp (register_handler_i): Added the - - if (mask & ACE_Event_Handler::ACCEPT_MASK) - ACE_SET_BITS (condition, XtInputReadMask); - - Thanks to Jean-Marc Strauss for - reporting this. - - * ace/Timer_Queue.cpp (expire): This is the only method that calls - ACE_Timer_Queue::cancel() with dont_call_handle_close set to 0. - - * ace/Reactor: Modified the cancel_timer() methods so that they - also take a dont_call_handle_close parameter and pass it on to - the Timer_Queue::cancel() method. - - * ace/Timer_{List,Heap}.cpp: Modified all the cancel() methods so - that they will not call handle_close() unless the new parameter - dont_call_handle_close is 0 (it is 1 by default). This will - avoid nasty problems with recursion. Thanks to Paul Han - for suggesting this. - - * ace/Timer_{List,Heap}.cpp (schedule): If a user tried to - schedule a NULL ACE_Event_Handler then we return -1 with errno - set to EINVAL. - - * ace/Message_Block.cpp: Somehow the file got screwed up and was - reverted back to an earlier incarnation where we didn't use - ACE_Service_Config::alloc()... Thanks to Matthias Kerkhoff - for figuring this out. - -Sat Apr 5 19:11:46 1997 Tim H. Harrison - - * ace/Signal.i (ACE_Sig_Guard): Changed the constructor of - ACE_Sig_Guard so that it doesn't call ACE_OS::sigprocmask for - Win32. This keeps errno from being set to ENOSYS at random - times. - -Sat Apr 05 17:27:02 1997 - - * Registry.cpp (resolve): Type and size of the object is only set - if RegQueryValueEx() returns success. Thanks to Alan - (Alan_Cabrera@fp.cibc.com) for reporting this. - -Sat Apr 05 13:11:04 1997 David L. Levine - - * ace/Log_Msg.cpp (instance): Added another ACE_NO_HEAP_CHECK. - Matthias provided the fix. - - * ace/config-win32.h: Disable ACE_HAS_STRICT by default, because - it will break existing application code. - - * ace/OS.{h,cpp},Log_Msg.{h,cpp}: fixes from Matthias Kerkhoff - to avoid memory-leak reports when MFC - or (the CrtHeapXXX()-functions of the Win32 runtime library) - are used. - - The problem is, that MFC (and so may other Win32 applications - do) allocates a thread specific storage slot for each running - thread which contains various control and debug informations. - Part of this information is an object, which when constructed - makes a snapshop of the heap. When this object is destroyed, - the snapshot is compared to the actual heap. All object still - existing on the heap are reported as memory leaks (which - is in most situations correct). Because the object is deleted - when the thread (or programs main) is left and this happens - before atexit is called, some leak reports are false (because, - e.g., all these ACE_Log_Msg's will be deleted in atexit). - - The fix for ACE_Log_Msg consists of three changes (two only - relevant for Win32, one relevant for all platforms.) - Description of changes: - - a) Introduced a new macro ACE_NO_HEAP_CHECK, which turns - off the built in heap checking until the current code block - is left. (defined for all platforms, but only does something - for Win32). This changes os.h and config-win32-common.h. - - b) Added a static member function to ACE_Log_Msg. The function - (exists) returns 0 if the calling thread don't have an ACE_Log_Msg - and non-null if an ACE_Log_Msg exists. This changes Log_Msg.h - and Log_Msg.cpp. - - c) Changed ACE_Thread_Adapter in a way that creating a new - thread does not automatically create an ACE_Log_Msg for the - calling thread. This happened until now, because the new - thread inherited the log settings of the calling thread. - This behaviour makes no sense, if the calling thread does - not have an ACE_Log_Msg, so i use ACE_Log_Msg::exists() (see - above) to prevent the implicit creation of an ACE_Log_Msg - for the calling thread. - - Thanks, Matthias! - - * ace/config-win32.h and config-win32-common.h: new, consolidated - Win32 config files. Thanks, again, Matthias! - - * ace/OS.h (ACE_UNUSED_ARG): determine whether we're building - on an Irix platform by looking for ACE_HAS_IRIX_GETTIMEOFDAY - instead of ACE_HAS_IRIX62_THREADS. - - * ace/Log_Msg.cpp: VxWorks (only!) change: no longer strdups - program_name and local_host to avoid memory leaks. Instead, - the addresses of these are copied by ACE_Log_Msg. So, only - strings in the text segment should be passed to its functions! - Again, this change is for VxWorks only. - - * ace/Sched_Params.cpp: moved memsets of pcinfo so that entire - pcinfo structure is zeroed out, to _really_ avoid Purify warnings. - -Fri Apr 04 12:28:40 1997 David L. Levine - - * ace/config-mvs.h: removed ACE_HAS_IP_MULTICAST because MVS - doesn't define ip_mreq. Thanks to Chuck Gehr - for reporting this. - - * ace/OS.i (mutex_init): fixed the extra braces once and for all. - Thanks to Chuck Gehr for reporting it. - - * ace/OS.i, config-sco-5.0.0*.h: fixed for SCO so that it uses - single-argument gettimeofday () prototype, but calls two-arg - (SVR4) version in ACE_OS::gettimeofday (). Thanks to Ganesh - Ganesh Pai for solving this problem. - - * ace/Log_Msg.{h,cpp}: added ACE_Log_Msg destructor. In - instance (), added call to ::atexit () (::taskDeleteHookAdd () - on VxWorks) to register cleanup handler. Each new instance - of an ACE_Log_Msg is inserted into an ACE_Unbounded_Set; the - cleanup handler iterates over the Set and deletes the - ACE_Log_Msgs at program exit. - - Also, the two strings that are allocated get cleaned up after - the last ACE_Log_Msg instance is deleted. Many thanks to - Matthias Kerkhoff for figuring this out - and cranking out the code. - - It works differently on VxWorks, because it doesn't have - ::atexit (). VxWorks has ::taskDeleteHookAdd (), which is - called when each task exits. So, the Set isn't used. Instead, - the cleanup hook is called for each task when it exits, passing - the task control block (TCB) of the exiting task. A pointer to - the ACE_Log_Msg instance is contained in one of the spare fields - of the TCB, so the cleanup handler simply deletes it. - - * ace/IOStream.h: specify template parameter (ACE_IOStream) - to ACE_OPERATOR{G,P}_SET macros. Thanks to Chuck Gehr - for providing this fix. - -Thu Apr 3 22:17:53 1997 Irfan Pyarali - - * ace/Registry.cpp: Changed STRING_SEPARATOR from Istring to - LPCTSTR. Thanks to Matthias Kerkhoff for - suggesting this. - -Thu Apr 3 21:39:45 1997 Chris Cleeland - - * ace/OS.i (mutex_init): Removed errant open-brace ('{'). Thanks - to Chuck Gehr (gehr@sweng.stortek.com) for the fix! - -Thu Apr 03 08:52:34 1997 David L. Levine - - * ace/OS.h,OS.cpp,Sched_Params.cpp: added /**/ to some #include - directives. Thanks to Matthias Kerkhoff - for reporting these. - - * ace/OS.cpp (writev, readv): changed type of local variable "i" - from size_t to int to avoid signed/unsigned mismatch. Thanks - to Matthias Kerkhoff for reporting this. - - * ace/OS.cpp (readv), SOCK_Dgram.cpp (recv): added casts of - iov_len and copyn because iov_len is int on some platforms and - size_t on others. This avoids compiler (MSVC 4.1) warnings. - Thanks to Matthias Kerkhoff for reporting - this. - - * include/makeinclude/platform_sco5.0.0-nothread.GNU: - updated CCFLAGS and added LD=$(CXX). Thanks to - Ganesh Pai for these fixes. - - * ace/OS.h: added #include of for SCO only. - Thanks to Ganesh Pai for this fix. - - * ace/config-sco-5.0.0*.h: added #define ACE_HAS_IP_MULTICAST. - Thanks to Ganesh Pai for this fix. - - * ace/config-{chorus,linux*,sco*}.h: removed #define of - ACE_HAS_INLINED_OSCALLS because it's no longer needed in the - config files: it's #defined in OS.h if needed. - -Thu Apr 3 01:48:01 1997 Tim H. Harrison - - * ace/Malloc.i (malloc): ACE_New_Allocator::malloc only calls new - if nbytes is > 0. Purify was complaining that 0 bytes were - allocated but never deleted. Go figure. - -Wed Apr 2 22:24:48 1997 Douglas C. Schmidt - - * ace/OS.cpp: Moved the ACE_OS::inet_aton() method into the *.cpp - file and made it non-inline to work around a bug with HP/UX C++. - Thanks to Neil Cohen for this fix. - -Wed Apr 02 10:09:37 1997 David L. Levine - - * ace/config-sunos5.5-sunc++-4.1.h: added template specialization - with Sun C++ 4.2. - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed +w - and added comments about Sun C++ 4.2 support. - - * include/makeinclude/platform_chorus.GNU, platform_hpux_gcc.GNU, - platform_irix5.{2,3_g++}.GNU, platform_linux{_,pthread}.GNU, - platform_m88k.GNU,platform_osf1_4.0_g++.GNU, - platform_sco-nothread.GNU,platform_sco5.0.0-*.GNU, - platform_sunos{4,5}_g++.GNU, platform_sunos5_x86_g++.GNU, - platform_unixware_g++.GNU, platform_vxworks5.2_g++.GNU: - added -fno-implicit-templates to CCFLAGS. See INSTALL file - for discussion of the g++ option. Also, added -O2 because - it dramatically reduces object file sizes. - - * netsvcs/clients/Tokens/manual/manual.cpp: made - STDIN_Token::TID typedef public so that template - specialization (w/ Sun C++ 4.2) can access it. - -Wed Apr 2 10:02:47 1997 Chris Cleeland - - * ace/OS.h: Added definitions for THREAD- and PROCESS-LEVEL - priorities because some implementations define these while - others don't. These are now - ACE_{THR,PROC}_{FIFO,RR,OTHER}_{MIN,MAX,DEF}. The only really - NEW concept is the *_DEF, which is a default value assigned by - ACE_OS::thr_create() if one isn't given. Of special note is that - we don't redefine a default values if it's already been - defined, which allows individual programs to have their - own ACE-wide "default". - - * ace/OS.cpp (thr_create): Uses ACE_{THR,PROC}_* macros - rather than the PRI_* macros. - - * ace/Sched_Params.cpp (priority_min,priority_max): These now - use ACE_{THR,PROC}_* macros to ignore OS-specific priority - assignments. - - * ace/config-linux-lxpthreads.h: Removed definitions of - PRI_{FIFO,RR,OTHER}_{MIN,MAX}. - - * include/makeinclude/platform_linux*.GNU (CCFLAGS): Added - -fno-implicit-templates now that it's supported. This - eliminates messages of the sort 'ld: Warning size of - change from xx to yy' - when linking libACE.so. Thanks to David Levine for making - this possible! - -Tue Apr 1 15:27:28 1997 Douglas C. Schmidt - - * bin/g++dep: Removed the "/bin" prefix so that this won't fail on - platforms that don't have sed in /bin. Thanks to Sandro Doro - for this fix. - -Tue Apr 01 09:55:07 1997 David L. Levine - - * ace/OS.h: protected definition of struct flock on VxWorks, - because it defines that type in sys/fcntlcom.h. (It doesn't - appear to support flock (), though.) Thanks to Dave - Mayerhoefer for reporting this. - - * ace/OS.h: define ACE_hrtime_t as u_longlong_t gcc, because - its long long types are only 4 bytes long. Its longlong_t - types are 8 bytes. Also made ACE_hrtime_t unsigned for - other than gcc on Unix platforms. - - * ace/OS.* (gethrtime), config-vxworks-ghs-1.8.h: added support - for PowerPC with Green Hills compiler. Thanks to Dave - Mayerhoefer for providing the - readPPCTimeBase assembler routine. - - * ace/config-vxworks*.h: removed #include of vxWorks.h because - its no longer necessary with the TimeValue.h merged into OS.h. - - * ace/High_Res_Timer.cpp (elapsed_time): added cast to - initialization of nseconds to avoid compiler warning from - MSVC 4.1 about narrowing from unsigned __int64. - Thanks to Matthias Kerkhoff for - reporting this. - -Mon Mar 31 18:18:35 1997 Carlos O'Ryan - - * ace/config-hpux-10.x-g++.h: - It was tuned to HP-UX 10.10 (and further) using g++ 2.7.2 without - DCE/Threads. - - * ace/Task_T.cpp: - Another iteration on the Module.h file, this time it is not - included *only* under HPUX and when using HP/aCC. Still IMHO - problems will arise as template sintax checking becomes more - popular. - - * ace/Local_Name_Space_T.h: - * ace/Local_Name_Space_T.cpp: - Replaced MAXNAMELEN with MAXPATHLEN since some platforms - (e.g., HP/UX) have a very low value (e.g., 14 bytes) for - MAXNAMELEN. - - * ace/config-hpux-10.x-aCC.h: - The comment did not make clear what was compiler/platform - target. It also included some remarks that only applied to - HP/C++. - - * tests/Future_Test.cpp: - * tests/Message_Block_Test.cpp: - * tests/Thread_Pool_Test.cpp: - Will not compile if ACE_HAS_THREADS was not defined and - ACE_TEMPLATES_REQUIRE_SPECIALIZATION was: they tried to - instantiate templates that were only defined when ACE_HAS_THREADS. - - * ace/config-hpux-10.x-aCC.h: - More fine tuning: ACE_HAS_EXCEPTIONS, - ACE_LACKS_LINEBUFFERED_STREAMBUF, - ACE_HAS_STREAM_PIPES. - - * ace/TLI_Stream.h: - * ace/TLI_Acceptor.h: - No "Meta-type info" was defined (the PEER_ADDR and PEER_STREAM - typedefs). - - * ace/Signal.h: - * ace/Signal.cpp: - With HP/aCC we can enable ACE_Sig_Handlers. - -Mon Mar 31 22:36:55 1997 Douglas C. Schmidt - - * ace/Service_Config.cpp (process_directives): Return -1 if - ace_yyerrno > 0. Thanks to Alan Cabrera - for reporting this. - -Mon Mar 31 17:38:08 1997 Chris Cleeland - - * ace/OS.cpp (thr_create): Moved priority determination after - policy determination because it's possible for setting of the - priority to fail if it's not a valid priority for the [default] - policy. - -Mon Mar 31 09:00:54 1997 David L. Levine - - * performance-tests/Misc/context_switch_time.cpp: this test no - longer worked. So, reverted to revision 4.5, plus minimum - changes necessary to support build on platforms without threads. - - * examples/Threads/Makefile, performance-tests/Misc/Makefile: - moved context_switch_time.cpp from examples/Threads to - performance-tests/Misc. - - * examples/Logger/Acceptor-server/server_loggerd.cpp, - examples/Reactor/Misc/pingpong.cpp, - examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp, - examples/Shared_Malloc/Malloc.cpp: - added template specializations. - - * include/makeinclude/platform_sunos5_g++.GNU: removed dependency - of CCFLAGS on CFLAGS to avoid duplicate -g in build command. - Also, added -fno-implicit-templates in comment. - -Sun Mar 30 12:52:58 1997 Douglas C. Schmidt - - * ace/Malloc.h: The block begining with: - #if defined (ACE_MALLOC_STATS) - and ending with end of struct ACE_Malloc_Stats - must be moved (up) after line 107 - - Thanks to Sandro Doro for pointing - this out. - - * ace/Malloc_T.cpp: The line - this->malloc_stats_.dump (); - must be changed in: - this->cb_ptr_->malloc_stats_.dump (); - - Thanks to Sandro Doro for pointing - this out. - - * ace/Malloc_T.cpp: the line - this->cb_ptr_->malloc_stats_.print (); // print not exists - may be changed in: - this->cb_ptr_->malloc_stats_.dump (); - - Thanks to Sandro Doro for pointing - this out. - - * ace/Malloc_T.h: Added "virtual" to the ACE_New_Allocator methods - to reinforce the fact that they are indeed virtual. Thanks to - Sandro Doro for pointing this out. - - * ace/Malloc.h: Added "virtual" to the ACE_New_Allocator methods - to reinforce the fact that they are indeed virtual. - -Sat Mar 29 20:26:54 1997 David L. Levine - - * ace/OS.h: moved #defin of RTLD_LAZY after #include of dlfcn.h. - Thanks to Chris Lahey for this fix. - - * ace/Task_T.h: replaced #include of "ace/Module.h" because some - Task_T methods use ACE_Module methods. - - * examples/Connection/non_blocking/test_{sock,spipe,tli}_{acceptor, - connector}.cpp, - examples/System_V_IPC/SV_Semaphores/Semaphores_{1,2}.cpp: - added template specializations. - -Sat Mar 29 17:08:33 1997 Douglas C. Schmidt - - * ace/OS.cpp: Added many new ACE_UNUSED_ARGS macros to eliminate - warnings when we are compiling without threads. - -Fri Mar 28 11:34:38 1997 David L. Levine - - * ace/Task.{h,cpp},Thread_Manager.h: changed remaining - priority types to long and defaults to -1. - - * ace/Thread_Manager.cpp (spawn_i): don't clobber errno! - ACE_OS::thr_create () sets errno and returns -1. So, - its return value should not be used to set errno. - - * ace/OS.cpp (thr_create): fixed PTHREADS_1003_DOT_1C thread - priority logic. Thanks to Thilo Kielmann - for the patch. - - * ace/config-sunos5.5*.h,README,OS.cpp (thr_create): added - ACE_HAS_ONLY_SCHED_OTHER to indicate that platform (Solaris 2.5) - only supports POSIX SCHED_OTHER scheduling policy. - - * tests/Priority_Task_Test.cpp (open): added THR_SCHED_FIFO flag. - Thanks to Thilo Kielmann for - for this suggestion. - - * examples/ASX/Event_Server/Event_Server/Makefile, - Transceiver/Makefile: - added -lGateway to LIBS to pick up its template - instantiations during links. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp, - Transceiver/transceiver.cpp, - Connection/blocking/SPIPE-{acceptor,connector}.cpp, - misc/Connection_Handler.cpp,test_upipe.cpp, - Logger/simple-server/server_loggerd.cpp, - UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp, - performance-tests/Synch-Benchmarks/Options.cpp: - added template specializations. - -Thu Mar 27 21:10:59 1997 David L. Levine - - * ace/IOStream.h: only use built-in ipfx{0,1} () with __GNUC__, - because that's the only compiler we know of that has them. - Thanks to Carlos O'Ryan for pointing this - out, and to James CE Johnson for providing the fix. - - * ace/OS.i: rearranged order of ACE_Time_Value functions (moved - set ()'s up, moved arithmetic operators down) so that they are - defined before use. - - * ace/Task_T.cpp: removed ACE_TEMPLATES_REQUIRE_SOURCE around - #include of "ace/Module.h" so that it will build with Sun C++ 4.1. - - * apps/Gateway/Peer/Makefile: added -lGateway to LIBS to - pick up its template instantiations during links. - - * apps/Gateway/Peer/Peer.cpp: added template instantations. - -Thu Mar 27 14:10:39 1997 Douglas C. Schmidt - - * ace/OS.h: Added two new accessors to ACE_Time_Value: - - operator timeval *() const; - // Returns a pointer to the object as a timeval. - - const operator timeval *() const; - // Returns a pointer to the object as a timeval. - - Thanks to Carlos O'Ryan for this suggestion. - - * ace/OS.i (ACE_Time_Value): Inlined many of the ACE_Time_Value - accessors. - - * ace/OS.h: Reimplemented ACE_Str_Buf at - - struct ACE_Export ACE_Str_Buf : public strbuf - { - // = Initialization method - ACE_Str_Buf(void* b = 0, int l = 0, int max = 0); - // Constructor. - }; - - this makes the casting from ACE_Str_Buf* to strbuf* a "safe" - cast and makes it more portable (say on platforms where the - fields in strbuf are not in the right order). Thanks to Carlos - O'Ryan for this fix. - - * ace/OS.h: Moved the definition of imr_multiaddr to just before - class ACE_OS so that it picks everything up appropriately. - Thanks to Hakan Kallberg for reporting this. - - * ace/config-aix-4.[12].x.h and config-mvs.h: Fixed the - ACE_HAS_MULTICAST macros, which should have said - ACE_HAS_IP_MULTICAST. Thanks to Daniel Montalibet - for reporting this. - -Thu Mar 27 15:54:10 1997 Chris Cleeland - - * ace/{Thread,Thread_Manager}.{h,i,cpp} (ACE_Thread): Changed - type for priority arg to spawn*() from u_int to long to - support changes in thr_create indicated below. Thanks to - Thilo Kielmann for these - changes. - - * ace/OS.cpp: Ensure that whenever either a priority of a - scheduling policy is set explicitly, with POSIX threads, the - other argument and the flag THR_EXPLICIT_SCHED is set - automatically. A range check for priority values for POSIX - 1003.1c is also included. Thanks to Thilo Kielmann - for these changes. - - * ace/OS.h: Changed type and default value of priority arg to - thr_create from u_int to long and 0 to -1. Thanks to Thilo - Kielmann for these - changes. Also added ACE_MAX and ACE_MIN macros. - -Thu Mar 27 11:25:38 1997 David L. Levine - - * netsvcs/servers/Makefile: removed SHOBJ so that main.so is not - built, because it wasn't needed. Thanks to Sandro Doro - for this fix. - - * ace/config-aix-4.[12].x.h,config-mvs.h: changed - ACE_HAS_MULTICAST to ACE_HAS_IP_MULTICAST. Thanks to Daniel - Montalibet for reporting - this. - - * include/makeinclude/platform_sunos5_g++.GNU, - platform_sunos5_x86_g++.GNU, - platform_unixware_g++.GNU: - removed "-L$(WRAPPER_ROOT)/ace -L./" from LDFLAGS because it - is added to LDFLAGS in include/makeinclude/wrapper_macros.GNU. - - * apps/Gateway/Gateway/{Event_Channel.cpp,Gateway.cpp, - Proxy_Handler.cpp,Proxy_Handler_Acceptor.cpp, - Proxy_Handler_Connector.cpp, - examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp, - netsvcs/clients/Naming/Client/Client_Test.cpp, - netsvcs/clients/Tokens/manual/manual.cpp: - added template specializations. - -Thu Mar 27 10:05:59 1997 Prashant Jain - - * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed two things: - 1) In TS_Clerk_Processor::parse_args() changed - "%n:\n[-p hostname:port] [-t timeout] [-p poolname]\n%a", 1), - to - "%n:\n[-h hostname:port] [-t timeout] [-p poolname]\n%a", 1), - - 2) In TS_Clerk_Processor::alloc() changed - void *temp = 0; - // Only create the state if it doesn't already exist. - if (this->shmem_->find (ACE_DEFAULT_TIME_SERVER_STR, temp) == -1) - { - // Allocate the space out of shared memory for the system time entry - temp = this->shmem_->malloc (sizeof (this->system_time_)); - - to: - - // Only create the state if it doesn't already exist. - if (this->shmem_->find (ACE_DEFAULT_TIME_SERVER_STR) == -1) - { - // Allocate the space out of shared memory for the system time entry - void *temp = this->shmem_->malloc (sizeof (this->system_time_)); - - Thanks to Sandro Doro (alex@aureus.sublink.org) for suggesting these changes. - -Thu Mar 27 01:00:18 1997 Douglas C. Schmidt - - * include/makeinclude/platform_irix6.2_sgiCC.GNU: Added a new - platform config file for SGI Irix 6.2 using the CC compiler (not - NCC nor the MipsProcompiler). Thanks to Eric Dean Russell - for these changes. - - * ace/OS.h: Moved the ACE_LACKS_UTSNAME_T block into the right - part of the code. Thanks to Jonathan Biggar for - this fix. - - * ace/Malloc.h: Added an enhancement so that the new alignment - features will work regardless of the size of ACE_MALLOC_ALIGN. - Thanks to Fred LaBar for this fix. - - * ace/Synch_Options.cpp: We now automatically set the USE_TIMEOUT - flag if a non-0 timeout value is supplied. Thanks to Tim - Liddelow for this suggestion. - -Wed Mar 26 08:47:24 1997 David L. Levine - - * ace/{ACE.cpp,Log_Msg.cppOS.cpp}, - tests/{Message_Queue_Test.cpp,Naming_Test.cpp}: - Changed ::sprintf calls to ACE_OS::sprintf. Thanks to - Thilo Kielmann for - reporting this. - - * netsvcs/lib/{Client_Logging_Handler.cpp,Name_Handler.cpp, - Server_Logging_Handler.cpp,TS_Service_Handler.cpp, - Token_Handler.cpp}: added template specializations. - -Tue Mar 25 06:47:14 1997 Douglas C. Schmidt - - * ace/OS.h: Moved config.h to the top of OS.h so that we don't - have to worry about not defining things in the right place. - Thanks to Matthias Kerkhoff for pointing - this out. - -Tue Mar 25 22:54:49 1997 Irfan Pyarali - - * ace/OS.i: Added UNICODE support for ACE_OS::chdir(). Thanks to - Ivan Murphy for the code. - -Tue Mar 25 21:26:10 1997 David L. Levine - - * ace/TTY_IO.{h,cpp},README, and these config files: - config-aix-*.h, config-hpux-*.h, config-irix5.*.h, - config-mvs.h, config-osf1-*.h, config-sun*.h (except for g++ - and config-sunos5.5-sunc++-4.1.h), config-win*.h: - Added ACE_NEEDS_DEV_IO_CONVERSION to conditionally compile the - ACE_DEV_IO & conversion operator for ACE_TTY_IO, which is a - subclass of ACE_DEV_IO. Thanks to Fred LaBar - and Gonzalo Diethelm - for reporting warnings without this on - Irix 6.2 with the mipsPro compiler. - - * ace/OS.cpp (thr_create): on VxWorks, always pass 0 as first arg to - ::taskSpawn () so that VxWorks will generate the task ID. - Thanks to Dave Mayerhoefer - for providing this fix, without which random task names would - be assigned. - - * ace/ACE.cpp (get_bcast_addr): added return 0 at end of non-WIN32 - code to avoid compile warning from g++. - - * tests/IOStream_Test.cpp: removed extra "(%P|%t)" from output. - I couldn't get ACE_ERROR_RETURN to work on g++: it complained - about mismatched return types when returning an int from a - function that returns a void *, and about mismatched arguments - to an ACE_Log_Msg function if I cast the int to a void *. So, - I used ACE_ERROR instead. - Added ACE_UNUNSED_ARG (arg). Removed unused variables - error_at_server and error_at_client. - - * netsvcs/lib/TS_Clerk_Handler.cpp: added another template - specialization. - - * examples/Reactor/Multicast/client.cpp: Log_Wrapper::LOG_DEBUG - instead of LM_DEBUG. - - * examples/Threads/context_switch_time.cpp: use ACE_Sched_Params - to get platform-dependent thread priorities. Also, moved #includes - so that config.h is read before testing for ACE_HAS_THREADS. - - * examples/Threads/{auto_event.cpp,barrier2.cpp,future1.cpp, - future2.cpp,reader_writer.cpp,tss1.cpp,tss2.cpp}: - added template specializations. - -Tue Mar 25 10:01:05 1997 Chris Cleeland - - * config-linux.h: Added - ACE_HAS_{SVR4_DYNAMIC_LINKING,AUTOMATIC_INIT_FINI}. Thanks to - alex@aureus.sublink.org (Sandro Doro) for the change. - - * platform_linux.GNU: Added -ldl to LIBS. Thanks to - alex@aureus.sublink.org (Sandro Doro) for the change. - -Tue Mar 25 16:01:34 1997 Carlos O'Ryan - - * ace/Svc_Handler.cpp: - I forgot to comment this: "operator delete" used to call ::delete - on a void*, on ANSI/C++ this is not allowed. Since "operator new" - calls ::new for a char[] I do a casting to char* and call - ::delete[] on the char pointer. - - * ace/config-hpux-10.x-aCC.h: - HP-UX 10.10 supports CLOCK_GETTIME, my guess is that it should - work with g++ and HP/C++, but I won't mess with those files yet. - - * ace/Connector.h: - The default address parameter for "connect" is a bit tricky, from - the comments in the file: - // - // If the compiler supports 'typename' we cannot use - // - // PEER_CONNECTOR::PEER_ADDR::sap_any - // - // because PEER_CONNECTOR::PEER_ADDR is not considered a - // type. But: - // - // typename PEER_CONNECTOR::PEER_ADDR::sap_any - // - // will not work either, because now we are declaring sap_any a - // type, further: - // - // (typename PEER_CONNECTOR::PEER_ADDR)::sap_any - // - // is considered a casting expression. All I can think of is - // using a typedef, I tried PEER_ADDR but that was a source of - // trouble on some platforms. I will try: - // - typedef ACE_PEER_CONNECTOR_ADDR ACE_PEER_ADDR_TYPEDEF; - - * ace/OS.h: - The stock HP C++ compiler (cfront based) gives lots of warnings in - . I used to define volatile to avoid this warnings. Now - I think I'll rather like to see them. - - * ace/SPIPE_Stream.h: - * ace/SPIPE_Connector.h: - There was no meta-type info (PEER_ADDR) for SPIPE_Stream and - SPIPE_Connector. - - * ace/Stream_Modules.h: - * ace/Stream_Modules.cpp: - Fixed a "bug" introduced in my last change: a couple of - ACE_ALLOC_HOOK_* were commented but shouldn't. - - * examples/Connection/non-blocking/CPP-acceptor.cpp (open): - PR_AD cannot be used in this context, it expands to - _ACE_PEER_ACCEPTOR::PEER_ADDR (via ACE_PEER_ACCEPTOR_ADDR), but - the template parameter is _ACE_PEER_STREAM (aka PR_ST_1, aka - ACE_PEER_STREAM_1). - The right macro was ACE_PEER_STREAM_ADDR. - - * ace/Connector.h: - * ace/Connector.cpp: - The typedef trick I used (PEER_ADDR) did not work on every - platform. - I also broke some examples since ACE_PEER_CONNECTOR_ADDR did not - include ACE_TYPENAME on its definition. Hopefully this new trick - will work everywhere. - - * I finally sorted out the mistery of including "ace/Module.h" - into "ace/Task_T.cpp": when compiling "ace/Stream_Modules.cpp" you - get the following include sequence: - Stream_Modules.cpp - Stream_Modules.h - Task.h - Task.i - Task_T.h - Message_Queue.h (descendants removed) - Synch_T.h (descendants removed) - Task.h (already included). - Task_T.i - Task_T.cpp - Module.h - ACE.h (descendants removed) - Task.h (already included). - Module.i - Module.cpp - - At this point Module.cpp uses ACE_Thru_Task declared on - Stream_Modules.h, but after the #include "ace/Task.h"; - in fact Module.cpp tries to #include "ace/Stream_Modules.cpp" but - that second #include expands to nothing due to the canonical - protection on Stream_Modules.h. - That explains the removal of Module.h in Task_T.cpp. - If you are wondering why so long an explanation for this change - the answer is simple: just because I was curious on now it worked. - -Mon Mar 24 14:08:48 1997 Douglas C. Schmidt - - * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Cleaned up the code a - bit. - - * ace/ACE: Added a new method called get_bcast_addr() which will - get the broadcast address for a host. Thanks to Paul Han - for suggesting this. - - * ace/UNIX_Addr: Added another set method in UNIX_Addr class: - - void set (const ACE_UNIX_Addr &sa); - // Creates an ACE_UNIX_Addr from another . - - Thanks to Paul Han for this. - - * ace/SOCK_Dgram: Removed the #if defined (ACE_HAS_IP_MULTICAST) - since this is now handled at the ACE_OS level. - - * ace/OS.h: Added support for IP multicast macros and structs even - on platforms that don't support it so that the tests will - compile without having lots of #ifdefs. - - * tests/Future_Test.cpp: Added a check for platforms that lack - threads. Thanks to Hakan Kallberg - for reporting this. - - * netsvcs/lib/Server_Logging_Handler.cpp: Added a check for - platforms that lack threads. Thanks to Hakan Kallberg - for reporting this. - - * examples/Threads/context_switch_time.cpp: Added an #ifdef for - ACE_HAS_THREADS to this test so that it will compile on - platforms that don't have threading. Thanks to Scott Halstead - for reporting this. - - * tests/IOStream_Test.cpp: Fixed up this test so that it works - correctly on platforms that lack multi-threading. Thanks to - Scott Halstead for reporting this. - - * netsvcs/lib/Makefile: Reincluded the LIB target so that we'll - build a static library. Thanks to Scott Halstead - for reporting this. - - * ace/SOCK_Dgram.cpp (recv): Added a check to make sure that we - don't try to copy more into the recv buffer than we've really - got. Thanks to Alan_Cabrera@fp.cibc.com for this fix. - - * ace/OS.cpp (readv): Added a check to make sure that we don't try - to copy more into the recv buffer than we've really got. Thanks - to Alan_Cabrera@fp.cibc.com for this fix. - - * ace/Malloc.h: Modified the alignment strategy to define - ACE_MALLOC_ALIGN to a number of bytes. (it gets rounded to a - number of long's). This makes it easier to work with more - complex buffer alignment strategies (e.g., DMA). Thanks to Fred - LaBar for this. - - * ace/OS.cpp (readv): Added several more changes for the readv() - emulation. Thanks to Alan Cabrera - and Adam Porter for these fixes. - -Mon Mar 24 14:22:17 1997 David L. Levine - - * ace/OS.cpp (thr_create): For VxWorks, fixed call to ::taskSpawn (). - ACE's arguments are in an array, not individual arguments. - Also, set flags to VX_FP_TASK if it's 0, to match behavior - of ::sp (). Thanks to Dave Mayerhoefer - for reporting these and providing - the fix. - - * ace/High_Res_Timer.cpp (elapsed_time (struct timespec &): - fixed, using same approach as in elapsed_time - (ACE_hrtime_t &nanoseconds), to get nanosecond resolution. - - * netsvcs/lib/TS_Clerk_Handler.cpp (handle_close): added - ACE_UNUSED_ARG (mask). Also, added template specializations. - - * examples/Reactor/Multicast/server.cpp (Server_Events ctor): - rearranged initializers to match declaration order. - - * examples/IOStream/server/iostream_server.cpp, - client/iostream_client.cpp: - added template specializations. - -Mon Mar 24 13:21:31 1997 Tim H. Harrison - - * ace/High_Res_Timer.cpp (elapsed_time): Added an - ACE_High_Res_Timer::elapsed_time (ACE_hrtime_t &nanosecond) - method that returns the number of elapsed nanoseconds. This is - accomplished even with the scale factors converting to - microseconds. It also does not use floating point - calculations. - -Sun Mar 23 13:25:39 1997 Tim H. Harrison - - * ace/High_Res_Timer.h: Removed from the - constructor of High_Res_Timer. All High_Res_Timers now use - global_scale_factor_ directly. Hopefully, this will not break - any existing code! - -Sat Mar 22 12:06:22 1997 Douglas C. Schmidt - - * ace/OS.h: The include statement for config.h was too low. Some - defines for key_t, needed for NT, didn't work. Thanks to Alan - Cabrera for these fixes. - - * examples/Reactor/Multicast: Improved the multicast client and - server programs to work better. - - * ace/Connector.cpp: Modified the ACE_Connector::handle_close() - method to prevent recursive calls to itself. Thanks to Paul Han - for reporting this. - - * ace/Svc_Handler.cpp: Put the check (closing_ == 0) in the - destructor as well as in the destroy() method. This prevents a - possible core dump when the timer exists. The instruction - reactor::remove_handler in the shutdown method currently will be - called twice when ACE_Svc_Handler object is being deleted. Core - dump occurs when it tries to execute ACE_Reactor::remove_handler - method the second time because the ACE_Svc_Handler object - pointer has already been deleted by the previous instruction - ACE_Reactor::cancel_timer. Thanks to Paul Han - for reporting this. - - * ace/OS.cpp: Added new thread-safe implementations of writev() - and readv() for platforms that lack these functions. - - * ace/SOCK_Dgram.cpp: Added new implementations of - ACE_SOCK_Dgram::{send,recv} that define methods for - send(iovec[], ...) and recv(iovec[], ...) for systems that - don't have sendmsg() and recvmsg(). Thanks to Alan Cabrera - for these fixes. - - * apps/jaws/HTTP_Handler.cpp: Removed some problematic template - specializations that were left over from an earlier version of - JAWS. Thanks to Adam Porter for reporting - this. - - * examples/Logger/Acceptor-server/server_loggerd.cpp: Revised the - code to use the new ACE_Svc_Handler logic that checks to ensure - that we don't recurse infinitely in handle_close(). - Thanks to Jean-Marc Strauss for - reporting this problem. - - * examples/Logger/simple-server/Logging_Handler.cpp - (handle_close): Added a check to make sure we don't end up - recursively calling handle_close(). This will prevent - a segfault. - -Sat Mar 22 07:30:49 1997 David L. Levine - - * ace/High_Res_Timer.*: Changed scale factor to convert - platform-dependent clock units to microseconds instead of - nanoseconds. That way, it should be greater than 1 for - all supported platforms. So, it's now an unsigned long - instead of a double. - - * ace/OS.h: Changed ACE_hrtime_t to unsigned __int64 with - _MSC_VER. Also, fixed typo: "uint64" instead of "unit64" - without _MSC_VER. - -Fri Mar 21 08:37:34 1997 Carlos O'Ryan - - * makeinclude/rules.lib.GNU: - I use the macro SOEXT to support HP non-standard extension for - shared library names (.sl instead of .so). - I also changed the rule to build shared libraries: under HP-UX you - cannot pass extra libraries (-lXXX options) when building a shared - lib. Before HP-UX 10.10 it wasn't a problem because no library was - needed with ACE, but to support XLI the '-lxti' flag must be used - on binaries (but not on shared libs). - - * include/makeinclude/platform_hpux.GNU: - The PIC option (+Z) was used always, clearly not intended. - - * include/makeinclude/platform_hpux_gcc.GNU: - Added a config file for g++ under HP-UX. - - * include/makeinclude/platform_hpux_aCC.GNU: - Added a config file for HP/aCC compiler under HP-UX. - - * ace/Makefile: - * netsvcs/lib/Makefile: - Changed to support the SOEXT macro. - - * config-hpux-10.x.h: - * config-hpux-10.x-aCC.h: - * config-hpux-10.x-g++.h: - I updated the files to HP-UX 10.10, AFAIK since that version HP-UX - uses fd_set instead of int in select(2) (so ACE_SELECT_USES_INT is - not needed) and the OS supports siginfo_t and ucontext_t so - ACE_HAS_SIGINFO_T and ACE_HAS_UCONTEXT_T are defined. - I *do not* have threads at my site nor the infamous PHSS_6246 - patch so I couldn't test the threaded version nor the HP cfront - based one. - ACE compiled fine with g++ and HP/aCC though. - - * ace/OS.h: - * ace/Malloc_T.h: - HP/aCC supports the typename keyword. I added a new config macro - 'ACE_HAS_TYPENAME_KEYWORD', when it is defined ACE_TYPENAME - expands to 'typename' when not it expands to nothing. - On the cases where HP/aCC requires the usage of 'typename' I added - a 'ACE_TYPENAME'. - - * ace/OS.i: - * ace/OS.cpp: - ACE_OS::inet_aton cannot be inlined under HP-UX. - - * ace/Connector.h: - * ace/Connector.cpp: - I have decided to use a typedef (PEER_ADDR) instead of - ACE_PEER_CONNECTOR_ADDR, mainly because the second form - requires a ACE_TYPENAME before each usage. - - * ace/Event_Handler_T.i: - Much to my surprize ACE_TYPENAME is required when using a template - typedef as a return value. - - * ace/Local_Name_Space_T.h: - HP/aCC does not like the usage of a private typedef from another - class. - - * ace/Strategies_T.h: - * ace/Strategies_T.cpp: - ACE_Process_Strategy declared two defaults constructors: - ACE_Process_Strategy(void) and ACE_Process_Strategy(int = 1). - The constructor code was wrong, it called open() with parameters: - open(thr_mgr, thr_flags, n_threads) - none of which were defined, worse, open() receives just one - parameter (the number of processes) just as the constructor, I - believe that C-w programming is lurking here. - - * ace/Signal.cpp: - Though the header file does not declare ACE_Sig_Handlers under - HP-UX (and the code is not defined too) some auxiliary functions - that use ACE_Sig_Handlers were defined. I removed their - definition. - Some day I'll try to take a look at the code, trying to find out - was wrong with them. - - * ace/Stream_Modules.h: - * ace/Stream_Modules.cpp: - By mistake I commented out the ACE_ALLOC_HOOK_* macros; have to - fix it *real soon*. - - * ace/Task_T.cpp: - No need to include "ace/Module.h" since only the template - declaration is used. When ACE_TEMPLATES_REQUIRE_SOURCE is defined - you end up using ACE_Thru_Task before it gets defined. - This is no problem unless your compiler checks template sintax - before instantiation as the HP/aCC compiler do. - - * examples/Reactor/Misc/test_demuxing.cpp: - ACE_MT_SYNCH was used, but it is only defined if ACE_HAS_THREADS, - I used ACE_SYNCH instead, which is defined as ACE_MT_SYNCH if - ACE_HAS_THREADS and as ACE_NULL_SYNCH if not. - Maybe the semantics are wrong, but the thing compiles. - -Fri Mar 21 15:10:59 1997 Douglas C. Schmidt - - * ace/Makefile (FILES): Moved Log_Msg to the beginning of the - source list in the ace Makefile. This is nice because it forces - the compilation of OS.i and that, obviously, is where you get - the complaints for the port. It's nice to have it at the - beginning so you catch the errors very early on before you've - compiled 30 or 40 files. Thanks to Scott Halstead - for this suggestion. - - * ace/Memory_Pool.cpp: Added #if !defined - (ACE_LACKS_SYSV_SHMEM) to handle systems like Chorus that - lack this feature. - -Thu Mar 20 18:58:50 1997 Douglas C. Schmidt - - * ace/Svc_Handler.cpp (destroy): Added a state variable to keep - track of when we are closing down the Svc_Handler. This is - necessary to prevent endless recursive calls to handle_close() - due to the recent enhancements to ACE_Timer_{List,Heap}. Thanks - to Bert Craytor for reporting - this. - - * tests/Conn_Test.cpp: Added a new test that makes sure the - Acceptor, Connector, and Svc_Handler are working correctly. - - * ace: Added some more changes for Chorus. Thanks to Wei Chiang - for these changes. - - * ace/OS.h: Added #define for SIGSEGV for platforms that lack it - (e.g., Chorus). - - * ace: Made a bunch of minor changes to support SunOS 4.x better. - Thanks to Scott Halstead for reporting - these problems. - - * tests/Conn_Test.cpp: Added ACE_TEMPLATES_REQUIRE_SPECIALIZATION - for the various templates used in this test. Thanks to Thilo - Kielmann for reporting this. - - * ace/Connector.cpp (connector): Fixed some minor bugs that - prevented the ACE_Connector from compiling. Thanks to David - Levine for noticing this. - - * ace/OS.h: Moved the ACE_LACKS_SIGACTION block so that it will - work on Win32. Thanks to Matthias Kerkhoff - for pointing this out. - -Thu Mar 20 22:38:27 1997 David L. Levine - - * ace/Timer_Heap.cpp: added template specializations. - - * netsvcs/lib/Client_Logging_Handler.cpp, - Name_Handler.cpp - Server_Logging_Handler.cpp - TS_Clerk_Handler.cpp - TS_Server_Handler.cpp - Token_Handler.cpp: added template specializations. - There are still many missing from libnetsvcs. - - * tests/Conn_Test.cpp, - Future_Test.cpp - IOStream_Test.cpp - Map_Manager_Test.cpp - Message_Block_Test.cpp - Message_Queue_Test.cpp - Reader_Writer_Test.cpp - SV_Shared_Memory_Test.cpp - Thread_Pool_Test.cpp}: added template specializations. - Thanks to Thilo Kielmann - for providing these. - - * ace/Log_Msg.cpp: removed commented-out template specialization. - - * include/makeinclude/platform_{chorus,hpux,hpux_gcc}.GNU: - split out CFLAGS and CCFLAGS from CC and CXX. - - * ace/config-aix-4.[12].x.h: added back ACE_HAS_THREAD_SELF and - and ACE_HAS_SVR4_DYNAMIC_LINKING; removed ACE_HAS_PTHREAD_T. - Thanks to Chris Lahey for figuring these out. - -Thu Mar 20 12:25:30 1997 - - * ace/ace.{mak,mdp}: Build->Settings->Code Generation->Processor is - now set to "Pentium" instead of "Blend*" for Debug and Release - builds. - - * ace/config-win32-msvc4.x.h: - * ace/config-win32-msvc2.0.h: - * ace/config-winnt-4.0-msvc4.x.h: Only define ACE_HAS_PENTIUM when - _M_IX86 == 500. Projects must specify Pentium in - Build->Settings->Code Generation->Processor to use the RDTSC - instruction in ACE_OS::gethrtime. - - * ace/High_Res_Timer.{cpp,i}: By default, High_Res_Timer is - constructed with a scale_factor == 1. This allowed me to remove - all the checks for scale_factor == 0 in the code. - - * ace/High_Res_Timer.h (static gettimeofday): If - global_scale_factor_ is not set, and we're on a platform that - requires global_scale_factor_ (e.g., Win32), - ACE_OS::gettimeofday will be used instead of ACE_OS::gethrtime. - This allows the scale_factor of 1 to still result in correct - values. - -Wed Mar 19 15:02:09 1997 Douglas C. Schmidt - - * ace: Added zillions of minor changes so that ACE will compile on - the new aCC compiler for HPUX. Thanks to Gonzalo A. Diethelm - and Carlos O'Ryan for - help with this. - - * ace/SOCK_Dgram_Mcast.cpp (subscribe): In addition to the - SO_REUSEADDR option, Irix has a SO_REUSEPORT option that must - also be set to allow multiple sockets to bind to the same - multicast address. Thanks to Robert V. Head for - reporting this. - - * ace: Added a slew of changes to support CHORUS. Thanks to - Wei Chiang for these changes. - - * ace/config-sunos4.*.h: Added #define ACE_HAS_UNION_WAIT based - on the recommendation of Kumar Neelakantan - . - - * ace/Log_Msg.cpp (log_hexdump): Replaced the use of ::sprintf() - with ACE_OS::sprintf() so that the return value would be correct - on SunOS 4.x! - - * ace/OS: Added ACE_HAS_CHARPTR_SPRINTF and ACE_SPRINTF_ADAPTER - to ACE_OS::sprintf() for SunOS 4.x platforms. Thanks to Kumar - Neelakantan for reporting this. - - * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): If the bound was - reached in the following loop, we should set this->num_ = - this->handles_.max_handle_ + 1 rather than go into the 2nd loop. - Thanks to Michael Newton for reporting - this. - - * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): - ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator did not work - properly if called with a zero handleset, as there was no bounds - check on the first loop therein. Thanks to Michael Newton - for reporting this. - -Wed Mar 19 16:06:32 1997 David L. Levine - - * ace/OS.h,README: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER to wrap - #include of sys/socket.h with #undef/#define of __cplusplus. - - * ace/config-aix-4.[12].x.h: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER, - ACE_HAS_PTHREAD_T, ACE_LACKS_TCP_H, and ACE_LACKS_SETSCHED. - Removed ACE_HAS_SVR4_DYNAMIC_LINKING and ACE_HAS_THREAD_SELF. - - Thanks to Daniel Montalibet for - both of the above modifications. - - * platform_{dgux4_epc,irix5.3_g++,linux*,m88k,osf1_3.2,sco*, - sunos4_g++,sunos5_centerline*,sunos5_g++,sunos5_sunc++*, - unixware_g++,vxworks5.2_g++}.GNU: split out CFLAGS and CCFLAGS. - Also, removed -lstdc++/-lm from g++ versions, because we now set - CXX to g++ instead of gcc, so those libraries are picked up. - - * include/makeinclude/platform_osf1_4.0{,_g++}.GNU: - added -lrt to support ACE_Sched_Params. Thanks to - Thilo Kielmann for - suggesting this. Also, split out CFLAGS and CCFLAGS. - - * ace/OS.h: removed SVR4_DYNAMIC_LINKING protection around - #define of RTLD_LAZY because it's used in ace/Parse_Node.cpp. - Thanks to Matthias Kerkhoff for pointing - this out. - - * ace/OS.i (thr_setcanceltype): added ACE_UNUSED_ARGS for STHREADS - case. Thanks to Chuck Gehr for - providing this fix. - -Tue Mar 18 21:53:03 1997 Douglas C. Schmidt - - * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Modified the - SOCK_Dgram_Bcast class by adding a const char *host_name to the - contructor, and open, and mk_broadcast methods. If the user - passes in the host_name, then only the broadcast address of an - interface that has a matching ip address with the host will be - added to the if_list_. Otherwise, nothing changes. Thanks to - Paul for this feature. - -Tue Mar 18 13:20:59 1997 Irfan Pyarali - - * ace/ace.mdp: Reverted the change for DllMain as the entry point - to ace.dll. This is causing problems in multi-threaded - applications. - - * netsvcs/lib/Client_Logging_Handler.cpp: Added a check in fini() - to make sure we have a valid handler. If the connect attempt - failed, this->handler_ will be set to 0. - - * tests/Mem_Map_Test.cpp: Added code that removes all temporary - files created by the test. - - * tests/Time_Service_Test.cpp: Made sure we remove the backing - store file left behind by a aborted clerk process. - - * examples/Reactor/Ntalker/ntalker.cpp: The ntalker now uses - ACE::register_stdin_handler to register the STDIN. This function - allows for portability. - -Tue Mar 18 08:12:22 1997 David L. Levine - - * ace/Svc_Conf_y.cpp,Makefile: replaced "y.tab.c" string with - "Svc_Conf_y.cpp" to ease debugging. Thanks to Luca Priorelli - for suggesting this. - - * ace/IOStream.cpp (close): replaced call to - ACE_SOCK_Stream::close () with one to generic STREAM::close (). - Thanks to Kumar Neelakantan for - reporting this problem. - - * ace/OS.h,README,config-*.h: removed ACE_HAS_RTLD_LAZY_V, and - replaced with #define of RTLD_LAZY macro only if it's not - already defined (and if ACE_HAS_SVR4_DYNAMIC_LINKING is defined). - Thanks to Chris Lahey for providing this fix. - - * ace/OS.i (thr_setcancelstate, thr_setcanceltype, thr_cancel): - added ACE_UNUSED_ARG calls to avoid compiler warnings. Thanks - to Chuck Gehr for suggesting them. - - * ace/Local_Name_Space_T.h: moved #include of Local_Name_Space.h up - because this file needs declaration of ACE_NS_String. There - _shouldn't_ be a circular include problem because the #includes are - protected. Thanks to Daniel Montalibet - for reporting this problem and - providing the fix. - - * ace/Local_Name_Space.h: removed #include of ace/Service_Config.h. - - * include/makeinclude/wrapper_macros.GNU: put -I. before - -I$(WRAPPER_ROOT) instead of after. - - * tests/IOStream_test.cpp: added checks for receipt of proper values. - -Tue Mar 18 01:38:14 1997 Irfan Pyarali - - * ace/ace.mdp: Add DllMain as the entry point of ace.dll. This - allows us to call WSAStartup when ace.dll is loaded in and - WSACleanup when ace.dll is unloaded. People using ace as a - static library are still out in the cold with respect of getting - WSACleanup called before the process exits. - - I am not sure of two cases: (1) What happens when an application - crashes and was not able to call WSACleanup and (2) if the - application wants to continue using sockets when ace.dll is - unloaded. I hope this solves more problems than it creates ;-) - -Tue Mar 18 01:38:14 1997 Irfan Pyarali - - * ace/Parse_Node.cpp: Added END_OF_LINE characters to some - ACE_ERRORs. - - * netsvcs/{lib,servers}: Fixed the project files to produce and - use the dll in the correct place (which is netsvcs/lib). - - * ace/Log_Record.cpp: Corrected format string for fprintf(). - - * examples/Threads/test.mdp: Added context_switch_time.cpp to the - project. - - All of the above bugs were reported by Luca Priorelli - . Thanks for the contribution. - -Mon Mar 17 12:59:56 1997 David L. Levine - - * ace/OS.{h,i}: added nanosleep (), currently supported only - on POSIX platforms (if ACE_HAS_CLOCK_GETTIME is defined). - - * examples/Mem_Map/IO-tests/{IO_Test.cpp,test_io.cpp): - LM_ERROR instead of ACE_ERROR, and fixed call to ACE::basename (). - - * ace/OS.cpp (sched_params): return -1 if not supported, - instead of ENOTSUP. - - * ace/OS.cpp (fork): added ACE_UNUSED_ARG (program_name) for WIN32 - and VxWorks. - - * ace/Sched_Params.cpp (priority_min, priority_max, next_priority, - previous_priority): not supported on MVS, via ACE_LACKS_SETSCHED. - Thanks to Chuck Gehr for figuring this - out and providing the fix. - - * tests/Timer_Queue_Test.cpp (test_performance): changed type of - local variable "i" to (signed) int to avoid signed/unsigned - comparison, and eventual seg fault because a loop would never - terminate. - -Sun Mar 16 11:31:46 1997 Douglas C. Schmidt - - * ace/Timer_{List,Queue,Heap}.h: Defined copy constructors and - assignment operators in the private part of the class so that - users won't accidentally make mistakes. - -Sat Mar 15 21:44:45 1997 Douglas C. Schmidt - - * ace/Timer_{Queue,List}.cpp (cancel): handle_close() should be - called only once (especially when handle_close() implements - "delete this;" ). Since it is possible that the EH will be - registered more than once, I changed the code to do the - following: - - if (number_of_cancellations == 1) - // Call the close hook. - curr->handler_->handle_close (ACE_INVALID_HANDLE, - ACE_Event_Handler::TIMER_MASK); - - Thanks to Hamutal Yanay for - suggesting this. - - * examples/Mem_Map/IO-tests/test_io.cpp (run_tests): Removed all - uses of ::perror and replaced them with calls to ACE_ERROR - macros. - - * ace/Mem_Map.i (unmap): The ACE_Mem_Map::close method does not - work properly if the value of file_mapping_ is equal to - ACE_INVALID_HANDLE. In this case the method calls a useless - close (-1). Therefore, I changed: - - if (this->file_mapping_ != this->handle_) - ACE_OS::close (this->file_mapping_); - - in: - - if (this->file_mapping_ != this->handle_ && - this->file_mapping_ != ACE_INVALID_HANDLE) - ACE_OS::close (this->file_mapping_); - - Thanks to Sandro Doro for reporting - this. - -Thu Mar 13 18:21:15 1997 Irfan Pyarali - - * ace/ReactorEx.h: Change protection of methods/variables of - ReactorEx from private to protected. Thanks to Matthias Kerkhoff - for suggesting this. - -Thu Mar 13 16:31:54 1997 David L. Levine - - * ace/OS.i (thr_getprio): Added missing ACE_NOTSUP_RETURN - for the case of pthreads && !defined (ACE_LACKS_SETSCHED). - Thanks to Chuck Gehr for - reporting this. - -Thu Mar 13 00:12:15 1997 Irfan Pyarali - - * ace/Local_Name_Space_T.cpp (dump): Added ACE_UNUSED_ARG around - fake_this to stop the compiler from complaining about unused - variables. - - * ace/Message_Block.cpp (ACE_Data_Block::size): Moved the copying - of the old base before freeing it up. Thanks to Dieter Quehl - (dietrich.quehl@med.siemens.de) for pointing this out. - - * ace/Local_Name_Space_T.cpp: Added code to the list methods such - that structured exceptions are handled correctly. Thanks to - Karlheinz Dorn (karlheinz.dorn@med.siemens.de) for reporting - this. - -Wed Mar 12 21:31:51 1997 Irfan Pyarali - - * examples/Reactor/Ntalker/ntalker.cpp: Made changes to the - program which allows it to run under Win32. - - * ace/SOCK_Dgram_Mcast.cpp: Made changes to the setting of the - interface address so that it works correctly under Win32. - Thanks to Todd L. Montgomery (tmont@cs.wvu.edu), Anton van - Straaten (anton@appsolutions.com), Ole O. Johnsen - (Ole.Johnsen@gpi.telemax.no), Mike Flinn - (mike.flinn@smtpgate.aws.waii.com), Steve Weismuller - (spweismu@rsoc.rockwell.com) and others who helped out. - -Wed Mar 12 17:05:52 1997 Chris Cleeland - - * ace/config-linux-lxpthreads.h: Added ACE_HAS_IP_MULTICAST. - -Wed Mar 12 16:07:07 1997 David L. Levine - - * ace/OS.i (gethrtime): Added support for VxWorks and - other platforms that support ACE_HAS_CLOCK_GETTIME. - -Tue Mar 11 21:38:42 1997 Irfan Pyarali - - * ace/OS.i (open): Improved support for passing flags through to - CreateFile (). - -Tue Mar 11 14:30:12 1997 David L. Levine - - * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SYS_NERR. - Thanks to Dave Mayerhoefer for - reporting this. - - * ace/OS.{i,cpp} (uname, hostname): added VxWorks support. - Thanks to Dave Mayerhoefer for - providing this. (Also, uninlined ACE_OS::uname on WIN32 - and VxWorks because it contains string literals.) - - * ace/High_Res_Timer.{i,cpp}: fixed interpretation of units: - ACE_hrtime_t is in nanoseconds, so it should be divided by - 1000000000 to get seconds. Fixed divs/mods to first divide - by 1000, then div/mod. Thanks to Luca Priorelli - for identifying this problem. - - Also, removed some casts that are no longer necessary, and - added some casts of ACE_hrtime_t values to longs to avoid - compiler warnings. Thanks to Matthias Kerkhoff - for pointing this out. - - * ace/Reactor.cpp (unbind): cast "index" to int to avoid - signed/unsigned comparison. Thanks to Matthias Kerkhoff - for pointing this out. - - * ace/ReactorEx.cpp (bind): changed type of "current_size" to - size_t to avoid signed/unsigned comparison. Thanks to Matthias - Kerkhoff for pointing this out. - - * ace/Timer_Heap.cpp (ctor, grow_heap): cast unsigned value - (i + 1) to int before negating to avoid compiler warning. - Thanks to Matthias Kerkhoff for pointing - this out. - - * examples/Threads/context_switch_time.cpp (main): added - ACE_SCOPE_PROCESS param to ACE_Sched_Params instances so - that the test works on WIN32. Thanks to Luca Priorelli - for identifying this problem. - - * ace/Registry.{h,cpp},Registry_Name_Space.{h,cpp},Svc_Conf_Tokens.h, - Svc_Conf_{l,y}.cpp,Timer_{Heap,List}.cpp,config-aix-4.2.x.h, - config-dgux-4.11-epc.h,config-mvs.h,config-sco-5.0.0-fsu-pthread.h, - config-sco-5.0.0-mit-pthread.h,config-sco-5.0.0-nothread.h: - added CVS header (Id wrapped in $). - - * netsvcs/clients/Logger/indirect_logging.cpp (main): declare loop - index as signed int to avoid signed/unsigned comparison. - -Tue Mar 11 07:34:04 1997 Douglas C. Schmidt - - * tests/Timer_Queue_Test.cpp: Added some code to illustrate how - the new handle_close() hook for ACE_Timer_{Heap,List} work. - - * ace/Timer_Heap.cpp (cancel): Modified the Timer_Heap and - Timer_Queue so that it will call the handle_close() hook when - Event_Handler's are cancelled. This is necessary to reclaim - resources. Thanks to Hamutal Yanay - for suggesting this. - - * ace/Event_Handler.h (signal): Added a TIMER_MASK, which is - passed to handle_close() when a timer is cancelled. - - * ace/Log_Msg.cpp (log): Fixed a bug by setting LPTSTR lpMsgBuf = - 0 on line 524. Thanks to Mark Wright for - reporting this. - -Sun Mar 10 13:06:04 1997 Douglas C. Schmidt - - * examples/Mem_Map/IO-tests: Fixed a small bug in "IO_Test.cpp" - file. In the "int Mmap1_Test::run_test" method I inserted an - lseek to rewind the output file. With this correction the speed - go up due to IO cache. Thanks to Sandro Doro - for reporting this. - -Sun Mar 9 18:24:37 1997 Prashant Jain - - * java/src/IOCntlMsg.java (IOCntlMsg): Added two new - classes/files, namely IOCntlCmds and IOCntlMsg. - - * java/src/Task.java: Added accessors to get/set the flags of the - Task. - -Sun Mar 9 13:06:04 1997 Douglas C. Schmidt - - * ace/Reactor: Fixed an evil bug where the expression - - if (handle >= 0 || handle < this->max_handlep1_) - - should be - - if (handle >= 0 && handle < this->max_handlep1_) - - Thanks to Mark Wright for reporting this. - -Sun Mar 9 13:06:04 1997 Douglas C. Schmidt - - * apps/Gateway: Updated the Peer and Gateway applications so that - they don't try to register ACE_STDIN with the Reactor on Win32. - - * apps/Gateway: Changed a bunch of calls to - ACE_Reactor::remove_handler() so that it no longer tries to - remove descriptor 0, but instead uses ACE_STDIN. Naturally, - this doesn't work due to the way that Win32 implements select() - but at least it compiles... Thanks to Elliot Lau - for reporting this. - - * apps/Gateway/Gateway/File_Parser: Changed the enumerated type - ERROR to PARSE_ERROR to avoid a name clash with a symbol - reserved by Win32 (barf). Thanks to Elliot Lau - for reporting this. - -Sat Mar 8 12:37:44 1997 Douglas C. Schmidt - - * ace/Log_Msg.cpp: Changed the implementation of ACE_Log_Msg so - that all accesses to the lock_ are now through a Singleton. - This makes it possible to define multiple instances of - ACE_Log_Msg within the same thread. Thanks to Jeff Morgan - for helping track this down. - - * Added support for SCO 5.0. Thanks to Auturo - for these patches. - -Thu Mar 06 13:24:04 1997 David L. Levine - - * ace/OS.i (gettimeofday): moved declaration of "result" so - that it's not declared on VxWorks, where it's not needed; - (stat): added cast of file arg to char * for VxWorks; - (thr_getprio): added missing "#else" before ACE_NOTSUP_RETURN (-1). - Thanks to Dave Mayerhoefer for - reporting these. - - * ace/OS.cpp (sched_param): with STHREADS, map ACE_SCOPE_THREAD - to ACE_SCOPE_PROCESS'. - - * ace/Svc_Conf_l.cpp: commented out YY_BREAK after ace_yyterminate () - to avoid GHS compiler warning about unreachable statement. - Thanks to Dave Mayerhoefer for - reporting this. - - * ace/ace.mak: removed Thread_Priority and renamed Scheduling_Params - to Sched_Param. - - * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client): - added "l" qualifier for sprintf of ACE_OS::getpid (). - - * tests/Priority_Task_Test.cpp, - examples/Threads/{context_switch_time.cpp,Makefile}: - adapted to new thread priority/ACE_Sched_Params. - -Wed Mar 5 14:33:04 1997 Douglas C. Schmidt - - * ace/UNIX_Addr.cpp: Enhanced the implementation of set() so - that it works correctly on MVS, which has a different definition - of struct sockaddr_un: - - struct sockaddr_un { - unsigned char sun_len; - unsigned char sun_family; - char sun_path[108]; - }; - - Thanks to Chuck Gehr for reporting - this. - -Wed Mar 05 14:47:14 1997 David L. Levine - - * ace/OS.{h,cpp},Makefile; also, renamed Scheduling_Params.* to - Sched_Params.* and removed Thread_Priority.*: - - Major change in scheduling parameters interface: - The key change is that there is no longer a special thread priority - enum. Thread_Priority was changed to int, so applications can do - whatever they want. The ACE_Sched_Params class has some static - functions to help do this portably. - - Here are the changes from the ACE 4.1.3: - - 1) ACE_Thread_Priority: removed this class. - - It contained "priority class" and "thread priority". - "Priority class" is platform-specific and doesn't - need to be visible in ACE; it is subsumed by scheduling policy, - see below. "Thread priority" is replaced by the global - ACE_Sched_Priority typedef in ace/OS.h, see next change. - - 2) ace/OS.h: added ACE_Sched_Priority typedef (to int) - and ACE_SCOPE_THREAD. - - 3) ace/OS.h: added scheduling policy #defines: ACE_SCHED_OTHER, - ACE_SCHED_FIFO, and ACE_SCHED_RR. There's an ACE_Sched_Params:: - Policy typedef that can take one of these values. - - 4) ACE_Sched_Params: added priority_min (), priority_max (), - next_priority (), and previous_priority () functions. All - require an ACE_Sched_Params::Policy argument and take an - optional scope argument (to support the distinct thread - and process priorities on DEC UNIX). - - min_priority () and max_priority () have platform-specific - and policy-specific values, and direction (the min value may - be higher than the max value). The increment and decrement - operations allow applications to iterate over them, etc., - without explicitly specifying the direction of the priority - (0 for high or low priority). - - 5) The only way to apply ACE_Sched_Params is through - ACE_OS::sched_params (const ACE_Sched_Params &). - (This is not really a change, except for the name change from - ACE_OS::set_sched_params (). - - It sets both policy and priority of current thread or - process (depending on the scope in ACE_Sched_Params). - Not all combinations of policy, priority, and scope are - legal on all platforms. Unfortunately, I see no way around - this, because the intersection of legal ranges - on our supported platforms is empty. If an illegal request - is made, ACE_OS::sched_params () sets errno to EINVAL and - returns -1. - - 6) added ACE_OS::thr_setprio (const ACE_Sched_Priority prio) - to set the current thread's priority, only. - - Many thanks to Thilo Kielmann - for his careful review of this class design, thoughtful comments, - and assistance with implementation, especially for PTHREADS - platforms. - -Wed Mar 5 14:36:59 1997 Irfan Pyarali - - * SString.cpp: Fixed ACE*String initialization bugs. Thanks to - jmorey@tbi.com (John Morey) for reporting this. - -Wed Mar 5 14:33:04 1997 Douglas C. Schmidt - - * ace/OS.i: Fixed a bug in gethrtime - - const ACE_Time_Value now = ACE_OS::gettimeofday (void); - - which should be - - const ACE_Time_Value now = ACE_OS::gettimeofday (); - - Thanks to Chuck Gehr for reporting - this. - -Tue Mar 4 16:37:26 1997 Douglas C. Schmidt - - * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (main): Make life - easier by doing an unlink(rendezvous) before reopening the - UNIX-domain socket. Thanks to Jeff Morgan - for suggesting this. - -Sun Mar 02 19:58:00 1997 David L. Levine - - * ace/config*.h: removed #define of ACE_HAS_INLINED_OSCALLS - because it's no longer needed in the config files: it's - #defined in OS.h if needed. - -Sun Mar 2 17:14:29 1997 Douglas C. Schmidt - - * include/makeinclude: Updated all the platform-*g++.GNU files so - that they no longer -D__ACE_INLINE__ (since this is handled in - the the config-*g++.h files). - - * ace: Updated all the config-*g++.h files so that they now - #define __ACE_INLINE__ rather than having this set in the - platform_*.GNU file. This makes ACE easier to build and - integrate with other software packages. - -Fri Feb 28 02:22:33 1997 Douglas C. Schmidt - - * ace/SOCK_*: There were problems starting UDP broadcast servers - (all using the same well known port number) multiple times on - one machine (this is very useful test distributed applications - on one single machine). Setting the SO_REUSEADDR option for the - broadcast socket allows binding of a socket that is already in - use and thus allows us to start more than one broadcast servers - in parallel on one machine. Thanks to Dieter Quehl - for this fix. - - Therefore, I patched ACE_SOCK_Dgram_Bcast, ACE_SOCK_Dgram and - ACE_SOCK to include this feature. In addition, I also changed - ACE_SOCK_Connector/ACE_SOCK_Acceptor to use this feature instead - of calling setsockopt() there explicitly. - - * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (main): Fixed up the - use of ACE_OS::fork() here to use the new "named" version. - - * ace/OS.h: Added a clever new wrapper function called fork (const - char *program_name), which calls fork() and then automatically - calls ACE_LOG_MSG->sync (program_name) to sync up the program - name. This eliminates a common source of error when forking - children and using ACE_Log_Msg::log(). - - * examples/IPC_SAP/SOCK_SAP/FD-un{client,server}.cpp: Updated the - FD client and FD server programs so that it is now a concurrent - server. - - * ace/config-mvs.h: Added #define ACE_LACKS_TCP_H for MVS. Thanks - to Chuck Gehr for pointing this out. - - * ace/OS.h: Added a new #define ACE_LACKS_TCP_H that skips the - inclusion of the netinet/tcp.h file if it isn't on the platform. - - * ace/OS.i (thr_cancel): Changed the line - - ACE_UNUSED_ARG (t_id); - - to - - ACE_UNUSED_ARG (thr_id); - - Thanks to Chuck Gehr for reporting - this. - - * ace/SString.cpp: Fixed up all the ACE_[CSW]String code so that - always allocates a rep_ even in the null constructor. This - saves us from having to handle odd special cases later on... - Thanks to John Morey for reporting this. - - * ace/Service_Repository.cpp (close): Changed the order in which - services are destroyed when the Service Configurator is closed. - Currently, services are destroyed in the order in which they are - created according to the svc.conf file. Now, we shut them down - in reverse order. This makes more sense when services are - related, i.e., one service has to be started before another. - Thanks to Karlheinz for this suggestion. - - -Fri Feb 28 12:13:09 1997 David L. Levine - - * ace/OS.h: fixed definition of ACE_TIMER_SKEW. Thanks - to Chuck Gehr for pointing this out. - -Thu Feb 27 21:36:28 1997 David L. Levine - - * ace/OS.{i,cpp} (gethrtime): support on all platforms by - using ACE_OS::gettimeofday () if there is no native high - resolution timer. Moved ACE_OS::getimeofday () definition - toward top of OS.i so that it is always defined before - being called. Finally, expanded gethrtime () support from - linux to __GNUC__ with ACE_HAS_PENTIUM; it should work on - platforms such as VxWorks with gcc on Pentiums. - - * ace/config-osf1-4.0-{,g++}.h: added ACE_HAS_CLOCK_GETTIME. - Thanks to Thilo Kielmann - for pointing this out. - -Thu Feb 27 17:06:12 1997 - - * ace/High_Res_Timer.h (get_env_global_scale_factor): This static - method will set the global_scale_factor to the value in an - environment variable (ACE_SCALE_FACTOR by default). - - * ace/High_Res_Timer.*: Changed all calculations to divide by - scale_factor before doing / and %. This must be done before the - mod for correctness. - - * ace/Profile_Timer.i (start): Changed start and stop methods to - call ACE_High_Res_Timer::gettimeofday. This should allow - greater timing accurracy. - - * ace/High_Res_Timer.h (global_scale_factor): Added a static - global_scale_factor that allows applications to set one scale - factor for all high res timers. This is important for platforms - like intel where the scale factor will vary based on the - processor clock speed. - - * ace/High_Res_Timer.i (gettimeofday): This static method calls - ACE_OS::gethrtime and converts to an ACE_Time_Value based on the - global_static_factor. - -Wed Feb 26 18:28:35 1997 Douglas C. Schmidt - - * ACE-install.sh: Added some fixes for the ACE-install.sh script. - Thanks to Eugene R. Somdahl for reporting these. - - * ace/Connector.cpp (handle_close): Added a test to see if the - reactor_ is NULL and if it is, don't bother trying to use it to - clean up. Thanks to Paul Han for this - suggestion. - -Tue Feb 25 21:19:57 1997 David L. Levine - - * ace/OS.h,config-sunos*.h: default ACE_TIMER_SKEW to 0, - and override to 10 ms in all Solaris config files. - - * ace/Svc_Conf_l.cpp,Makefile: #undef ACE_HAS_TERM_IOCTLS - so that /usr/include/sys/termios.h won't be included; it - #defines ECHO, and Svc_Conf_l.cpp has an ECHO symbol. - - * ace/ACE.cpp (sock_error): added ACE_UNUSED_ARG (error);. - - * ace/Timer_Queue.cpp (ctor): rearranged initializers to - match declaration order. - -Tue Feb 25 19:57:54 1997 - - * ace/Timer_Queue.cpp (gettimeofday): Added gettimeofday accessors - on the Timer_Queue. The default implementation calls - ACE_OS::gettimeofday. Applications can specify, via pointers to - functions, that a timer queue use an alternate gettimeofday - implementation (e.g., a high resolution timer). - - * ace/Reactor.cpp (schedule_timer): The Reactor no longer calls - ACE_OS::gettimeofday. Instead, it calls - Timer_Queue::gettimeofday. - - * ace/ReactorEx.cpp (schedule_timer): The ReactorEx no longer calls - ACE_OS::gettimeofday. Instead, it calls - Timer_Queue::gettimeofday. - -Tue Feb 25 17:40:57 1997 Douglas C. Schmidt - - * ace/Log_Msg.cpp: Updated the 'p' option of the log() method to - use the new ACE::sock_error() method for cases where - FormatMessage() fails. - - * ace/ACE: Added a new sock_error() method to class ACE which - returns the appropriate message for each WinSock error code. - This makes up for an apparent oversight in Win32. Thanks to - Michael R. MacFaden" for this. - -Tue Feb 25 01:33:06 1997 Douglas C. Schmidt - - * ace/OS.h: Moved outside of the VXWORKS #ifdef - since it seems to be available on other platforms (e.g., - Solaris). If people find this not to be the case on all - platforms please let me know and I'll #ifdef it. Thanks to - Sumedh Mungee for reporting this. - -Tue Feb 25 16:20:29 1997 Irfan Pyarali - - * examples/Connection/non_blocking/CPP-acceptor.cpp: Added a - specific checl for timeouts. Also, changed - ACE_PEER_ACCEPTOR_ADDR to ACE_PEER_STREAM_ADDR - - * examples/Connection/non_blocking/non-blocking.{mak,mdp}: New - project files for Win32. - - * ace/Log_Msg.cpp: Minor changes. - -Mon Feb 24 17:16:06 1997 Douglas C. Schmidt - - * ace/Log_Msg.cpp (ACE_Log_Msg): Enable the thread-specific - tracing flag by default. This ensures that tracing will work - "out of the box." - - * ace/config-sunos5.[45]-g++.h: Added a #define for - ACE_HAS_TERM_IOCTLS. Thanks to Joey Zhu for - reporting this. - - * ace/Synch.cpp (acquire): Simplified the recursive mutex logic - for acquire(). Thanks to Arthur J. Lewis" - for reporting this. - - * examples/Connection/non_blocking/CPP-acceptor.cpp (init): Added - a #ifdef for ACE_WIN32 so that we don't register the signal - handler for SIGPIPE since it's not supported on Win32. Thanks - to Ivan Murphy for reporting this - problem. - - * examples/Connection/non_blocking: The SPIPE examples in - (test_spipe_{acceptor,connector}.cpp) aren't ported to Win32 - yet. They currently don't work because ACE_SPIPE*'s can't be - registered with the ACE_Reactor (which only works with sockets). - I've #ifdef'd these examples so that they don't get compiled on - Win32. Thanks to Ivan Murphy for - reporting this problem. - -Mon Feb 24 20:28:10 1997 David L. Levine - - * ace/OS.h: use signed __int64 for ACE_hrtime_t because VC++ - won't convert unsigned __int64 to double. Thanks to Irfan - for reporting this. - - * include/makeinclude/platform_{irix5.3_g++,linux*,m88k, - osf1_4.0_g++,sco-nothread,sunos*g++,unixware_g++}.GNU: - changed C++ compiler (CXX) from gcc to g++ so that libg++ - will be linked in. Thanks to James CE Johnson - for suggesting this. - - * examples/IOStream/{client,server}/Makefile,tests/Makefile: - removed -lg++, when gcc is the compiler, because it's no - longer needed with g++ as the compiler. - -Sat Feb 22 23:03:45 1997 David L. Levine - - * ace/OS.i: restored version 4.89 and 4.90 changes that - were lost in version 4.91. - - * ace/OS.{i,cpp},config-linux*.h: added ACE_OS::gethrtime () - support for Linux on Pentiums. - - * ace/High_Res_Timer.*: changed scale_factor type from - u_long to double so that it can be less than 1. - - * ace/Thread_Priority.cpp: "linux" instead of "LINUX". - - * tests/Priority_Task_Test.cpp (open): set this->priority_ because - an assertion uses it. Also, use ACE_NORMAL_PRIORITY_CLASS so that - root doesn't have to run the test on Solaris. - -Sat Feb 22 22:07:35 1997 Chris Cleeland - - * tests/Priority_Task_Test.cpp (open): Now use - ACE_Thread_Priority while setting the priority of the new - thread. - - * ace/Thread_Priority.cpp (convert_to_os_priority): Changed - return type for this to 'int' from 'long' on Linux. Thanks - to James CE Johnson for pointing this - out! - - * ace/OS.i (thr_cancel): Corrected erroneous macro argument. - Thanks to James CE Johnson for pointing - this out! - -Sat Feb 22 17:00:59 1997 - - * ace/OS.i (gethrtime): Added support for intel's RDTSC - instruction for pentium architectures. - -Sat Feb 22 10:57:47 1997 Douglas C. Schmidt - - * ace/Stream.cpp (open): Make sure that if we allocate the Tasks - in the Stream head and the Stream tail that we set the M_DELETE - flag so that the close() method will clean up the memory. - Thanks to David Levine and Purify for noticing this problem. - -Fri Feb 21 08:06:41 1997 Douglas C. Schmidt - - * ace/OS.i: Yikes, it looks like the Solaris and the POSIX version - of sigwait() are different! The Solaris version returns the - signal number, whereas the POSIX version returns 0 on success, - errno on failure, and sets a parameter with the signal on - success. I've fixed the ACE_OS C++ wrapper so that the right - thing happens, i.e., errno is always set to the error (if - sigwait() returns -1) and the signum is always returned as the - argument and the return value on success ... Thanks to Harry - Gunnarsson for reporting this. - -Fri Feb 21 11:01:22 1997 David L. Levine - - * ace/Thread_Priority.cpp: fixed return type of - convert_to_os_priority () for Linux. Thanks to - James CE Johnson for pointing this out. - - * examples/Shared_Malloc/test_malloc.cpp, - examples/System_V_IPC/SV_Message_Queues/{T,}MQ_Server.cpp (main): - added ACE_UNUSED_ARG (sa);. - -Fri Feb 21 04:12:31 1997 - - * ace/OS.h: Added ACE_SEH_FINALLY. - - * ace/ReactorEx.h: Added ACE_ReactorEx_Test as a friend class. I - think we should have one such friend class for all classes in - ACE. - - * examples/Reactor/ReactorEx/test_exceptions.cpp: New test which - checks how ReactorEx deals with structured exceptions thrown by - user code - - * ace/ReactorEx.cpp (safe_dispatch): Added protection against - structured exceptions caused by user code when dispatching - handles - -Thu Feb 20 17:32:54 1997 Douglas C. Schmidt - - * apps/Gateway: Added a new -v flag to the peerd and gatewayd - applications so that they will print out the strings that are - passed to them. This makes it easier to debug and see what's - happening. - -Wed Feb 19 19:39:06 1997 Douglas C. Schmidt - - * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp (recv): Removed - the VERBOSE #ifdefs since they weren't used and were causing - compile errors. Thanks to Bert Craytor - for reporting this. - -Wed Feb 19 00:39:50 1997 Douglas C. Schmidt - - * examples/ASX/Event_Server: Updated the README file a bit to - clarify some loose ends. The documentation now explains - precisely how to start up the transceivers correctly. Thanks to - Patty Genuald for suggesting this. - - * include/makeinclude: Removed the default symlink for - platform_macros.GNU since it is "Solaris-biased" ;-). Thanks to - Amos Shapira for reporting this. - -Wed Feb 19 14:41:18 1997 Tim H. Harrison - - * ace/Reactor.cpp: Modified to use timer_queue_->gettimeofday(). - - * ace/Proactor.cpp: Modified to use timer_queue_->gettimeofday(). - - * ace/ReactorEx.cpp: Modified to use - timer_queue_->gettimeofday(). Also had to modify the - ReactorEx_Notify mechanism to use the ReactorEx's timer queue to - call gettimeofday. - - * ace/Timer_Queue.h: Added a gettimeofday method. This allows - applications to replace the timer mechanism used by the - Reactors. The default implementation returns - ACE_OS::gettimeofday. However, a real-time application can - inherit from Timer_Queue and override gettimeofday to return a - value from a high resolution timer. - - * STL/bool.h: Changed the defines for type bool. First, bool is no - longer defined for WIN32 since yvals.h typedefs it already. - Also, I moved the defines out the namespace. I'm not sure if - that's the right thing to do. - -Tue Feb 18 16:41:02 1997 Douglas C. Schmidt - - * include/makeinclude: Added minor enhancements to rules.local.GNU - and wrapper_macros.GNU so that it works with MVS. Thanks to - Chuck Gehr for this. - - * include/makeinclude: Added a new platform_mvs.GNU file that - supports builds on MVS! Thanks to Chuck Gehr - for this. - - * tests/TSS_Test.cpp (worker): To get TSS_Test.cpp to compile on - MVS we changed line 69 from: - - ACE_thread_key_t key = 0; - - to: - - ACE_thread_key_t key = ACE_OS::NULL_key; - - and line 122 from: - - key = 0; - - to: - - key = ACE_OS::NULL_key; - - Thanks to Chuck Gehr for reporting - this. - - * ace/Reactor.cpp (dispatch): Fixed the dispatching logic so that - we bail out as soon as we discover that our state has changed. - Thus, we'll recompute the fd_sets used for select(). - -Tue Feb 18 19:02:53 1997 - - * ace/ReactorEx: - - (a) Made wakeup_all_threads() public. Thanks to Hamutal Yanay - for suggesting this. - - (b) Change closed_for_business_ to open_for_business_. Also made - sure that open and close can potentially be called multiple - times from multiple threads. - - (c) Changed unbind and unbind_all such that they iterate through - all the handles. - - (d) Added a check to see if the handle has been scheduled for - deletion before dispatching it. - -Tue Feb 18 21:24:57 1997 David L. Levine - - * ace/IOStream.h,README: replaced ACE_WIN32 conditional with - ACE_LACKS_IOSTREAM_FX. - - * ace/config-{mvs,win*}.h: added #define ACE_LACKS_IOSTREAM_FX. - Thanks to Chuck Gehr for pointing - out the need for this support for MVS. - - * examples/Reactor/Misc/test_demuxing.cpp: removed unused - variable "done". - - * examples/Reactor/Misc/test_signals_1.cpp (main), - examples/Reactor/Ntalker/ntalker.cpp (main): - added ACE_UNUSED_ARG (sig);. - -Tue Feb 18 17:15:24 1997 Tim H. Harrison - - * ace/ace.mdp, ace/mak: Modified release configuration to build - acer.dll. - -Tue Feb 18 11:43:04 1997 David L. Levine - - * ace/Log_Msg.cpp: removed destructor because it's not declared - and it's empty. - - * ace/OS.i (thr_setprio): added another case (that is NOTSUP) - for platforms with Pthreads and with LACK_SETSCHED. Thanks to - Chuck Gehr for pointing this out. - - * tests/Reactor_Notify_Test.cpp (main): added shutdown flag so - that normal termination reaches ACE_END_TEST. - - * tests/Reactors_Test.cpp (worker): changed "timeout" message to - "Reactor shutdown" because that indicates normal termination, - and won't fool the one-button test. - - * examples/Mem_Map/IO-tests/test_io.cpp (main): added - ACE_UNUSED_ARG (sa);. - - * examples/Misc/test_trace.cpp (main): added ACE_UNUSED_ARG - for sig1 and sig2. - -Tue Feb 18 03:50:10 1997 Irfan Pyarali - - * ace/ReactorEx: - - (a) Added a closed_for_business_ flag so that handle_events() - cannot be called after the ReactorEx has been closed down. - - (b) Transfer of ownership of the ReactorEx to a new owner has - changed. The transfer will not complete until all threads - are ready for it (just like the handle set). - ReactorEx->update_state() now looks out for changes in - ownership. - - * examples/Reactor/ReactorEx/test_MT.cpp: - - (a) The test now terminates and number of iterations can be - specified on the command line. - - (b) Graceful shutdown of ReactorEx is now exercised in the - test. This is a change for the earlier infinite loop. This - also shows how to gracefully close ReactorEx which is being - shared by multiple threads. - - (c) Timers were added to the test. - - * ace/config{win32}: Added flag ACE_LACKS_LINEBUFFERED_STREAMBUF. - -Mon Feb 17 22:37:35 1997 Tim H. Harrison - - * ace/Log_Msg.h (ACE_RETURN): Modified all ACE_RETURN macros to - use ACE_OS::last_error instead of errno. This makes these more - portable to Win32. - - * ace/Log_Msg.cpp (log): Modified Win32 version to use - FormatMessage if errnum is greater than sys_nerr. - - * ace/OS.i (last_error): Modified Win32 version to return - GetLastError if errno == 0. - -Mon Feb 17 18:32:29 1997 Douglas C. Schmidt - - * ace/OS.h: Protected the #ifdef for CLOCK_REALTIME so that it - won't conflict with an existing macro in AIX. Thanks to Chris - Lahey for this. - - * ace/Local_Name_Space_T.h: Added Local_Name_Space.h to - Local_Name_Space_T.h so that templates will work correctly on - AIX. Thanks to Chris Lahey for this. - - * tests: Added a new test, Reactor_Notify_Test.cpp, which tests - out the new max_notify_iterations() method on the Reactor. - - * ace/Reactor: Finished rewriting and testing the new dispatching - logic of the Reactor. The new implementation guards against - pathological cases where ACE_Event_Handler::handle_*() methods - remove registered ACE_Event_Handler objects whose handles are - pending in the dispatch_set. Previously there was no good way - to guard against this. Now, it should be handled automatically. - - * ace: Added many minor fixes to remove warnings with the SGI C++ - compiler. Thanks to Gonzalo Diethelm for - suggesting this. - - * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on all - the warnings for the SGI C++ compiler. Thanks to Gonzalo - Diethelm for suggesting this. - -Mon Feb 17 20:59:47 1997 David L. Levine - - * ace/IOStream.h: added null ipfx (), etc., methods for ACE_WIN32 - because its iostream class doesn't have them. - - * ace/OS.h: added #include of on VxWorks. - - * ace/Pipe.cpp (open): enabled TCP_NODELAY on VxWorks now that - OS.h #includes . - - * ace/ReactorEx.h: made ACE_ReactorEx_Handler_Repository destructor - virtual because the class has other virtual functions. - - * tests/IOStream_Test.cpp: removed ACE_WIN32 #ifndef, and - removed q_char bool conversion operator because it shouldn't - be needed. - - * examples/Reactor/Misc/pingpong.cpp (handle_input): cast buf_len - to ssize_t to avoid signed/unsigned comparison. - - * examples/Service_Configurator/IPC-tests/client/\ - remote_dgram_client_test.cpp (main): cast mmap.size () to - ssize_t to avoid signed/unsigned comparison. - -Mon Feb 17 09:25:08 1997 Chris Cleeland - - * ace/config-linux-lxpthreads.h: Bumped the Linux kernel version - number assigned to the symbol LINUX. Also added conditional - defines for PTHREAD_{MAX,MIN}_PRIORITY when using Xavier Leroy's - LinuxThreads. - - * ace/Thread_Priority.cpp: Added convert_to_os_priority() for Linux. - -Mon Feb 17 03:15:48 1997 Irfan Pyarali - - * tests/SOCK_Test.cpp (server): Changed recv_n() to recv(). - - * tests/tests.{mak,mdp}: Added two new tests: IOStream and - Reactor_Notify. - - * ace/Reactor: Removed all special checks for setting - ACE_Reactor::max_notify_iterations_ on WIN32 to be 1. This was - made possible after we figured out that the errno was being - reset after the recv() call in handle_input(). This allows - ACE_Reactor_Notify::handle_input() to serve upto - ACE_Reactor::max_notify_iterations_ notifications in one shot - rather than just 1 on WIN32. This should speed up the Reactor on - WIN32 platforms. - -Sun Feb 16 12:23:23 1997 Douglas C. Schmidt - - * ace/Reactor.cpp: Totally rewrote the ACE_Reactor's dispatching - mechanism so that it now keeps track of whether the state of the - wait_set_ has changed during a dispatch (i.e., whenever - register_handler_i() or remove_handler_i() is called). If the - wait_set_ state *has* changed, then we bail out and rerun - select() in order to get the latest changes. - - * ace/Reactor.cpp: Changed the implementation of the - ACE_Reactor_Notify class so that (1) it short-circuits a trip - through the ACE_Reactor::notify_handle() method (after all, it's - just going to call its own handle_input() method back) and (2) - the ACE_Reactor_Notify::handle_input() method now returns a - count of the number of handlers that it dispatched. - - * ace/Log_Msg.h: Added a (%P|%t) so that we now print out the - process id and thread number for failed ACE_ASSERT() calls. - - * tests: Removed the unnecessary template specializations of - ACE_Atomic_Op since this is already done - in libACE. - - * ace/Reactor.cpp: Removed the #ifdef preventing the enabling of - non-blocking mode for the recv() side of the Reactor's - notification pipe (socket) for Win32. I believe that with the - new max_notify_iterations scheme we should be all set. - - * ace/ReactorEx.cpp: Added an identical API for bounding the - max_notify_iterations() for ReactorEx. - - * ace/Reactor.cpp: Enhanced the Reactor's notify() mechanism so - that it is now possible to set the max_notify_iterations(), - which limits the number of times that the - ACE_Reactor_Notify::handle_input() method will iterate and - dispatch the ACE_Event_Handlers that are passed in via the - notify pipe before breaking out of its recv() loop. This is - necessary to keep from starving out other Event_Handlers. - Thanks to Rod Skinner for pointing out the - need for this. - - * ace/Reactor.cpp: Fixed a bug in the WIN32 - ACE_Reactor_Notify::handle_input() logic. We were calling - requeue_position(0) when we should have been calling renew(). - -Sat Feb 15 11:46:39 1997 Douglas C. Schmidt - - * ace/ACE.cpp: It appears that VxWorks doesn't support fcntl(). - However, it does seem to support ioctl(). Therefore, that's how - we'll set the descriptors into non-blocking mode. Thanks to - Dave Mayerhoefer for reporting this. - - * ace/SOCK_Stream.h: Corrected the documentation for - ACE_SOCK_Stream::recv_n (void *buf, size_t len, int flags, const - ACE_Time_Value *timeout). Thanks to Paul Roman - for reporting this. - - * ace/SOCK_Stream.i (recv_n): Fixed a minor bug in the - SOCK_Stream.i line 38: - - ACE_TRACE ("ACE_SOCK_Stream::send_n"); - - should be - - ACE_TRACE ("ACE_SOCK_Stream::recv_n"); - - Thanks to Paul Roman for reporting this. - -Fri Feb 14 00:40:14 1997 Douglas C. Schmidt - - * ace/TTY_IO.cpp (control): Moved the drop out timer value from - the ACE struct to the WinNT struct. Thanks to Brad Flood - for this fix. - -Thu Feb 13 21:24:17 1997 - - * ace/OS.i (event_wait): Fixed the missing check for success. - - * ace/Synch: Fixed problems with multiple removal of - resources. Thanks to Bert (Bcraytor@aol.com) for pointing this - out. - - * examples/Threads/test.{mdp,mak}: Reorganized project so that it - is easier to use. - - * examples/Threads: Small changes to make tests run faster. - -Thu Feb 13 01:49:38 1997 Irfan Pyarali - - * ace/OS.i (stat): Added stat() to ACE_OS. - - * apps/jaws: The ACE web server has now been ported to Win32. - - * ace/ReactorEx: Add a new version of remove_handler(). - - * examples/Reactor/ReactorEx/test_MT.cpp: Fixed stuff so that only - are activated. - -Wed Feb 12 22:58:15 1997 Douglas C. Schmidt - - * ace/ReactorEx: Made minor changes to the ReactorEx. - - * examples/Reactor/ReactorEx/test_MT.cpp: Updated Irfan's new - ReactorEx test to use ACE_Tasks. - -Wed Feb 12 00:08:42 1997 Irfan Pyarali - - * ace/ReactorEx: Finished a complete rewrite of - ReactorEx. The new version allows multiple threads of - control to wait simultaneously in - ::WaitForMultipleObjects(). This was difficult because the - set of ACE_HANDLEs used in ReactorEx->handle_events() is - shared between all threads. We devised a clever protocol - that ensures all changes to the handle set are - serialized. This serialization was achieved by using - multiple (auto and manual) events and mutexes and by taking - advantage of the "waitAll" semantics of - WaitForMultipleObjects(). - - Concept of "owner" thread is introduced in ReactorEx. We - need to keep track of the "owner" because we don't want - multiple threads to try to expire timers. Therefore the - "owner" thread is the only one allowed to expire - timers. Also, the owner thread is the only thread which - waits on the internal notify handle (which is used to - dispatch explicit calls to - ACE_ReactorEx::notify(). Initially, the creator thread of - ReactorEx becomes the "owner" thread. Ownership can later be - transferred among threads, just as with the standard - ACE_Reactor. - - We also updated the Handler Repository since it now - keeps track of tuples to be added - and deleted from the current handle set at the appropriate - time (i.e., when all threads are out of - WaitForMultipleObjects() and have completed all necessary - dispatching). The Handler_Repository implements the update - protocol that is used to serialize changes to its internal - state. - - Two slots were added to the parameter in the - constructor and open methods of ReactorEx that will store - handles used for internal management. Therefore, users can add - upto MAXIMUM_WAIT_OBJECTS - 2 handles into ReactorEx. On - current WinNT platforms (e.g., 3.51 and 4.0) - MAXIMUM_WAIT_OBJECTS is 64. - - Note that the interface to ReactorEx did not change in this - process. Your existing code should work without changes. - Moreover, we've optimized the implementation so that if only - 1 thread calls ACE_ReactorEx::handle_events() the code is - very efficient. Moreover, you can dynamically add or remove - threads without having to register them with the ReactorEx. - - * examples/Reactor/ReactorEx/test_MT.cpp: This application tests - multiple threads simultaneously calling - ReactorEx->handle_events(). It also shows how different threads - can update the state of ReactorEx. - -Wed Feb 12 00:08:42 1997 Douglas C. Schmidt - - * ace/Synch: Added a remove() call to ~ACE_Thread_Mutex so that it - will be removed (and resources cleaned up) automatically when an - ACE_Thread_Mutex object goes out of scope. Thanks to Jay - Denkberg for reporting this. - - * ace: Added a new config file (config-irix6.2-sgic++-nothreads.h) - that works for non-Pthread versions of SGI 6.2. Thanks to Fred - LaBar for this. - - * ace/XtReactor: Fixed a bunch of minor bugs that crept into the - ACE_XtReactor. Thanks to Fred LaBar - for reporting this. - - * ace/OS.i (thr_getprio): Fixed a typo in the #ifdefs so that we - return ACE_NOTSUP_RETURN(-1) if threading isn't enabled. Thanks - to Fred LaBar for reporting this. - -Tue Feb 11 11:26:03 1997 David L. Levine - - * ace/OS.{h,i},config-vxworks*.h,README: added ACE_HAS_CLOCK_GETTIME, - and only support ACE_OS::clock_gettime if that's defined. - It can be supported on Solaris 2.5, but -lposix4 is then required. - - * ace/Thread_Priority.*: added increment () and decrement () - operations. - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: - added -pta back to avoid link problems with template classes - that have virtual functions that are all inline, if inlining - is disabled. Though we don't see the problem, other 4.1 users do. - Thanks to mscallinan@CCGATE.HAC.COM for reporting this. - - * examples/Logger/simple-server/Logging_Handler.cpp (handle_input): - cast "len" to ssize_t to prevent mixed signed/unsigned comparison. - - * examples/Logger/simple-server/server_loggerd.cpp (main): - added ACE_UNUSED_ARG (sa);. - - * examples/Reactor/Misc/notification.cpp (Thread_Handler ctor): - changed type of n_threads argument from int to size_t to avoid - signed/unsigned comparison. - -Mon Feb 10 15:27:02 1997 Douglas C. Schmidt - - * ace/Timer_Queue: Added a virtual destructor so that subclasses - deleted via ACE_Timer_Queue *'s will call the right destructor. - Thanks to Stuart Powell for reporting - this. - - * ace/Timer_Heap.cpp: Added support for automatically growing - ACE_Timer_Heaps. This allows heaps to grow automatically as new - ACE_Event_Handlers are added dynamically. Thanks to Stuart - Powell for this enhancement. - - * ace/Memory_Pool: Added support that allows flags to be passed in - to the MMAP_Memory_Pool. This can be used to set the - appropriate type of backing store semantics (e.g., MAP_PRIVATE - and MAP_SHARED). Thanks to Fred LaBar - for providing this. - -Sun Feb 9 11:56:37 1997 Douglas C. Schmidt - - * ace/Map_Manager.cpp (bind_i): A recent change to Map_Manager - broke the Connector since errno was getting set to ENOENT rather - than EWOULDBLOCK. Thanks to Mark Rabotnikov - for finding this. - -Sun Feb 09 21:44:34 1997 David L. Levine - - * ace/ACE.{h,cpp}: added static u_long is_prime (). - - * ace/{OS.cpp,Thread_Priority.cpp}: added comment about thread - priorities only being tested for 1003.1C version of Pthreads. - Thanks to Thilo Kielmann - for suggesting this. - - * ace/OS.{h,i}: added ACE_OS::clock_gettime (). It allows - applications to get high-resolution time on POSIX systems. - - * ace/Future.cpp (dump): cast ref_count_ to an int because - g++ doesn't figure it out (it's an ACE_Atomic_Op, which does have an int conversion operator). - - * ace/Timer_List.cpp (constructor): added initializer for - timer_id_ to prevent unitialized memory read report from Purify. - - * tests/IOStream_Test.cpp,Makefile: added IOStream_Test, - complements of James CE Johnson . Very cool! - - * tests/Future_Test.cpp: replaced call to ::sin () - with one to ACE::is_prime () to remove dependency on libm. - - * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1, peer2): removed - unused variables c_addr and serv_addr: they were replaced by - a global. - - * examples/Threads/future{1,2}.cpp: replaced call to ::sin () - with one to ACE::is_prime () to remove dependency on libm. - - * netsvcs/clients/Naming/Dump_Restore/createfile.cpp: removed - #include of math.h, it wasn't needed. - -Sat Feb 08 15:19:50 1997 David L. Levine - - * ace/ReactorEx.h: commented out ACE_ReactorEx_Notify::message_queue_ - declaration if not ACE_WIN32 because Sun C++ chokes on it. - - * examples/IPC_SAP/{FILE,SPIPE}_SAP/client.cpp: declare "len" as - ssize_t to avoid signed/unsigned comparison. - -Fri Feb 7 01:13:05 1997 Douglas C. Schmidt - - * ace/OS.i (select): Simplified Chris' fixes for the weird - Linux select() semantics. - - * ace/OS: Added a new accessor method called waiters() in - ACE_cond_t that returns the number of waiters on the condition - variable. Thanks to Karlheinz for suggesting this. - - * ace/OS: Changed all the ACE_cont_t, ACE_rwlock_t, etc. so that - their fields are private, but made class ACE_OS a friend. - Applications should not be mucking with these fields since they - may change. - - * ace/OS.h: Fixed a minor typo where friend class ACE_rwlock_t - should be friend class ACE_OS. Thanks to Thilo Kielmann - for reporting this. - - * ace/Log_Msg.cpp: Added a destructor to ACE_Log_Msg and changed - ACE_TSS_cleanup so that it calls delete (ACE_Log_Msg *) ptr. - Thanks to Per Anderson for - reporting this. - - * tests/Map_Manager_Test.cpp: Create a file Map_Manager_Test_Key.h - and move the class Key into the include file. Include this *.h - file in Map_Manager_Test.cpp. This is needed for template - generation on AIX. Thanks to Chris Lahey for - pointing this out. - -Fri Feb 7 17:29:40 1997 Chris Cleeland - - * ace/OS.cpp (set_sched_params): added support for POSIX - threads. Thanks to Thilo Kielmann - for figuring it out and - for providing the code. - - * tests/Naming_Test.cpp (test_find): Changed final delete[] to - not try to delete a static buffer. :-( - - * tests/SOCK_Test.cpp (server): Added assertion test for - modified select timeval. - -Fri Feb 07 13:56:24 1997 David L. Levine - - * ace/{OS.cpp,Thread_Priority.cpp}: added ACE_Thread_Priority - support for Digital Unix. Thanks to Thilo Kielmann - for figuring the priorities - and priority classes out and for providing the code. - - * ace/High_Res_Timer.{h,cpp},config-linux*.h,README: - use struct timespec instead of timespec_t, because not all - platforms have the timespec_t typedef. Thanks to - Marius Kjeldahl for reporting this on Linux - and Chris Lahey for reporting it on AIX. - - * ace/IOStream.h: use "ssize_t send (...)", etc., instead of exact - function prototypes. - - * examples/IPC_SAP/TLI_SAP/db-server.cpp: declare struct member as - const char * instead of const char [] because it's not static and - the struct doesn't have constructors. - - * examples/Reactor/Multicast/server.cpp (Server_Events ctor): - reordered initializers to match declaration order. - -Fri Feb 07 05:08:51 1997 - - * ace/Synch.cpp (dump): Fixed access error. - - * ace/OS.h: Fixed ACE_rwlock_t friend declaration. - - * ace/OS.i: Moved ACE_cond_t::waiters() such that it is now - visiable to NT. Also fixed ACE_OS::cond_timed_wait by returning - the correct return value on a TIMEOUT. Also fixed typo in - ACE_OS::sema_wait. - -Thu Feb 6 20:25:13 1997 Chris Cleeland - - * ace/OS.i (select): Adapted ACE_OS::select methods for use on - platforms (such as Linux) that allow select(2) to modify its - struct timeval arg. New behavior is triggered by the define - ACE_HAS_NONCONST_SELECT_TIMEVAL. Thanks to Jorn Jensen - for reporting this! - -Thu Feb 06 09:48:43 1997 David L. Levine - - * ace/config-sunos-sun*.h,README: added - ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR. - - * ace/IOStream.{h,cpp}: support - ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR - so that this builds with SunC++. - - * examples/IOStream/client/iostream_client.cpp: - reordered args and fixed argv indexes. - - * examples/IOStream/server/iostream_server.cpp: - use ACE_DEFAULT_SERVER_PORT for default port. - - * tests/Naming_Test.cpp (randomize): changed type of "size" arg to - size_t to avoid compiler warnings about signed/unsigned comparison. - -Thu Feb 06 09:40:47 1997 Chris Cleeland - - * ace/config-linux*.h: added typedef of timespec_t. - -Wed Feb 5 01:45:03 1997 Douglas C. Schmidt - - * ace/OS.i: Changed the Win32 implementation of all methods that call - WaitForMultipleObjects() so that errno is set to - WAIT_ABANDONED if the mutex is abandoned. This makes it - possible for users to understand why ACE_OS methods that use - synchronization operations fail. Thanks to Ivan Murphy - for reporting this problem. - - * ace/IOStream.cpp (ACE_Streambuf): Moved the const initialization - from the header file to the constructor since this is the only - portable way to do this. Thanks to Michael Maxie - for reporting this. - - * ace/OS.i: Updated the call to thr_setprio() for pthreads so that - it first determines the existing scheduling parameters and then - updates the priority. Thanks to Thilo Kielmann - for help with this. - - * ace/config-osf1-4.0*.h: Updated ACE_NEEDS_HUGE_THREAD_STACKSIZE - to be 1 mega to minimize porting surprises. Thanks to Thilo - Kielmann for help with this. - - * tests/Naming_Test.cpp: Cleaned up a few minor things related to - int i = 0 vs. size_t i = 0. - - * ace/SOCK_Dgram.cpp: Added a new macro called - ACE_HAS_SOCKADDR_MSG_NAME, which is used on platforms (e.g., - DG/UX) that require a cast to (struct sockaddr *) for the - msg_name field of struct msghdr. - -Wed Feb 05 10:45:41 1997 David L. Levine - - * ace/IOStream.h: replaced __*manip with expanded types, because - Sun C++ doesn't have those typedefs; and added complete prototypes - for send, recv, send_n, and recv_n. - - * ace/IOStream.cpp: fixed "#define ACE_IOSTREAM_C" to keep g++ sane. - - * ace/Hash_Map_Manager.{h,cpp},Map_Manager.{h,cpp}: replaced - DEFAULT_SIZE with ACE_DEFAULT_MAP_SIZE so that Naming_Test runs - on SunC++ 4.1. - - * ace/High_Res_Timer.*: added optional scale factor. - - * examples/IOStream/{client,server}/Makefile: addd -g++ if building - with gcc. - - * tests/Naming_Test.cpp: moved declaration of "i" out of for loop - because it is used after the loop. - - * examples/ASX/UPIPE_Event_server/{Consumer,Supplier}_Router.cpp - (open): return 1 if init () succeeds. There's a commented-out - call to activate the objects that would (should?) return a value. - - * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp (main): declare n - as ssize_t instead of size_t to avoid compiler warning about - signed/unsigned comparison. - -Tue Feb 4 19:06:52 1997 Douglas C. Schmidt - - * ace/Signal.cpp: Fixed all the ACE_Sig_Handler[s] methods so that - they now use ACE_Guard, rather than ACE_TSS_Guard, *unless* they - are actually performing callbacks to user-code. Not only is - this faster, but it also avoids thread-specific storage key - leaks on platforms like Solaris! - - * ace/OS.cpp (thr_keyfree): Added a new #ifdef for - ACE_HAS_THR_KEYDELETE, which is defined for UNIXWARE. This - fixes a nasty problem with leaking thread-specific keys. Thanks - to Nigel Owen for reporting this. - - * ace/Message_Block.cpp: Added a #include for - "ace/Service_Config.h". - - * ace/Malloc.i: Fixed a few warnings by removing the names of - unused parameters. - - * ace: Added many minor changes to ACE so that it will work on - DG/UX. Thanks to Michael Maxie for all these. - - * ace/LSOCK_Stream.cpp: Applied the same fix as to LSOCK.cpp. - - * ace/LSOCK.cpp: Removed the cast of 0 to (char *) for msg_name - since some platforms use (struct sockaddr *). By omitting the - cast the compiler will figure it out correctly. Thanks to - Michael Maxie for this. - - * ace/IOStream: Added a new template adapter for creating an - iostream-like object using an ACE IPC Stream for the actual I/O. - Thanks to James CE Johnson for this. - - * examples/Misc/test_iostreams.cpp: Added a test that illustrates - how the new ACE_iostreams mechanism works. Thanks to James CE - Johnson for this. - - * ace/Message_Block: Updated the ACE_Message_Block implementation - to use ACE_Service_Config::alloc() if the user doesn't supply a - customize version. This also means that we never delete the - allocator_strategy_, so we can remove this flag and reduce the - amount of storage by 4 bytes. Thanks to Irfan for noticing that - we can do this. - - * ace/platform_dgux4_epc.h: Added a new platform config file - for DG/UX. Thanks to Michael Maxie for - this. - - * ace/config-dgux-4.11-epc.h: Added a new config file for DG/UX. - Thanks to Michael Maxie for this. - -Tue Feb 04 18:26:01 1997 - - * ace/Service_Config.cpp (alloc): The implementation now creates a - ACE_New_Allocator rather than a ACE_Allocator_Adaptor. If - you still want the old behavior, simply provide your own - custom allocator singleton for ACE_Service_Config. - - * ace/OS.i (mktemp): Added the missing ACE_INLINE directive. - - * ace/OS.h: ACE_HAS_INLINED_OSCALLS is now automatically defined - when __ACE_INLINE__ is defined. This avoids mysterious linking - problems that occur otherwise. - - * ace/Malloc: Added a virtual destructor to ACE_Allocator. Also - added a new class ACE_New_Allocator which is a sub-class of - ACE_Allocator. This class uses the new/delete operators to - allocate and free up memory. Please note that the only methods - that are supported are malloc() and free(). All other - methods are no-ops. If you require more functionality, please use: - ACE_Allocator_Adapter > This will allow you to use the added functionality of - bind/find/etc. while using the new/delete operators. - -Mon Feb 3 15:35:24 1997 Douglas C. Schmidt - - * ace/config-aix-*.h: Added a (char *) cast to - ACE_DEFAULT_BASE_ADDR. Thanks to John Cosby - for reporting this. - - * ace/OS.cpp: Added a new set() method that sets the Time_Value - from a double. Thanks to Brad Flood for this suggestion. - - * ace/OS: Changed ACE_OS::flock_t to ACE_OS::ace_flock_t to avoid - a name clash on DG/UX. Thanks to Michael Maxie - for reporting this. - -Tue Feb 4 03:02:52 1997 Irfan Pyarali - - * tests/Naming_Test.cpp: Added timing and made debug print outs - optional. Also added randomization of the test data. - - * ace/OS.h: Fixed prototype for gethrtime () - -Mon Feb 03 21:00:56 1997 David L. Levine - - * ace/OS.h: define ACE_SCOPE_PROCESS and ACE_SCOPE_THREAD - even if ACE_HAS_THREADS is not defined. Thanks to - Michael Maxie for pointing this out. - - * examples/Threads/{process_mutex.cpp,process_semaphore.cpp, - task_three.cpp,thread_manager.cpp,thread_specific.cpp} (main): - added ACE_UNUSED_ARG (sa);. - - * examples/Threads/reader_writer.cpp: fixed declaration of - "shared_data" to be "static volatile" instead of "volatile - static", and removed unused variable "n". - - * examples/Threads/thread_pool.cpp: removed unused variable "result". - -Sun Feb 02 21:24:02 1997 David L. Levine - - * ace/OS.h: changed hrtime_t to ACE_hrtime_t. - - * ace/{config-win*.h,README}: added #define ACE_HAS_PENTIUM to - enable gethrtime () support. - - * ace/High_Res_Time.{h,i,cpp}: removed platform-specific #ifdef's, - instead added "unsupported ()" static member function; changed - changed signature of elapsed_time to take time reference as - argument instead of return value; added elapsed_time - (ACE_Time_Value &) and elapsed_time_incr (ACE_Time_Value &). - - * examples/Thread/context_switch.cpp: use ACE_High_Res_Timer - instead of the old Timer adapter. - - * ace/config-aix-4.1.x.h: fixed typo: #defind ACE_HAS_LONGLONG_T. - - * ace/config-aix-4.2.x.h: added #define ACE_HAS_LONGLONG_T. - - * ace/Thread_Priority.{h,cpp}: moved #include of OS.h from .cpp - to .h file. - -Sun Feb 02 10:30:29 1997 David L. Levine - - * ace/Local_Name_Space.cpp: removed ACE_Map_Manager, ACE_Map_Iterator, - and ACE_Map_Entry: they don't appear to be used and, without - including their headers, this file won't compile. - - * ace/Hash_Map_Manager.cpp (Hash_Map_Manager (ACE_Allocator *)): - reordered initializers to match declaration order. - -Sat Feb 1 15:11:28 1997 Douglas C. Schmidt - - * include/makeinclude/platform_aix4.2.GNU (LD): Removed the -qnoro - flag since it is no longer needed. Thanks to Rob Jordan - for reporting this. - -Sat Feb 1 03:25:21 1997 Irfan Pyarali - - * ace/SString.cpp: Added two methods to the wide string - implementation for high-performance. Even though these methods - are somewhat ugly and not the "OO" way of doing things, - performance was at stake here. - - * ace/Registry_Name_Space.cpp (resolve): Fixed the implementation - by correctly figuring out the size of the value in the - Registry. This allows us to dynamically allocated the correct - amount of memory. - - * ace/Registry: Fixed the constant MAX_CONTEXT_NAME_SIZE to be the - maximum path length. - - * ace/Naming_Context.cpp: Fixed various memory leaks. - - * ace/Local_Name_Space_T.h: Replaced the simple-minded Map_Manager - with the new (improved) Hash_Map_Manager. - - * ace/Local_Name_Space.cpp: Added new methods operator!= and hash - required by the map. - - * ace/Hash_Map_Manager.cpp (ACE_Hash_Map_Manager): Added an extra - constructor. - - * tests/Naming_Test.cpp: Removed memory leaks. - -Fri Jan 31 19:39:48 1997 David L. Levine - - * ace/Hash_Map_Manager.cpp (ctor): reordered initializers - to match declaration order. - - * tests/Time_Value_Test.cpp: cast double argument to long - because there no longer is a constructor that takes a double. - - * ace/Hash_Map_Manager.{h,cpp}: removed #include of - ace/Hash_Map_Manager.i because it doesn't exist. - Protected .cpp file against multiple includes. Moved - #include of "ace/Malloc.h" from .h to .cpp file. - - * ace/Map_Manager.cpp (current_size, total_size): cast -1 to - size_t to avoid warning about signed-to-unsigned conversion. - - * ace/OS.h: moved hrtime_t typedef for ACE_WIN32 so it doesn't - get defined twice. - - * ace/OS.i (getservbyname): one last ACE_HAS_NONCONST_GETBY change: - missed "lproto" to "proto". - - * bin/create_ace_build: added checks for existing symlinks, so - now the script can be re-run safely at any time on a build - tree to update it. - -Fri Jan 31 02:16:30 1997 Douglas C. Schmidt - - * ace/config-aix-*.h: Made the default value for - ACE_DEFAULT_BASE_ADDR 0x80000000 to work around restrictions - with AIX. Thanks to Rob Jordan for - this. - - * examples/Map_Manager: Added a new example of the - Hash_Map_Manager. - - * tests/Map_Manager: Integrated the Hash_Map_Manager into the - Map_Manager test and greatly improved the test (e.g., by adding - timing). - - * ace: Added a new implementation of the Map_Manager called - Hash_Map_Manager. This, of course, uses hashing rather than - linear search. The result should be a much faster - implementation for many types of applications. - -Thu Jan 30 13:55:08 1997 Douglas C. Schmidt - - * ace/Map_Manager: Changed the return type of total_size() and - current_size() to size_t. - - * ace/OS: Had to remove the ACE_Time_Value (double) constructor - since it caused ambiguities with ACE_Time_Value (long). Thanks - to Per Andersson for figuring this out. - - * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Added - -D_REENTRANT to make things work correctly in MT programs. - Thanks to Marius for this fix. - - * ace/OS.h: Added several extra constructors for ACE_Time_Value so - that it won't cause problems with the new ACE_Time_Value - (double) constructor. - - * ace/Log_Record.cpp (ACE_Log_Record): Added an "L" to the 0 - initial value used for time_stamp_. Thanks to Marius for - reporting this. - - * ace: Added the new config-aix-4.2.x.h file, which supports the - AIX4.2 platform. Thanks to Rob Jordan - for this. - - * include/makeinclude/platform_aix4.2.GNU: Added support for the - new AIX4.2 platform. Thanks to Rob Jordan - for this. - - * ace/OS.h: It's now possible to override ACE_DEFAULT_BASE_ADDR in - a config.h file. This is important for platforms that need to - put shared memory segments at particular address ranges. Thanks - to Rob Jordan for suggesting this. - -Thu Jan 30 16:01:37 1997 David L. Levine - - * ace/{config-aix-4.1.x.h,README}: added ACE_HAS_AIX_HIRES_TIMER, - see change to gettimeofday in OS.i below; and ACE_HAS_LONGLONG_T. - - * ace/OS.i (gettimeofday, gethrtime): use read_real_time () if - ACE_HAS_AIX_HIRES_TIMER. Thanks to Bob Olson - for this suggestion. - - * ace/OS.h: define hrtime_t as long long if ACE_HAS_AIX_HIRES_TIMER. - - * ace/OS.{i,cpp}: uninlined ACE_OS::gethostbyname (), - and ACE_OS::inet_ntoa () on VxWorks, because they have - static char arrays. - - * ace/OS.i (gethostbyaddr, getservbyname, gethostbyaddr, - gethostbyname, getservbyname_r): with ACE_HAS_NONCONST_GETBY, - instead of copying the const argument, just cast it to (char *). - Thanks to Michael Maxie for pointing out the - problem with the nonstatic char arrays with sizes determined at - runtime. - - * ace/High_Res_Timer.*: added ACE_HAS_AIX_HIRES_TIMER support. - Also, renamed get_time () to elapsed_microseconds (). - - * examples/Threads/{Timer.h,context_switch_time.cpp}: - ACE_High_Res_Timer::elapsed_microseconds () instead of - ACE_High_Res_Timer::get_time (). - - * bin/create_ace_build: added this script: it creates an ACE build - tree in directory "build/" below the current - directory, which must be a ACE "top level" directory (such as - $WRAPPER_ROOT). The build tree directory structure mirrors that - of the ACE top level directory structure, except that instead of - containing any plain files, it contains only symlinks to the files - in the ACE top level structure. - -Thu Jan 30 06:57:50 1997 David L. Levine - - * ace/Thread_Priority.cpp (convert_to_os_priority): changed - switch (priority_class) to switch (priority_class_). - Thanks to Chris Lahey for pointing this out. - Also, return -1 on other than Solaris, Win32, and VxWorks. - -Wed Jan 29 22:05:01 1997 Douglas C. Schmidt - - * tests/Naming_Test.cpp: Added the prefix "test_" to the bind(), - find(), rebind(), and unbind() functions. This avoids name - clashes with the bind() call from the socket API. Thanks to - Marius for this info. - - * ace/OS.cpp (ACE_Time_Value): Added a new constructor that makes - it possible to construct an ACE_Time_Value from a double. - Thanks to Brad Flood for this. - - * ace/OS.i (thr_join): If ACE_HAS_THREADS is defined, but none of - the threading APIs match (e.g., AIX) then we'll return - ACE_NOTSUP_RETURN(-1). Thanks to Chris Lahey for help with - this. - - * include/makeinclude/platform_aix.GNU: Made some changes to the - type of dynamic linker and libraries used by AIX 4.1. Thanks to - Chris Lahey for help with this. - - * ace/config-aix-4.1.x.h: Changed from BSD 4.3 to 4.4. Thanks - to Chris Lahey for help with this. - -Wed Jan 29 09:03:48 1997 David L. Levine - - * ace/OS.h: moved ACE_id_t and ACE_pri_t typedefs out of the - ACE_HAS_THREADS section. - - * ace/OS.cpp: fixed ACE_OS::set_sched_params on Win32 and VxWorks. - - * ace/Scheduling_Parameters.*, ace/Thread_Priority.*: updated - comments. - - * examples/Threads/{context_switch_time.cpp,Timer.h,Makefile}: - added context switch timing test. Currently only works on - Suns because that's the only platform for which ACE has a - high-resolution timer. - - * Makefile: added chmod of VERSION file in TIMESTAMP macro. - -Wed Jan 29 00:59:12 1997 Douglas C. Schmidt - - * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Removed - the -D_MIT_POSIX_PTHREADS symbol since we're using Xavier's - threads instead. Thanks to Marius Kjeldahl for reporting this. - - * ace/config-linux-lxpthreads.h: Removed the _MIT_POSIX_PTHREADS - symbol since we're using Xavier's threads instead. Thanks to - Marius Kjeldahl for reporting - this. - -Tue Jan 28 23:32:58 1997 Douglas C. Schmidt - - * ace/SString: Added hash() methods to each ACE String class so - that we can use this with the new ACE_Hash_Set implementation of - ACE_Map_Manager. - - * ace/ACE.h (ACE): Added a UNICODE version of hash_pjw() so that - we can use it to hash ACE_WString. - - * ace/OS.i (thr_setprio): Fixed a typo that was left over from a - previous change. Thanks to Fred LaBar - for reporting this. - - * apps/Gateway/Gateway/{proxy_config,consumer_config}: Added - comments to these config files so they are easier to understand. - Thanks to Chuck Gehr for motivating this. - - * apps/Gateway/Peer/Peer.cpp: Changed the name from connection_id_ - to proxy_id_, which is more accurate. - - * apps/Gateway/Peer/Peer.cpp: Added a destructor to Peer_Handler - so that it can clean itself up properly when shutdown with a - signal. This fixes a nasty bug. - - * ace/config-win32-msvc4.x.h (ACE_HAS_MFC): By default, ACE now - enables ACE_HAS_MFC. This makes it possible to use - AfxBeginThread() with the ACE_THR_AFX flag. - - * ace/OS.cpp: Fixed a typo in the call to ::AfxBeginThread() - function. Thanks to Karlheinz for reporting this. - - * apps/Gateway/Peer/Peer.cpp: Removed all uses of the Map_Manager - from the Peer. There's only ever one connection from a Gateway - per-Peer, so what was this doing here anyway?! It was causing - problems due to multiple deletions, so removing it improves - robustness of the tests. - - * ace/OS.i: Commented out the "extern char **_sys_siglist" - definition since this was conflicting with the definition in - Solaris. If some platforms needs this, we'll need to add a - specific #ifdef. - -Tue Jan 28 21:57:45 1997 David L. Levine - - * ace/OS.{h,cpp}: added ACE_OS::set_sched_params (). It permits - platform-independent setting of thread priorities and - priority classes. It is currently supported on Solaris, - Win32, and VxWorks. - - * ace/Scheduling_Parameters.{h,i,cpp}, - ace/Thread_Priority.{h,i,cpp}, ace/Makefile: - Added these two classes to support ACE_OS::set_sched_params (). - -Tue Jan 28 12:42:39 1997 Irfan Pyarali - - * ace/ace.mdp: Added the "Using MFC in a Shared DLL" flags. - - * tests/test_config.h (ACE_INIT_LOG): Made this UNICODE safe. - - * tests/Pipe_Test.cpp (main): Added an iteration count to control - the number of children created by the main process. - - * ace/Memory_Pool.cpp (init_acquire): cast this->minimum_bytes_ to - size_t to avoid compiler warning if size_t is unsigned. - - * ace/OS.h: Added strncat to the OS class. - -Tue Jan 28 09:13:00 1997 David L. Levine - - * ace/ACE.cpp (ACE::ldfind), - ace/Local_Name_Space_T.cpp, - ace/Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry), - ace/Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find), - Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool), - ace/Naming_Context.cpp (ACE_Naming_Context::open), - ace/Parse_Node.cpp (ACE_Location_Node::open_handle), - ace/Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host, - ACE_Registry::Binding_Iterator::Object_Iteration::next_n, - ACE_Registry::Binding_Iterator::Context_Iteration::next_n), - tests/UPIPE_SAP_Test.cpp: - changed "sizeof char" to "sizeof (char)" because g++ and Sun C++ - (properly) choked on it. - - * ace/Local_Name_Space_T.cpp (create_manager_i): - -- ::strncat () instead of ACE_OS::strcat () - -- "lock_name_for_backing_store" instead of - "lock_name_for_local_name_space" - - * ace/Naming_Context.cpp (both constructors): reordered - initializers to match declaration order. - - * include/makeinclude/platform_sunos5_g++.GNU: removed - -fno-strict-prototypes because it's not needed with SunOS 5.5.1. - -Mon Jan 27 21:33:00 1997 Irfan Pyarali - - * tests/Naming_Test.cpp (main): Made modifications to the test to - make it more dynamic. Also made it work with UNICODE and - ACE_Naming_Context. - - * ace/Local_Name_Space_T.cpp (create_manager_i): Added a better - naming scheme for the locks. - - * ace: Changed the calculations of string lengths such that the - size of the character type is carefully considered. - - The following were affected: - - ACE.cpp (ACE::ldfind) - Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry) - Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find) - Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool) - Naming_Context.cpp (ACE_Naming_Context::open) - Parse_Node.cpp (ACE_Location_Node::open_handle) - Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host, - ACE_Registry::Binding_Iterator::Object_Iteration::next_n, - ACE_Registry::Binding_Iterator::Context_Iteration::next_n) - - * ace/OS.h: Added UNICODE support for ACE_DEFAULT_LOCALNAME. - - * ace/Proactor.cpp: Redid "lost" changes to add UNICODE support to: - - /* Proactor */ - ACE_Overlapped_File::ACE_Overlapped_File - ACE_Overlapped_File::open - - * ace/Registry_Name_Space.h: Changed the order of #include and - #define as that the correct set of MACROS are defined for the - include files. - - * tests/MM_Shared_Memory_Test.cpp: Added UNICODE support. - -Mon Jan 27 09:16:03 1997 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++.GNU, - include/makeinclude/platform_sunos5_sunc++_orbix.GNU, - ace/config-sunos5.5-sunc++-4.x-orbix.h - ace/config-sunos5.5-sunc++-4.x.h: - disabled exception handling by commenting out ACE_HAS_EXCEPTIONS - in the config files and adding -noex to the platform files, - because it causes trouble, at least on MP machines. - -Mon Jan 27 14:54:31 1997 Douglas C. Schmidt - - * ace/Memory_Pool.h: Added code to ACE_MMAP_Memory_Pool_Options to - take a minimum_bytes parameter. This is needed to prevent mmap - remapping when a large segment is requested. Thanks to Fred - LaBar for this. - -Sun Jan 26 13:39:13 1997 Douglas C. Schmidt - - * ace/OS.i: Changed the typo sis_siglist to sys_siglist. Also, - changed the logic from #if !defined (ACE_HAS_SYS_SIGLIST) to - #if defined (ACE_HAS_SYS_SIGLIST) since this makes more sense... - Thanks to Nanbor Wang for noticing this. - -Sat Jan 25 20:30:23 1997 David L. Levine - - * ace/config-sunos5.5-sunc++-4.1.h: commented out ACE_HAS_EXCEPTIONS - #define because -noex is required with it, and that causes core - dump during thread exit on multiprocessor UltraSparcs. - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: added -noex - back because of core dump during thread exit on - multiprocessor UltraSparcs. - - * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp, - examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp (control): - added "default" case to switch statement to eliminate compiler - warnings about enumeration values not being handled in switch. - - * examples/ASX/UPIPE_Event_Server/event_server.cpp (consumer): - removed unused variable "iter". - -Sat Jan 25 12:50:24 1997 Douglas C. Schmidt - - * ace/OS.i: Updated all the cond_timedwait() and cond_wait() - methods so that they decrement the count of waiters by one even - when errors occur. Thanks to Irfan for finding this. - - * ace/Map_Manager.cpp: Updated the ACE_Map_Iterator code so that - it no longer crashes if the Map has been closed. Thanks to - Slawomir Kuzniar for reporting this. - -Sat Jan 25 11:34:56 1997 Irfan Pyarali - - * ace/SOCK_Connector.cpp (complete): Added a sleep of zero seconds - which allows non-blocking connects to work properly on NT. - - * ace/config-winnt-4.0-msvc4.x.h and config-win32-msvc4.x.h: - Added ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS. - - * ace/OS.i: Moved out all code for Time_Value from #if region. It - is common to all. - - * ace/Reactor: Added helper routines to stop the VC++ compiler from - bitching about destructors in exception handling code. - - * ace/ace.{mak,mdp}: Removed Time_Value.cpp from project. - - * tests/tests.{mak,mdp}: Corrected the creation of SOCK_Test and - Message_Blob_Test executables and temporary files. - -Fri Jan 24 09:01:50 1997 David L. Levine - - * examples/Connection/misc/Connection_Handler.cpp: added - specialization of ACE_Svc_Handler - so that subproject will build with g++ without optimization. - - * apps/Gateway/Gateway/Proxy_Handler.cpp: added specializations - of ACE_Svc_Handler and - ACE_Svc_Handler - so that subproject will build with g++ without optimization. - - * tests/Reactor_Exceptions_Test.cpp (main): added ACE_UNUSED_ARG - for argc and argv when ACE_HAS_EXCEPTIONS is not defined. - - * performance-tests/Misc/test_mutex.cpp: made destructor of - Thread_Mutex_Derived virtual because the class has other virtual - functions. - -Thu Jan 23 11:51:45 1997 David L. Levine - - * ace/config-sunos5.5-g++.h: commented out ACE_HAS_EXCEPTIONS because - -fhandle-exceptions is broken in g++ 2.7.2 (and is required in order - to use exception handling); also, added ACE_HAS_INLINED_OSCALLS, if - __ACE_INLINE__ is #defined. - - * ace/config-sunos5.5-sunc++-4.1.h: added ACE_HAS_INLINED_OSCALLS, - if __ACE_INLINE__ is #defined. - -Wed Jan 22 15:04:47 1997 Douglas C. Schmidt - - * ace/OS.h: Moved the ACE_TIMER_SKEW macro to below the #inclusion - of config.h and updated it so that it can be overridden in the - config.h file if necessary. Thanks to Bob Olson - for motivating this. - - * ace/OS.cpp: Fixed the implementation of - ACE_Thread_ID::operator== so that it works correctly when thread - ids and thread handles aren't ints. Thanks to Chuck Gehr for - reporting this. - - * ace/OS.i (thr_getprio): Moved a stray #else into the right - place. Thanks to Chuck Gehr for reporting this. - - * ace/OS.i (sema_post): this->count_++ should have been - s->count_++. Thanks to Chuck Gehr for reporting this. - - * ace/Synch_T.cpp: Added an extern "C" definition for - ACE_TSS_C_cleanup(). Thanks to Chuck Gehr for reporting this. - - * ace: Added a new #define called ACE_LACKS_SYS_NERR to the - config files for MVS and VxWorks. This is used in OS.cpp - as follows: - - #if defined (ACE_LACKS_SYS_NERR) - int sys_nerr = ERRMAX + 1; - #endif /* ACE_LACKS_SYS_NERR */ - - Thanks to Chuck Gehr for reporting this. - - * Removed all #inclusions of "ace/Time_Value.h." This file - no longer contains anything besides a #include "ace/OS.h" - and is only kept around due to backwards compatibility. - - * ace: Moved the contents of Time_Value.h into OS.h to reduce the - confusion that arises from the #inclusion of "config.h" in - Time_Value.h. Also merged the contents of Time_Value.{i,cpp} - into OS.{i,cpp}. Thanks to the MDA guys for motivating this. - - * tests/Reactor_Exceptions_Test.cpp: Added a new test that - exercises the Reactor with C++ exceptions. Thanks to Luca for - the test. - - * ace/Reactor.cpp (handle_events): Added Win32 structured - exception handling support to the ACE_Reactor::handle_events() - method so that it correctly releases the token lock when Win32 - SEH occur in callback routines. Thanks to Luca for reporting - this problem. - - * ace: Added a new macro called ACE_HAS_EXCEPTIONS, which - indicates that the compiler supports C++ exception handling. - - * include/makeinclude/platform_sunos5_sunc++*.GNU: Commented out - the -noex flag for now. Hopefully, things will work correctly - now. - - * ace/Thread_Manager.cpp (exit): Removed the final acquire() on - ace_mon, which is no longer necessary since the Guard classes - now keep track of whether they are "owned". Thanks to Karlheinz - and Detlef for this fix. - -Wed Jan 22 09:05:31 1997 David L. Levine - - * Makefile,VERSION: modified top-level Makefile (and VERSION) - to add a timestamp to the VERSION file if creating a release - from the /project/adaptive/ACE_wrappers directory. If it - causes problems, this will disable it: - % make TIMESTAMP= release. - - * ace/Local_Tokens.cpp (dump): replaced "ACE_TSS" - with "ACE_TPQ_ENTRY" so that ACE_NO_TSS_TOKENS is supported. - - * ace/Synch.h: fixed typo in comment header for ACE_Thread_Semaphore - - * ace/config-vxworks-ghs-1.8.h,config-vxworks5.2-g++.h, - config-unixware-2.01-g++.h: - protect ACE_HAS_INLINED_OSCALLS #defined with - #if defined (__ACE_INLINE__). - - * apps/Gateway/Gateway/Event_Channel.cpp (open): added - ACE_UNUSED_ARG (sig);. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.h: - declared a friend of class Peer_Router_Context because it - has a private destructor, to eliminate compiler warning - about not having any friends. - - * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp - (open): added return 0 in "true" branch of if statement so - that the function always returns a value. - -Tue Jan 21 09:19:44 1997 David L. Levine - - * tests/Reader_Writer_Test.cpp (reader): commented out unused - variable "n"; also, commented out unused function - print_usage_and_die. - - * tests/TSS_Test.cpp, Thread_Manager_Test.cpp (main): added - ACE_UNUSED_ARG (sa);. - - * tests/Thread_Pool_Test.cpp (open): added return 0 at end. - -Tue Jan 21 11:00:12 1997 Douglas C. Schmidt - - * apps/Gateway/Gateway/Gateway.cpp (parse_args): There was a small - bug in parse_args (latest beta), it mixed proxy and consumer - conf files. Thanks to Per Andersson - for reporting this. - -Mon Jan 20 13:29:28 1997 David L. Levine - - * ace/OS.i, ace/Task.h, and ace/Thread_Manager.h: changed a few - occurrences of NULL to 0 (for other than Win32 platforms), - primarily to avoid compiler warnings on VxWorks if ACE.h isn't - #included before stddef.h. - - * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp - (handle_input): replaced %d format with %hu for u_short arg. - - * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp - (run_writer): initialized variable "t" to avoid compiler warning. - - * examples/Connection/misc/Connection_Handler.cpp (handle_timeout): - added ACE_UNUSED_ARG (tv); also, added explicit int return type - to definition of Connection_Handler::close (u_long). - - * examples/Threads/task_four.cpp (Invoker_Task::svc): - moved declaration of "task" out of for loop because it is - also used after the for loop. - - * netsvcs/lib/Name_Handler.cpp, Server_Logging_Handler.cpp, - TS_Clerk_Handler.cpp, TS_Server_Handler.cpp, Token_Handler.cpp: - added ACE_UNUSED_ARG (sig);. - -Sun Jan 19 11:10:49 1997 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++.GNU, - platform_sunos5_sunc++_4.1.GNU: - added comment about compiler warnings with +w option. - Also, added +w to platform_sunos5_sunc++_4.1.GNU. With the - other changes in this ChangeLog entry, there no longer should - be significant warnings from Sun C++ when building ACE. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp - (Peer_Handler::put): added ACE_UNUSED_ARG (tv);. - - * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main), - netsvcs/clients/Tokens/invariant/invariant.cpp (main): - commented out argc and argv. - - * examples/Mem_Map/file-reverse/file-reverse.cpp (main): - removed unused variable "cp". - - * netsvcs/clients/Tokens/manual/manual.cpp (handle_input, - handle_exception): added ACE_UNUSED_ARG (fd); and - (create_proxy): added return statement at end: even - though it should never be reached, it eliminates a - compiler warning. - - * examples/OS/Process/process.cpp, - examples/Reactor/Misc/test_reactors.cpp, - netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp, - netsvcs/clients/Tokens/mutex/test_mutex.cpp, - netsvcs/clients/Tokens/rw_lock/rw_locks.cpp, - performance-tests/TTCP/ORBeline/ttcp_i.cpp, - performance-tests/TTCP/Orbix/ttcp_i.cpp (main): - return 0 instead of 42. - -Sat Jan 18 10:54:25 1997 Prashant Jain - - * java/src/README: Updated the README file to indicate how - documentation for Java ACE cab be automatically generated. - -Fri Jan 17 11:47:10 1997 Douglas C. Schmidt - - * ace/OS.h: Added an equivalent set of - ACE_LSOCK_{STREAM,ACCEPTOR,CONNECTOR} macros to complement the - ones for ACE_SOCK_*. Thanks to Gonzalo Diethelm - for suggesting this. - - * ace/OS.cpp (ACE_Thread_Adapter): Added a new feature that allows - logging features to be inherited by threads. It works with - those OSs (e.g., Win32) that use ACE_Thread_Adapter class. At - some point, we might do this for all the OSs. Thanks to Luca - for this. - - * examples/Connection/misc/Connection_Handler.cpp: Added a - new example that illustrates how to use the Acceptor pattern - to create multiple threads, each running its own Reactor. - - * ace/Log_Msg.cpp (dump): Some of the variables in the dump() - method have the wrong format specification type. These are: - restart_ (%d), flags_ (%x), priority_mask_ (%d). They are now - fixed, thanks to Luca. - - * tests/Priority_Task_Test.cpp (open): Add an ACE_ASSERT to make - sure that the tasks activate() correctly. Thanks to David for - finding this. - - * ace/config-linux-lxpthreads.h: Added #defines for - ACE_HAS_AUTOMATIC_INIT_FINI and ACE_HAS_SVR4_DYNAMIC_LINKING. - Thanks to Marius for this. - - * ace/Malloc.h: Changed the typedef of ACE_Malloc_Align to a macro - called ACE_MALLOC_ALIGN to allow users to override this value in - their config.h file. This is necessary for platforms that don't - have "long" word alignments. Thanks to Fred LaBar - for this suggestion. - - * ace/OS.h: Added an #ifdef check for ACE_HAS_IRIX62_THREADS and - if so, we'll use the if (&a) /* null */; } form of the - ACE_UNUSED_ARG macro to avoid unnecessary warnings. Thanks to - Fred LaBar for testing this out. - -Fri Jan 17 16:33:25 1997 David L. Levine - - * ace/High_Res_Timer.*: added elapsed_time () and get_time (). - - * netsvcs/clients/Tokens/collection/collection.cpp, rw_locks.cpp: - commented out unused variables to avoid compiler warnings; and - return 0 from main (). - - * include/makeinclude/rules.local.GNU, - netsvcs/lib/Makefile, - examples/Service_Configurator/IPC-tests/server/Makefile: - fixed ESOBUILD mechanism to work on all platforms, not just Linux. - Thanks to Marius Kjeldahl for this fix. - - * ace/OS.i and OS.cpp: uninlined functions that use varargs, because - they usually won't get inlined anyways. - - * ace/OS.cpp (thr_create): added #else clause to be sure that - always sparam.sched_priority always get set to the priority argument. - - * netsvcs/clients/Naming/Client/Client_Test.cpp: commented out - unused parameters and wrapped combined assignments/conditional - values to avoid compiler (g++) warnings. - - * tests/Priority_Task_Test.cpp: added check for successful thread - spawn, and ACE_NEW_THREAD to svc () so that messages get logged. - -Thu Jan 16 17:03:47 1997 Douglas C. Schmidt - - * include/makeinclude: Added support for shared object files - on Linux. Thanks to Marius Kjeldahl for his help with this. - - * ace: Merged in the IRIX support, mainly the missing netdb reentrant - functions. Thanks to Gonzalo Diethelm - and Carlos O'Ryan for their help. - - * ace/Timer_{List,Heap,Queue}: Changed iterator() to iter() to - avoid name clashes with STL (ugh). - - * ace/Timer_{Heap,List}.cpp: Added ACE_BUILD_DLL so that things - will link. Thanks to John Morey for reporting this. - - * ace/Synch_T.h: Fixed: class ACE_Write_Guard: method: - tryacquire_write so that it will call - ...->lock_->tryacquire_write() and not - ...->lock_->acquire_write(). Thanks to Alexandre Karev - for this fix. - -Thu Jan 16 15:51:16 1997 David L. Levine - - * Dump.cpp (register_object): initialized "slot" so that g++ doesn't - complain about uninitialized use. - - * Reactor.cpp (initialized): use ACE_GUARD_RETURN instead of - ACE_GUARD because the function returns a value; - (find): initialize "i" if handle is out of range so that g++ - doesn't complain about uninitialized use. - - * Service_Repository.cpp (remove): removed unused variable "handle". - - * Thread_Manager.h: made destructor virtual now that spawn_i () is - virtual. - - * Timer_Heap.cpp: changed some int loop indicies to size_t to - make sure that comparisons are consistently signed or unsigned. - - * OS.h, config-vxworks*.h: removed ACE_HAS_GREENHILLS_SOCKETS - ACE macro because the code it wrapped applies to all VxWorks - compilers, not just GreenHills. - -Wed Jan 15 02:06:21 1997 Douglas C. Schmidt - - * ace/ACE.cpp (round_to_pagesize): If _SC_PAGESIZE is enabled then - we set the ACE::pagesize_ variable using sysconf(2). Thanks to - James Mansion for this suggestion. - -Wed Jan 15 02:06:21 1997 Douglas C. Schmidt - - * ace/Timer_Queue.cpp (expire): Changed a line of code from - - ACE_Timer_Queue_Iterator &iterator (this->iterator ()); - - to - - ACE_Timer_Queue_Iterator &iterator = this->iterator (); - - so that the Visual C++ compiler can grok it. Thanks to John - Morey for reporting this. - - * ace/Reactor.cpp: Modified the close() method so that it can be - called multiple times with no bad side-effects. - - * ace/Pipe.cpp: Modified the close() method so that it can be - called multiple times with no bad side-effects. - - * ace/Reactor: Added an initialized() method that indicates - whether the Reactor was successfully initialized. Also - rearranged the code in ACE_Reactor::open() so that initialized_ - is only set at the end of the method when everything succeeds. - If things *don't* succeed, we call close() on the way out. - Thanks to Luca for these suggestions. - - * ace/Reactor.cpp (close): When closing down the ACE_Reactor, we - now set initialized_ back to 0 so that it can be reopened again - later. - - * tests/Reader_Writer_Test.cpp: There were some problems with this - test due to the fact that on many pthreads platforms pthread_t - isn't an int (it's a struct). Thanks to Chuck Gehr - for the fix. - - * ace/OS.i (exit): In WIN32 when the process exits through an - ExitProcess() call, some process resources (e.g., file handles) - are freed before the static variable destructors are - called. This results in an application error when tracing is - enabled. Removing the ACE_TRACE call in ~ACE_Event_Handler - seems to fix this. Thanks to Luca for this fix. - - * ace/OS: Fixed the implementation of semaphores for the POSIX - port (POSIX lacks semaphores). The trick was to add a "waiters" - field, along with the semaphore count. Thanks to John Bossom - for reporting this. - - * examples/Threads/wfmo.cpp: Added a new test program that seems - to indicate that the Win32 WaitForMultipleObjects() function can - be called in multiple threads, all of which wait on the same set - of HANDLEs. Note that the dispatching of the threads is - relatively "fair" (i.e., everyone gets a chance to process the - various HANDLEs as they become active). Thanks to Ari Erev - for suggesting this and providing the - initial code. - - * ace/Thread_Manager.h: Made the spawn_i() method virtual and - moved it into the protected section of the class so that it can - be over-ridden by subclasses. Thanks to Tim Harrison for - suggesting this. - -Tue Jan 14 15:57:55 1997 Douglas C. Schmidt - - * ace/OS.h: Changed the default size of ACE_DEFAULT_TIMERS to - _SC_TIMER_MAX (which is typically around 40 or so). - Thanks to Stuart Powell for - suggesting this. - - * tests/Timer_Queue_Test.cpp (main): Added some additional logic - so that we can test the performance of the preallocated and - non-preallocated ACE_Timer_Heap. - - * ace/Timer_Heap: Added a new "preallocate nodes" mechanism to the - ACE_Timer_Heap. If this is enabled by the constructor, then we - preallocate as many ACE_Timer_Nodes as there are slots in the - heap. This allows us to completely remove the need for dynamic - memory allocation, which is important for real-time systems. - - * ace/Thread_Manager.cpp (remove_thr): Optimized the code just a - tad by decrementing the current_count_ *first*. Thanks to Per - Andersson for suggesting this. - - * ace/ReactorEx: Updated the implementation so that the - handle_events() method now in fact *does* return the number of - event handler's dispatched (i.e., the implementation matches the - documentation...). Thanks to Hamutal Yanay - for reporting this. - - * ace/Service_Repository.cpp (remove): Removed an extra call to - ACE_OS::dlclose(). This is already being called in the - destructor of ACE_Service_Record. Thanks to Karlheinz for - reporting this. - - * man: Updated all the nroff and html documentation. - - * ace/Timer_Heap: Implemented the spiffy new timer cancellation - algorithm that requires only O(log N) time to remove a timer - from the ACE_Timer_Heap. This is about 50 to 100 times faster - than using the ACE_Timer_List implementation. - -Tue Jan 14 21:01:36 1997 David L. Levine - - * ace/OS.h: Replace "Linux" preprocessor symbol with "linux". - -Mon Jan 13 17:57:50 1997 Douglas C. Schmidt - - * ace/Synch: Added lock() accessor methods to both - ACE_Process_Semaphore and ACE_Process_Mutex. Thanks to Hamutal - Yanay for suggesting this. - - * ace/config-mvs.h: Added a #define for ACE_HAS_GETPAGESIZE. - Thanks to Chuck Gehr for this information. - - * ace/LSOCK_Stream.h: Added a new typedef for PEER_ADDR that is - associated with ACE_UNIX_Addr. Thanks to Mark Rabotnikov - for suggesting this. - -Mon Jan 13 22:24:09 1997 David L. Levine - - * ace/OS.h: Added #undefs of sigemptyset and sigfillset on Linux - when __OPTIMIZE__ is enabled. Yes, the system header on Linux - really #defines them when optimizing! Thanks to an anonymous - ACE user for pointing this out. - - * tests/tests_config.h: Dropped ACE_MAX_ITERATIONS back to 10. - -Sun Jan 12 16:59:52 1997 Douglas C. Schmidt - - * ace/Timer_List.cpp (schedule): Cleanup the code so that (1) - timer_id never == -1 (in order to distinguish it from error - return values and (2) so that we avoid an unnecessary check for - operator new failure. - - * ace/OS.h: Added a new #define called ACE_DEFAULT_MAX_TIMERS, - which specifies the maximum number of ACE_Event_Handlers - supported by ACE_Timer_Heap. - - * ace/Proactor.cpp (ACE_Proactor): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace/ReactorEx.cpp (open): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace/Reactor.cpp (open): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace: Added two new classes called ACE_Timer_List and - ACE_Timer_Heap, which derive from ACE_Timer_Queue. - ACE_Timer_List is essentially the old behavior of - ACE_Timer_Queue, i.e., it uses an implementation of a linked - list of ACE_Timer_Nodes. ACE_Timer_Heap, on the other hand, - uses a heap-based callout queue, which is more appropriate for - certain real-time applications. - - * ace/Timer_Queue: Revised the ACE_Timer_Queue implementation so - that it's now an abstract base class with most of the - implementation details pushed into the ACE_Timer_List and - ACE_Timer_Heap subclasses. - - * ace/Timer_Queue.h: Made all the ACE_Timer_Queue methods public - so that we can override them in a subclass (e.g., the new - ACE_Timer_Heap). - - * examples/Logger/Acceptor-server/server_loggerd.cpp: Fixed this - example application so that it only uses a single Reactor (the - REACTOR::instance()) rather than two Reactors. Thanks to Sandro - Doro for reporting this. - - * netsvcs/lib/Logging_Strategy.cpp: Fixed the #include of - fstream.h and iostream.h to use the '<' '>' notation rather than - the '"' and '"' notation. This avoids problems with running - "make depend". Thanks to Rino Simioni for - reporting this fix. - -Sun Jan 12 18:20:49 1997 David L. Levine - - * ace/ACE.cpp (round_to_pagesize): fixed typo in reference to - ACE::pagesize_. - - * ace/ACE.cpp: initialize ACE::pagesize_ to 0. - - * ace/config-irix*.h and config-win*.h: removed ACE_PAGE_SIZE - definition because these platforms no longer use it. - - * tests/UNIX*.conf and Win32server.conf: replaced net_svcs - with netsvcs. - -Sat Jan 11 15:11:28 1997 Douglas C. Schmidt - - * ace/OS.i (thr_setprio): The POSIX implementation of - ACE_OS:thr_setprio did not set the priority. It calls: - - pthread_setschedparam( thr_id, &policy, ¶m ) - - and then does - - prio = param.sched_priority. - - instead of - - param.sched_priority = prio; - - This is now fixed. Thanks to John Bossom - for reporting this. - - * ace/config-irix*.h: Modified all the IRIX config files to - use the new ACE_HAS_GETPAGESIZE feature since this is necessary - to differentiate between IRIX and IRIX64. - Thanks to Fred LaBar for - reporting this. - - * ace/ACE.cpp: Modified the round_to_pagesize() so that if - a config.h file enables ACE_HAS_GETPAGESIZE then we use - that function in preference to the value in config.h. - Thanks to Fred LaBar for - suggesting this. - - * ace/ACE.cpp: Modified the round_to_pagesize() so that on - platforms that allow the page size to be obtained dynamically - we'll get that rather than replying on what it set in the - config.h file. We'll cache this value in a static variable - to speedup searches. Thanks to James Mansion for suggesting - this. - - * apps/Gateway/Gateway: Finished adding support for thread-safe - reference counting to the uses of ACE_Message_Block. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Replaced - the use of ACE_MT_SYNCH with ACE_SYNCH so that this will compile - correctly on non-MT platforms. - -Fri Jan 10 12:38:42 1997 Douglas C. Schmidt - - * Added a COPYING file that explicitly states the copyright status - of ACE. - - * ace/config-win32-msvc4.x.h and ace/config-winnt-4.0-msvc4.x.h: - By default, we'll revert to *not* enabling - ACE_HAS_TEMPLATE_TYPEDEFS for MSVC++ 4.2, even though this is - well-support by the compiler since it breaks some application - code that expects to use 3 template parameters for - ACE_Svc_Handler<>. The "fix" is to use the ACE_SOCK_STREAM - macros (rather than using the "ACE_SOCK_Stream, ACE_INET_Addr" - tuple) in order to achieve portability in either case. Thanks - to Karlheinz for pointing out the need for backwards - compatibility. - -Wed Jan 8 01:00:05 1997 Douglas C. Schmidt - - * tests/Message_Block_Test.cpp: Enhanced the torture test of the - ACE_Message_Block so that it stresses the reference counting - implementation in a multi-threaded environment. - -Wed Jan 08 10:26:45 1997 David L. Levine - - * ace/Message_Block.cpp (~ACE_Data_Block): assigned 0 to - allocator_strategry_ after deleting it; fixed template - specializations (for g++) by using macros instead of class names; - commented out template specializations because Service_Record.cpp - already has them, and they should only appear once in the library - in order to avoid link clashes - - * ace/Service_Object.cpp (ACE_Service_Object): reordered - initializations in constructor - - * ace/Service_Record.cpp (ACE_Service_Record): reordered - initializations in constructor - - * ace/config-linux-lxpthreads.h: added - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS, thanks to - James CE Johnson for tracking down this - problem and testing the fix. - -Tue Jan 7 13:03:25 1997 Douglas C. Schmidt - - * ace/Message_Block: Continued to improve the - ACE_Message_Block/ACE_Data_Block implementation. - - * ace/Message_Block: Added a new constructor to ACE_Message_Block - that takes an ACE_Data_Block * and "owns" it. Thanks to Tim for - this idea. - - * ace/Log_Msg.cpp: Now that we've prevented signal handlers from - occurring within critical sections of ACE_Log_Msg::log() we - don't need to use the ACE_Recursive_Thread_Mutex anymore. - Instead, we just need ACE_Thread_Mutex. - - * ace/Log_Msg.cpp (log): Added an ACE_Sig_Guard to the block in - ACE_Log_Msg::log() that acquires the mutex that serializes - output. This prevents nasty problems with recursive to - ACE_Log_Msg::log() from within signal handlers. - - * ace/Service_Config.cpp (end_reactor_event_loop): Added a timeout - of ACE_Time_Value::zero to the ACE_Reactor::notify() method when - called in the ACE_Service_Config::end_reactor_event_loop(). - This prevents the Reactor from blocking indefinitely if there's - no longer a thread to receive from the notification pipe. - - * netsvcs/clients/Naming/Dump_Restore: Removed the vestigal - nametest.cpp and nametest.h files. I'm not sure why they were - still there, but they shouldn't have been! - - * ace/Synch.i (remove): this->owner_ should be set to -1 before - calling this->release(). Thanks to Per Andersson - for suggesting this. - - * ace/Thread_Manager.cpp (exit): Added a flag called "do_thr_exit" - to the ACE_Thread_Control::exit() method. This controls whether - we call ACE_OS::thr_exit() after removing the thread from the - Thread Manager's internal table. This is necessary to work - around pthread bugs on certain platforms (e.g., AIX and Linux). - - * ace/Synch.h: Removed the - ACE_Recursive_Thread_Mutex::set_nesting() method since this - isn't being used and is potentially dangerous. Thanks to Per - Andersson for suggesting this. - - * ace/XtReactor: Updated the XtReactor so that it uses the next - internal Reactor implementation. Thanks to Mark Rabotnikov - for reporting this. - - * ace/Task.i: Updated the grp_id(int) method to cache the group id - in the task and then set it in the Thread_Manager, if there is - one. Thanks to Hamutal Yanay - for suggesting this. - - * ace/Log_Record.h: Updated the ACE_Log_Record class to use the - new ACE_MAXLOGMSGLEN macro. - - * ace/OS.h: Added a new #define called ACE_MAXLOGMSGLEN. By - default this is 4k. However, you can reset it in the config.h - file if you'd like to increase or decrease the size. Thanks to - Anthony McConnell for suggesting this. - - * examples/Threads/tss[12].cpp: Tidied up the tss1.cpp and - tss2.cpp examples and improved the comments. Thanks to Luca for - suggesting this. - - * ace/Service_Object.cpp (fini): Added the "virtual" keyword to - the new destructor of ACE_Service_Type. Thanks to David for - reporting this. - - * ace/Message_Block.i: Rearranged the order of the ACE_Data_Block - and ACE_Message_Block locking_strategy() methods so that they'd - be defined as inline before being used. Thanks to David for - reporting this. - -Mon Jan 6 16:46:06 1997 Douglas C. Schmidt - - * ace/Service_Manager.cpp (fini): Only try to remove the - ACE_Service_Manager from the Reactor if it's actually been - registered in the first place (i.e., if it's get_handle() method - does not return ACE_INVALID_HANDLE). - - * netsvcs/servers/svc.conf: Changed the name of the net services - .so file from libnet_svcs to netsvcs so that it will work - correctly with our new "cross-platform" svc.conf ACE::ldfind() - strategy. Thanks to Marius Kjeldahl for - reporting this. - - * ace/Reactor.cpp (find): Added a strategic break and a check for - handle_in_range(). Thanks to Tim for this help! - - * netsvcs/clients/Naming/Client/svc.conf: Removed the "lib" part - from the executable shared object file names in the svc.conf - file so that it will work with the new "cross-platform" svc.conf - ACE::ldfind() strategy. Thanks to Marius Kjeldahl - for reporting this. - - * ace/Service_Record.cpp (fini): Added an extra assignment to a - temporary const void *obj to avoid problems with MSVC++ and it's - cast mechanism. - - * ace/ReactorEx.h: Added a default parameter to - ACE_ReactorEx::notify(). Thanks to Tim for noticing this. - -Sun Jan 5 10:48:23 1997 Douglas C. Schmidt - - * tests: Added a new test for ACE_Message_Block, which is called - Message_Block_Test.cpp (no surprise there ;-)). This test - exercises the reference counting mechanisms. - - * ace/Message_Block.h: Made the destructors for ACE_Message_Block - and ACE_Data_Block virtual, so that these classes can be - subclassed and ACE_Message_Blocks can delete these - subclasses (either via release() or delete). Thanks to Tilo - Christ for suggesting this. - - * ace/Message_Block.cpp: Modified the implementation - of ACE_Message_Block/ACE_Data_Block so that we always create - an allocator_strategy_. By default, this strategy will be - ACE_Allocator_Adapter >; - This greatly simplifies the code. - - * ace/Message_Block.h: It's now possible to assign a - Message_Block's priority when you create it. - - * ace/Reactor: Sped things up some more by merging the Reactor's - any_ready() and fill_in_ready() methods together. This reduces - redundant computations. - - * ace/Reactor: Changed the name of ACE_Reactor::detach() to - ACE_Reactor::remove_handler_i() and changed the name of - ACE_Reactor::attach() to ACE_Reactor::register_handler_i(). - This is more consistent with the other naming schemes. - - * ace/Reactor.cpp: Reworked the implementation of the Handler - Repository's unbind() method in order to simplfy the logic. - Also merged in all the Reactor's detach() functionality into the - unbind() method in order to localize all the handler removal - processing. - - * ace/Reactor[Ex].cpp: Added more descriptive errno entries for - failed operations in the handler repository. - - * ace/Reactor.cpp: Modified the implementation of the Handler - Repository's bind() method so that it reports an error if you - try to register an Event_Handler for an invalid HANDLE. - - * ace/Reactor.cpp: Reimplemented the internals of the Reactor to - prepare for the upcoming merge of the Reactor and ReactorEx to - use a single code base. - - * ace/Timer_Queue.cpp: Modified the behavior of the expire() - methods so that they return the number of ACE_Event_Handlers - whose handle_timeout() method was called. - -Sat Jan 4 11:47:05 1997 Douglas C. Schmidt - - * ace/Reactor.h: Removed the #ifdefs for ACE_HAS_POLL. This will - be recast as a strategy in subsequent implementations. - - * ace/Reactor.cpp: Added a new call, - ACE_Handler_Repository::handle_in_range(), which checks to make - sure that the HANDLE is within the range of 0 .. max_handlep1_. - This factors out some redundant code. - - * ace/Reactor.cpp: Sped up the performance of the Reactor by - removing redundant calls to - ACE_Handler_Repository::invalid_handle() and - ACE_Handler_Repository::find(). - - * tests/Reactors_Test.cpp: Added a test for - the new Reactor::notify() method with timeouts. - - * examples/Reactor/Misc/notification.cpp (svc): Added a test for - the new Reactor::notify() method with timeouts. - - * ace/Reactor[Ex]: Modified the Reactor and ReactorEx so that they - use timed send() operations for their notify() methods. This - makes it possible for users to bound the amount of time they're - willing to wait to try and notify the Reactor. This is mostly - useful to avoid infinite blocking if there is congestion in the - Reactor's notification mechanism. - - * ace/ACE.cpp: Added a new timed send() method that uses the - write() system call on UNIX and the socket send() call on Win32. - This new method is used in the new ACE_Reactor::notify() method, - which now supported timed notifications. - - * ace/Reactor.cpp (ACE_Handler_Repository): To simplify the code - and reduce unnecessary #ifdefs, I've merged the max_handlep1_ - and cur_size_ fields (which are now called max_handlep1_). - -Fri Jan 3 10:47:15 1997 Douglas C. Schmidt - - * ace: Replaced all uses of "delete mb" with mb->release (); - - * ace/Stream_Modules.cpp: Replaced the use of explicit bit - twiddling with the ACE_BIT* macros. - - * ace/Message_Block.cpp: Make sure that we use the - allocator_strategy_ to create the memory for the reference count - since this may need to go into shared memory if that's the - memory pool where the Message_Block allocations are coming from. - - * ace/OS.h: Added two new macros, ACE_ALLOCATOR_RETURN and - ACE_ALLOCATOR, which are similar to ACE_NEW_RETURN and ACE_NEW, - except that these - - * ace/Message_Block.cpp (release): Make sure to "delete this" - outside the scope of the locking_strategy_. - - * ace/Service_Object.cpp: Added a destructor to ACE_Service_Type. - Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for - suggesting this. - - * ace/Service_Object.i: Be smarter about how we reassign the name_ - pointer, i.e., delete the old one and make a copy. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Module.cpp (open): Rearranged the assignments to - reader_q->mod_ and writer_q->mod_ so that we don't try to - initialize through NULL pointers. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Service_Record.cpp (ACE_Service_Record): Initialized name_ - to NULL so that the following change works correctly now. - Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for - reporting this. - - * ace/Service_Record.i (name): Make sure to delete [] (char *) - this->name_ before allocating a new one. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Message_Block: Reworked the reference counting implemention - so that reference counts are shared correctly amongst their - various owners. This requires making a deep copy the "header" - portion, but a shallow copy of the "data." - - * ace/Message_Block.cpp (ACE_Message_Block): Updated all three - ACE_Message_Block constructors so that they all call the init() - method. This centralizes all the initialization logic in one - place. - -Thu Jan 2 00:42:21 1997 Douglas C. Schmidt - - * ace/Message_Block.cpp (ACE_Message_Block): Make sure to set the - cont_ field to 0 after "releasing" it so that we don't - mistakenly think it's still around later on. This problem arose - in the ACE_Message_Queue::close() method, which was trying to - count the number of bytes being freed. - - * ace/Message_Queue.cpp (close): Fixed a subtle bug where we - weren't actually deleting messages from the - ACE_Message_Queue::close() routine. This should work now... - - * ace/Message_Queue.cpp (close): Replaced the use of "delete mb" - with "mb->release()" since the Message_Blocks are now reference - counted. - - * ace/Message_Block: Enhanced the reference counting scheme so - that you can increment and decrement the count by an arbitrary - amount. This is particular useful when you know you'll be - sending the same Message_Block to N consumers. - - * ace/Singleton: The dump() must be used same as instance() - (without supplying an object) so it must be declarated *static*, - i.e., - - static void dump (void); - - Thanks to Sandro Doro for reporting - this. - - * examples/ASX/Event_Server: Completely rewrote and retested the - ACE Event Server example. The new code is *much* easier to - understand, has many more comments, is more robust, and compiles - much faster since I removed many of the templates. - - * examples/ASX/Event_Server/Tranceiver/tranceiver.cpp: Fixed the - tranceiver so that it shuts down correctly when the Event_Server - exits. - - * examples/Connection/non_blocking/CPP-connector.cpp: Fixed a - problem where we were trying to select() on ACE_STDIN on Win32. - Naturally, this doesn't work, so we used the - ACE::register_stdin_handler() to fix this. Thanks to - Samuel_Bercovici - for reporting this. - - * examples/ASX/Event_Server/Event_Server/Options: Changed the - Options class to be a Singleton... - - * ace/Task.h: Added "const" method qualifier to accessor methods - like is_reader() and is_writer(). - -Wed Jan 1 00:10:47 1997 Douglas C. Schmidt - - * ace/Message_Block: Added a new static release() method that - behaves like the non-static method release(), except that it - checks if is 0. This is similar to CORBA::release(), which - is useful if you want to eliminate lots of checks for NULL - pointers before calling release() on them. - - * Updated all places in ACE where we use - ACE_Event_Handler::READ_MASK when we should be using - ACE_Event_Handler::ACCEPT_MASK. - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - Changed the name of the acceptor class from Handle_Thr_Stream to - Handle_Thr_Acceptor, which is more accurate. - - * ace/Reactor: Since we've now got an - ACE_Event_Handler::ACCEPT_MASK (intended primarily to accept - connections asynchronously using Win32 overlapped I/O) we can - now use this with the ACE_Reactor, as well. In particular, any - time that we are registering a "passive-mode" socket acceptor we - can now specify ACE_Event_Handler::ACCEPT_MASK. This is much - more intuitive than using the READ_MASK (which never made any - sense...). The ACE_Reactor now treats the ACCEPT_MASK as a - READ_MASK internally, so you can still use READ_MASK if you'd - like (i.e., this change doesn't break any existing code). - - * ace/Event_Handler: Changed "get_priority" and "set_priority" to - simply "priority(void)" and "priority(int)" to be more - consistent with other parts of ACE. - - * apps/Gateway/Gateway: Updated the Gateway so that the - concurrency strategies can now be specified on the - command-line (or in the svc.conf file), rather than being - determined at compile-time. This is much more flexible. - See the ./apps/Gateway/Gateway/README file for details. - - * apps/Gateway/Gateway: Verified that all the multi-threading - strategies still work. - - * ace/Message_Block.cpp (ACE_Message_Block): Make sure that we - "release" the continuation field, rather than delete it, since - its reference count may be > 1. - - * ace/Log_Msg.cpp (log): Change the abort_prog logic a bit so that - we always print a message to stderr if we're exiting, - regardless... Thanks to David Levine for pointing this out. - - * apps/Gateway/Gateway: Moved all of the configuration file - parsing logic *outside* of the Event_Channel into the Gateway - class so that we wouldn't have unnecessary dependencies. - - * apps/Gateway/Gateway: Redesigned the Gateway so that the - Proxy_Handlers (i.e., the Consumer_Proxy and Supplier_Proxy) - most of their work to the Event_Channel. This "lightweight - proxy" design is an improvement since it is now possible to - emulate the COS Event Channel semantics within the Event_Channel - "kernel." - - * Happy new year! Let's start a new ChangeLog to celebrate the - new year. diff --git a/ChangeLog-97b b/ChangeLog-97b deleted file mode 100644 index cb3e925925f..00000000000 --- a/ChangeLog-97b +++ /dev/null @@ -1,9182 +0,0 @@ -Tue Nov 25 16:18:49 1997 David L. Levine - - * ACE version 4.4, released Tue Nov 25 16:18:49 1997. - -Tue Nov 25 16:03:09 1997 David L. Levine - - * Makefile: fixed Version.h generation to work properly when - $$beta is undefined. - -Mon Nov 24 10:33:34 1997 Douglas C. Schmidt - - * ACE version 4.3.56, released Mon Nov 24 10:33:34 1997. - -Sun Nov 23 13:32:02 1997 David L. Levine - - * ace/IOStream.h: removed DIGITAL_UNIX from #include decision, - so now it just depends on DEC_CXX and its version. Thanks to - Dani Flexer for this fix. - - * netsvcs/lib/Server_Logging_Handler.cpp: updated template - instantiations to match recent change to Server_Logging_Handler_T.h. - -Sat Nov 22 19:16:35 1997 - - * tests/Process_Strategy_Test.cpp: - - main: Removed signal handling code. It is unnecessary since we - do not use kill() anymore. - - Process_Strategy: This subclass of ACE_Process_Strategy - overwrites the process creation method to include connection - counting. - - connection_completed: Made sure that the Reactor is woken up - after all the connections have completed. - - * ace/Priority_Reactor.cpp (init_bucket): Removed extra code. - - * ace/Acceptor.cpp (activate_svc_handler): open svc_handler only - if result is 0. Also removed extra tracing code. - - * ace/Handle_Set.i (reset): Purify is reporting a UMR - (uninitialized memory copy) when copying a Handle_Set. This - comes from the mask fd_set not being memset to 0 by FD_ZERO. - This is therefore a harmless error. - - * tests/Priority_Reactor_Test.cpp (main): The ordering of - auto_ptrs is very subtle.... "auto_ptr reactor" - should come before "auto_ptr impl", i.e., - the implementation should be destroyed *before* the forwarding - class. This is apparent when the implementation class is - removing registered event handlers that hold a pointer to the - forwarding class. - -Sat Nov 22 16:04:07 1997 Carlos O'Ryan - - * ace/Message_Queue.cpp: - Fixed some formating problems in the ACE_Message_Queue::dump - method, thanks to Arturo Montes for - finding this one. - -Sat Nov 22 14:38:22 1997 Steve Huston - - * ace/config-aix-4.2.x.h: Added ACE_TLI_TCP_DEVICE "/dev/xti/tcp". - This fixes Riverace problem ID P32; AIX now joins HP-UX in - supporting XTI/TLI, but not everything (problem P27). - - * ace/UPIPE_Connector.h: - * ace/TLI_Connector.h: Added meta-type information PEER_ADDR and - PEER_STREAM. Fixes Riverace problem ID P37. - - * apps/JAWS/server/HTTP_Server.cpp: Added 'const' to "char *prog". - Fixes Riverace problem P36. - - * examples/Connection/misc/test_upipe.cpp: - * examples/Connection/non_blocking/CPP-connector.cpp: - * examples/Threads/process_mutex.cpp: - * examples/Threads/process_semaphore.cpp: - Added 'const' to "char *" - can't initialize a char * with - a const string. Fixes Riverace problem ID P38, P40. - - * examples/Threads/thread_specific.cpp, tss1.cpp: Moved the Errno - class out to a new file, thread_specific.h. AIX xlC needs to have - the class in a .h file for template generation. Fixes Riverace - problem P42. - * examples/Threads/Makefile: Make sure that, on AIX, the tempinc - directory is cleared before building each new program. - - * performance-tests/Synch-Benchmarks/Makefile: Changed SHLIB to use - $(SOEXT) rather than .so. Fixes Riverace problem ID P41. - - * tests/Thread_Pool_Test.cpp: Moved 'this->getq(mb)' out of an - ACE_ASSERT. Thanks to Arturo Montes - for finding this. - -Sat Nov 22 05:44:10 1997 Nanbor Wang - - * tests/Process_Strategy_Test.cpp (main): Shuffled things around - in fork() block. This is fun. - - * ace/Strategies_T.cpp (activate_svc_handler): Added an - ACE_UNUSED_ARG macro to muffle g++. - - * tests/Process_Strategy_Test.cpp (handle_close): Added a return - type specifier. Without it, g++ laments. - - * ace/Acceptor.cpp (activate_svc_handler): Should be if (open (...) == - -1) then error, not if (open (...) != -1) then error. - - * ace/ACE.cpp (set_handle_limit): Removed a duplicated ACE_TRACE - macro. - -Sat Nov 22 00:26:11 1997 Nanbor Wang - - * ace/Thread_Manager.cpp (close): Activated automatic wait on - close functionality. I think I get it right this time. - -Fri Nov 21 19:59:37 1997 Carlos O'Ryan - - * ace/IPC_SAP.cpp: - Added a couple of ACE_NOTREACHED protections. Thanks to Brian - Mendel for reporting this. - -Fri Nov 21 17:12:48 1997 - - * ace/Thread_Manager.cpp (close): Deactivated automatic wait on - close for now. It doesn't seem to work on Solaris. - - * ace/Thread_Manager.{h,cpp} (wait): Added codes to remove detached - threads. This function can be activated selectively. I added - this so we can ignore detached threads when closing down the - default thread manager. - - (close): Activated the code to wait (join) all threads managed - by the thread manager. It will ask wait function to remove all - detached thread first (and so they won't be counted into threads - we are waiting for.) - -Fri Nov 21 13:22:25 1997 Douglas C. Schmidt - - * ACE version 4.3.55, released Fri Nov 21 13:22:25 1997. - -Fri Nov 21 12:18:28 1997 Douglas C. Schmidt - - * ace/Acceptor.cpp,Strategy_T.cpp: Removed the use of gotos. See - Dijkstra '67 for motivation... - - * tests/Process_Strategy_Test.cpp (open): Make sure that we set - the Reactor of the Svc_Handler to 0 if we're running the - threading test. - - * tests/Reactor_Notify_Test.cpp: Added back THR_BOUND to - make things work on Solaris. - -Fri Nov 21 02:23:47 1997 - - * tests/Process_Strategy_Test.cpp: - - - The event loop execution was based on a fragile timeout - mechanism. This was changed to a more robust mechanism that - counts the connections. - - - The unlinking of the file was moved from the server to the - client. This is necessary since there maybe multiple server - processes that cannot really coordinate when the file should - be removed. - - * ace/Strategies_T.cpp (ACE_Concurrency_Strategy): - ACE_Concurrency_Strategy and all three of the subclasses - (ACE_Reactive_Strategy, ACE_Process_Strategy, and - ACE_Thread_Strategy) were messed up. Only ACE_Reactive_Strategy - was (trying) to set the correct blocking mode of the socket. - Therefore, moved the socket mode setting code to the base class, - ACE_Concurrency_Strategy, so that all the classes can share it. - - This did create one problem though. If the implementation of - the reactor uses event associations (i.e., WFMO_Reactor), we - cannot try to set the socket mode since the registration of the - svc_handler caused an event association to be created for the - socket and by default (thanks Microslush) the socket is set to - non-blocking mode. If the user is excepting to have a socket in - blocking mode, he is in for a surprise. Maybe we should return - a failure if the user is expecting a socket in blocking mode. - This is probably too harsh for now. - - * tests/Future_Test.cpp (open): Added THR_DETACHED since we don't - wait for this thread. - - * tests/Reactor_Notify_Test.cpp (open): Changed THR_BOUND to - THR_DETACHED since we don't wait for this thread. - - * tests/IOStream_Test.cpp (server): Make sure to close the socket - in ACE_SOCK_Acceptor and ACE_SOCK_IOStream. - - * ace/WFMO_Reactor.cpp (open): When I changed open() last, I - ignored the order of the registeration of notify_handler_ and - wakeup_all_threads_handler_. Unfortunately, the order of the - two registrations is very important since the optimization for - owner thread takes advantage of this ordering. Therefore, - revert the order of registertion to notify_handler_ followed by - wakeup_all_threads_handler_. - - * tests/version_tests/run_all_tests.bat: Added new bat file to - make the running of all the different configurations easier. - - * tests/version_tests/version_tests.{mak,mdp}: Added a mammoth - testing scheme that is used to test all 8 configurations of the - tests under Win32. These 8 configurations are: - - DLL Debug - DLL Release - DLL Unicode Debug - DLL Unicode Release - static Debug - static Release - static Unicode Debug - static Unicode Release - - run_tests.bat from the test directory can then be used to run - these various configurations. run_tests.bat was also extended - to allow the user to purify the tests. Simply execute - run_tests.bat with the purify command line option. - -Thu Nov 20 17:43:15 1997 - - * ace/Thread_Manager.cpp (kill_thr): Changed to prevent thread - manager from "discard" a thread when a certain operation is not - supported by the operation system. Removed the mechanism that - preserves errno during "thread removal." We no longer remove - thread right after an error occured. - -Thu Nov 20 17:53:35 1997 Douglas C. Schmidt - - * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Make - sure make sure that the semaphores created by the program are - released as well as the storage files deleted. Thanks to Tom - Arbuckle for reporting - this. - - * ace: Added a new version of config-osf1-3.2.h. Thanks to Dani - Flexer for updating this. - -Thu Nov 20 18:22:24 1997 Steve Huston - - * ace/README - ace/TLI.h - ace/TLI_Acceptor.h - ace/TLI_Connector.h - Changed from using hardcoded "/dev/tcp" as the XTI device name to - a new config-related define, ACE_TLI_TCP_DEVICE. If the config - doesn't set one, it defaults to "/dev/tcp". Thanks to Steve Coy - for zeroing in on this problem in HP-UX. - - ace/config-hpux-10.x.h: ACE_TLI_TCP_DEVICE is "/dev/inet_cots". - Note that XTI won't work 100% well on HP still - this is Riverace - problem ID P27. - - * netsvcs/lib/Server_Logging_Handler_T.h: Hardcoded to always use - ACE_SOCK_Stream (and friends) rather than ACE_TLI_Stream and friends. - XTI doesn't work real well on some platforms (particularly HP-UX - and AIX). When they're fixed, this can be undone (Riverace problem - ID P28). - - * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: Changed 'char *host' to - 'const char *host' so it can be initialized from a const char string. - -Thu Nov 20 14:19:57 1997 Carlos O'Ryan - - * tests/Priority_Reactor_Test.h: - * tests/Priority_Reactor_Test.cpp: - The test has a limited execution time now, and only reports a - warning if runs out of time. This may be due to some failed - connections, but it is hard to avoid that. On the other hand - the default time should be large enough, in our machines the - test only takes 14 seconds, so 60 seconds should be enough. - NOTE: this problem reveals a problem *only* in the test itself - not in ACE_Priority_Reactor. - -Thu Nov 20 11:29:51 1997 David L. Levine - - * ace/Timer_{Heap,List}_T.{h,cpp}: added - ACE_Timer_{Heap,List}::get_first () accessors. Thanks to - Stephen Henry for this suggestion. - -Thu Nov 20 11:27:44 1997 Douglas C. Schmidt - - * ACE version 4.3.54, released Thu Nov 20 11:27:44 1997. - -Thu Nov 20 10:45:08 1997 - - * tests/MT_SOCK_Test.cpp: Uncommented socket close call. - - * ace/WFMO_Reactor.cpp (open): Open the notification handler - *after* the timer queue has been created. - - * ace/ACE.cpp (get_ip_interfaces): Changed rep() to fast_rep() to - prevent memory leak. - - * ace/Reactor.cpp (ACE_Reactor): Fixed error of not creating any - Reactors on UNIX. - -Thu Nov 20 08:36:54 1997 Nanbor Wang - - * ace/Thread_Manager.{h,cpp}: Added a dummy argument to internal - thread functions. Without them, MSVC wrongly optimizes codes - and the stack were all clobbered when entering these functions. - -Wed Nov 19 23:24:03 1997 - - * ace/Reactor.cpp: Rearragned macros so we use Select_Reactor as - default if we don't have Winsock2. Irfan did it, not me. - -Wed Nov 19 22:11:20 1997 Douglas C. Schmidt - - * ACE version 4.3.53, released Wed Nov 19 22:11:20 1997. - -Wed Nov 19 15:55:52 1997 Sumedh Mungee - - * config-netbsd.h: NetBSD 1.3alpha has a better MSYNC. Commented out - ACE_HAS_BROKEN_NETBSD_MSYNC - -Wed Nov 19 14:26:36 1997 Nanbor Wang - - * stdcpp.h, OS.h: Changed ACE_CONFIG_H to ACE_USER_CONFIG_H. It - conflicts with the macro in various configuration files. - -Wed Nov 19 15:55:45 1997 Douglas C. Schmidt - - * ace/config-sunos5.*.h: Replaced all uses of ACE_HAS_UNICODE with - ACE_HAS_XPG4_MULTIBYTE_CHAR. At this point, I think only NT has - the UNICODE macro now. Thanks to Steve Huston for validating - this. - - * STL/bstring.h: Added a special-case for BorlandC++. However, I - think this can be generalized for all compilers. Thanks to - Valik Solorzano Barboza for reporting this. - - * ace/OS: Fixed strpbrk() to handle the const char * and char * - cases of ANSI C++. Thanks to Valik Solorzano Barboza - for reporting this. - - * ace/OS.h: Added a special case for _MSC_VER since BC++ doesn't - have wchar.h! Thanks to Valik Solorzano Barboza - for reporting this. - -Wed Nov 19 13:43:33 1997 Darrell Brunsch - - * Merged the purify testing into run_tests. Just use - - "run_tests purify ..." - - to purify instead of running the tests. If you thought this - batch file looked bad before.... - -Wed Nov 19 12:17:50 1997 Nanbor Wang - - * ace/{OS,stdcpp}.h (ACE_CONFIG_H): Added this macro to protect - config.h from getting included multiple times. - - * ace/stdcpp.h: Reverted include OS.h back to config.h. - -Wed Nov 19 09:20:05 1997 Douglas C. Schmidt - - * ACE version 4.3.52, released Wed Nov 19 09:20:05 1997. - -Wed Nov 19 07:54:44 1997 Douglas C. Schmidt - - * ace/ACE.cpp (crc32): Reverted the COMPUTE macro back to its - original value. For some reason, the version given by Valik was - failing. - - * ace/SV_Semaphore_Complex.cpp (open): Make sure initialize the - sem_number_ data member, though this isn't actually used for - anything. - - * ace/ACE.cpp: Added a #ifdef for __unix since this is the only - case where we'll actually have the ifreq autoptr. Thanks to - Valik Solorzano Barboza for reporting this. - - * ace/Log_Record.cpp (print): Added a work around for a really - lame bug with BORLANDC. Thanks to Valik Solorzano Barboza - for reporting this. - -Wed Nov 19 04:22:38 1997 Douglas C. Schmidt - - * ACE version 4.3.51, released Wed Nov 19 04:22:38 1997. - -Wed Nov 19 04:02:09 1997 Douglas C. Schmidt - - * include/makeinclude/rules.local.GNU (show_uninit): It seems - there was a missing '@' at the beginning of the line. Thanks to - Hans Rohnert for reporting this. - - * tests/Process_Strategy_Test.cpp (handle_input): Fixed Irfan's - code, which keeps breaking ACE ;-). - -Wed Nov 19 01:55:06 1997 - - * ace/WFMO_Reactor.cpp (resume_handler_i, suspend_handler_i, - unbind_i): Since things don't happen immediately in the - WFMO_Reactor world, we must make sure that this request is not a - duplicate. If so we must ignore it. - - * ace/Asynch_Acceptor.cpp (open): Fixed addr type mismatch problem. - - * tests/UPIPE_SAP_Test.cpp (main): Make sure to close the socket - in ACE_UPIPE_Acceptor. - - * tests/SPIPE_Test.cpp (server): Make sure to close the socket in - ACE_SPIPE_Acceptor. - - * tests/SOCK_Test.cpp (spawn): Make sure to close the socket in - ACE_SOCK_Acceptor. - - * tests/Reactor_Notify_Test.cpp (Supplier_Task): Make sure to - close the pipe down. - - * tests/Process_Strategy_Test.cpp (handle_input): Fixed ACE_DEBUG - statement to pass the correct number of arguments. - - * tests/MT_SOCK_Test.cpp (spawn): Make sure to close the socket in - ACE_SOCK_Acceptor. - - * tests/Reactor_Exceptions_Test.cpp (main): Make sure to close the - socket in ACE_SOCK_Dgram. - - * tests/run_purify_tests.bat: Added "mkdir purify_results". - - * tests/run_tests.bat, run_purify_tests.bat: Changed explicit name - of bat file (e.g., run_tests, run_purify_tests) to %0. This - will allow the bat file to be used from other directories. - - * ace/config-win32-common.h: Removed extraneous define of - ACE_HAS_TEMPLATE_INSTANTIATION. - -Wed Nov 19 00:37:22 1997 - - * ace/stdcpp.h: Changed to use "ace/OS.h" instead of using - "ace/config.h" directly to avoid redefinition of user defined - macros. - - * ace/Log_Msg.cpp (close): Disable Win32 to delete - ACE_Log_Msg::instance (). On Win32, this should be done by - ACE_TSS_Cleanup. - - * ace/OS.cpp (cleanup_tss): Enabled Win32 to call - ACE_Log_Msg::close. This is required to properly release - resourses held by ACE_Log_Msg_Manager. - -Tue Nov 18 19:28:36 1997 Douglas C. Schmidt - - * ace/Select_Reactor.cpp (unbind), - ace/WFMO_Reactor.cpp (handle_signal): Fixed a large number of - bugs with non-portable "scope of the for loop counter"... - Thanks to Valik Solorzano Barboza for - reporting this. - - * ace/Thread_Manager: Added == and != operators for - ACE_Thread_Descriptor to fix things with BORLANDC's template - mechanism. Thanks to Valik Solorzano Barboza - for reporting this. - - * ace/Select_Reactor: Added == and != operators for - ACE_Event_Tuple to fix things with BORLANDC's template - mechanism. Thanks to Valik Solorzano Barboza - for reporting this. - - * ace/OS.i (tempnam): Fixed a typo -- WIN32 should be ACE_WIN32. - Thanks to Valik Solorzano Barboza for - reporting this. - - * ace/OS.h: Reordered the ACE_SEH_* macros so they work correctly - with BORLANDC. Thanks to Valik Solorzano Barboza - for reporting this. - - * ace/OS: Added operator== and operator!= for ACE_Cleanup_Info so - that it will work correctly with BORLANDC's template mechanism. - Thanks to Valik Solorzano Barboza for - reporting this. - - * ace/config-win32-common.h: Added - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for BORLANDC. Thanks to - Valik Solorzano Barboza for reporting this. - - * ace/Filecache.cpp: Fixed a bug with BORLANDC. Thanks to Valik - Solorzano Barboza for reporting this. - - * ace/ACE.cpp (crc32): Added some parens to the COMPUTE macro to - make it easier to grok. Thanks to Valik Solorzano Barboza - for reporting this. - -Tue Nov 18 16:27:32 1997 - - * ace/Log_Msg.cpp (log): Added a %D option to Log_Msg for - "month/day/year hour:minute:second:microsecond". Thanks to John - Mulhern <9107@MN3.LAWSON.lawson.com> for suggesting this. - - * ace/config-win32-common.h: If __ACE_INLINE__ is defined to be 0, - we will undefine it. - -Tue Nov 18 15:59:37 1997 Steve Huston - - * ace/IOStream.cpp: In underflow() and overflow(), use base() to - check for buffer in use in every case - not just without - ACE_HAS_STANDARD_CPP_LIBRARY==1. Thanks to James CE Johnson - (jcej@lads.com) for this fix. - - * tests/MT_SOCK_Test.cpp: Allow the test to run even if not all of - the proceses can be forked. - -Tue Nov 18 15:27:37 1997 Nanbor Wang - - * ace/Timer_Queue_Adapters.cpp: Reordered include files. Thanks - to Torbjorn Lindgren for noticing the problem. - -Tue Nov 18 11:40:18 1997 Steve Huston - - * ace/IOStream.(cpp h): Added: &&(ACE_HAS_STANDARD_CPP_LIBRARY != 0) - to the #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) lines to only use - the new iostreams things if that's been selected by the config file. - In ACE_Streambuf::overflow(), changed: - if (!eback()) to if (!pbase()) - -Tue Nov 18 08:23:53 1997 Douglas C. Schmidt - - * tests/Thread_Pool_Test.cpp (open): Moved the activate() method - from the Thread_Pool constructor to the open() hook since the - Thread_Pool class invoked ACE_Task::activate, indirectly invokes - Thread_Pool::svc. There existed a miniscule probability this - code would have crashed since on extremely broken C++ compilers - the virtual member function Thread_Pool::svc may not correctly - initialized in Thread_Pool constructor (i.e., it might point to - ACE_Task_Base::svc() at this point). The chance of this - happening is incredibly remote, but it's still a good ideal to - put the call in the open() method so we can check the return - value in the application. Thanks to Arturo for pointing this - out. - -Tue Nov 18 05:40:53 1997 David L. Levine - - * ace/OS.cpp (inet_aton): on Chorus only, use the native - ::inet_aton (). Thanks to Wei for pointing this out. - - * ace/OS.cpp (gethostby{addr,name}): on VxWorks only, don't htonl - the input address because it already should be in network byte - order. Store the output address in network byte order. Thanks - to Wei for noticing this error. - - * include/makeinclude/wrapper_macros.GNU: add -DACE_PURIFY to - CFLAGS if purify make flag is set, and -DACE_QUANTIFY if - quantify is set. Thanks to Chris Cleeland for this suggestion. - - * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): reordered - initializers to match declaration order. - - * etc/purify.solaris2: added suppression of pthread_setcanceltype - BSW. - -Tue Nov 18 00:11:26 1997 Douglas C. Schmidt - - * ACE version 4.3.50, released Tue Nov 18 00:11:26 1997. - -Mon Nov 17 22:35:22 1997 Douglas C. Schmidt - - * examples/Shared_Malloc/test_malloc.cpp: Added some additional - calls to Malloc::instance ()->remove () to cleanup all the - semaphore locks. Thanks to Tom Arbuckle - for reporting this. - - * ace/Memory_Pool.cpp (init_acquire): Fixed a problem caused by - failing to initialize the minimum_bytes_ field in the - ACE_Shared_Memory_Pool class. Thanks to Tom Arbuckle - for reporting this. - - * examples/Shared_Malloc/test_malloc.cpp: Updated the Shared - Malloc test program to use the Singleton Thread Manager. - -Mon Nov 17 18:09:06 1997 - - * All eight different configurations of ACE passed all tests on - our Alpha/NT. - -Mon Nov 17 15:37:52 1997 David L. Levine - - * ace/INET_Addr.cpp (get_host_name): on VxWorks only, moved - ::hostGetByAddr code block to _after_ the check for the - address being INADDR_ANY. Without that check, get_host_name () - never returns the caller's own hostname. - - * netsvcs/lib/Makefile: the first line of the Local Target - (Server_Logging_Handler.*) override mysteriously disappeared. - -Mon Nov 17 02:09:57 1997 Douglas C. Schmidt - - * ACE version 4.3.49, released Mon Nov 17 02:09:57 1997. - -Mon Nov 17 02:03:21 1997 Douglas C. Schmidt - - * ace/IOStream_T.cpp: Added a few more fixes for KCC C++ and its - standard C++ library support. - -Mon Nov 17 01:34:34 1997 - - * netsvcs/servers/main.cpp (main): Removed daemon and changed to - use the singleton service configurator. Thanks to John Mulhern - and Stephen Coy for tracing this down and Irfan for coming out - with the fix. - -Sun Nov 16 21:58:51 1997 Darrell Brunsch - - * tests/*.dsp, ace/*.dsp: Added Release, Unicode Debug, and - Unicode Release versions for each of the tests. - - Also found out that precompiled headers take up insane - amounts of disk space when used with ACE and also slows - the compilation down. I turned it off for the tests and - for the ace libraries - -Sun Nov 16 13:34:29 1997 Douglas C. Schmidt - - * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): - Changed the line - - status = con.complete (sock); - - to - - if (sock.get_handle () != ACE_INVALID_HANDLE) - status = con.complete (sock); - - The change worksaround a core dump due the the following - conditions: - - - the find_another_host function in SOCK_Connector_Test comes - up with the entry for an NT machine. - - - the ACE_OS::connect call at line 64 of SOCK_Connector.cpp - "successfully" fails returning -1 but in this case - errno is set to ECONNREFUSED. - - - Since errno is not EINPROGRESS or EWOULDBLOCK the - ACE_SOCK_Stream 'new_stream' close member function is called - which, besides closing the "handle", also sets it to - ACE_INVALID_HANDLE. - - - Since the errno was ECONNREFUSED the 'if' test at line 97 of - SOCK_Connector_Test.cpp is true and the next statement - - status = con.complete (sock); - - is called causing a core dump since sock.get_handle() is - ACE_INVALID_HANDLE (-1 on Solaris). - - Thanks to Jack Erickson for reporting this. - - * ace/OS: Cast away the constness of the parameters to _tempnam() - for Borland C++. Thanks to Valik Solrzano Barboza - for this. - - * ace/config-unixware-2.1.2-g++.h: Changed - ACE_HAS_OSF1_GETTIMEOFDAY to ACE_HAS_SVR4_GETTIMEOFDAY. Thanks - to John Connett for reporting this. - - * ace/SPIPE_Addr.cpp (set): Fixed a problem where we were - potentially writing into character constants. Thanks to Darrell - Brunsch for finding this. - - * ace/Get_Opt.cpp (operator): We need to make sure that all uses - of ACE_OS::strchr() are consistent with respect to const - correctness. Thanks to Darrell Brunsch for finding this. - - * ace/config-win32-common.h: Added a few minor changes for Borland - C++. Thanks to Valik Solrzano Barboza for - this. - - * ace/Log_Record.cpp (print): Changed the formal parameter from - "const char host_name[]" to "const char *hostname" so that we - can assign this in the function if necessary. Thanks to Valik - Solrzano Barboza for this. - - * ace/OS.cpp: Moved the constructor for ACE_Cleanup_Info into the - OS.cpp since it doesn't really need to be inline. - - * ace/WFMO_Reactor.cpp (notify): Replaced a "sizeof - ACE_Notification_Buffer" with "sizeof - (ACE_Notification_Buffer)". It's odd that the first approach - (which is incorrect) isn't flagged by MSVC++... Thanks to Valik - Solrzano Barboza for this. - - * ace/OS.i (sema_init): Added an ACE_ALLOCATOR_RETURN in the - appropriate spot. - - * ace/ACE.cpp: Moved the implementation of strsplit_r() into the - ACE.cpp file since it's rather long... - - * ace/OS: To be more conformant to the standard C++ library, - I've added a pair of methods for strstr(), strchr(), strrchr(), - etc. e.g., the function signature strstr(const char*, const - char*) is replaced by the two declarations: - - const char *strstr (const char* s1, const char* s2); - char *strstr (char* s1, const char* s2);" - - Thanks to Valik Solrzano Barboza for this. - - * ace: Added "ace.idl", which is a config file for Borland C++ - 5.x. Thanks to Valik Solrzano Barboza for - this. - - * include/makeinclude/platform_linux_kcc.GNU (SOFLAGS): Improved - this file a bit to work better with NULL pointers. Thanks to - Ben Eng for reporting this. - - * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp (main): - Changed allocator to alloc to avoid conflicts with STL. Thanks - to Ben Eng for reporting this. - - * ace/config-linux-kcc.h: Added some fixes for the KCC compiler. - Thanks to Ben Eng for reporting this. - - * ace/IOStream: Added fixes for the standard C++ library. Thanks - to Ben Eng for reporting this. - -Sat Nov 15 17:31:58 1997 Douglas C. Schmidt - - * Ran "make depend" on all of ACE. - -Sat Nov 15 15:55:52 1997 Steve Huston - - * tests/Priority_Reactor_Test.cpp: Removed the writer->peer().close() - call from client() that I added yesterday. ACE_Svc_Handler::destroy - will end up doing the close - thanks to Irfan for pointing this out. - -Sat Nov 15 01:31:58 1997 Douglas C. Schmidt - - * ACE version 4.3.48, released Sat Nov 15 01:31:58 1997. - -Fri Nov 14 23:36:12 1997 Chris Cleeland - - * ace/{OS,ACE}.{h,i} (strsplit_r): Moved strsplit_r from ACE_OS to - ACE, which is where it should go. - - * ace/ACE.cpp (ldfind): Changed uses of strsplit_r to be scoped - under ACE rather than ACE_OS. - -Fri Nov 14 22:57:04 1997 David L. Levine - - * ace/config-vxworks*.h: added ACE_LACKS_NETDB_REENTRANT_FUNCTIONS. - This is necessary for the gethostby{addr,name}_r support added - yesterday. - -Fri Nov 14 18:42:23 1997 Steve Huston - - * tests/Priority_Reactor_Test.cpp: Fixed client to close its socket - before exiting from the thread/process. - -Fri Nov 14 17:41:40 1997 Douglas C. Schmidt - - * ace/OS.i: Fixed some typos in strsplit_r(). - - * ace/OS.h: Moved the ACE_ALLOCATOR* stuff from Malloc_T.h to - OS.h, which is where it belongs. - - * examples/Reactor/Dgram: Reformatted some of the example - code to make it more readable. - -Fri Nov 14 17:08:00 1997 Chris Cleeland - - * ace/OS.i (strsplit_r): Added fixes so that this properly returns - the last piece. Thanks to Scott Herscher for - submitting this! Also beefed up the comments. - - * ace/OS.h: Added definitions to work around VxWorks' lack of - proper ANSI C/C++ prototypes for the functions found in - . The definitions were taken from Solaris 2.5.1, but - appear to work just fine. For now this is only in effect when - compiling with the Green Hills (ghs) environment, but it should - probably be used for others (such as g++) as well. - -Fri Nov 14 01:10:33 1997 Douglas C. Schmidt - - * ACE version 4.3.47, released Fri Nov 14 01:10:33 1997. - -Fri Nov 14 00:14:21 1997 David L. Levine - - * ace/OS.* (gethostbyaddr_r,gethostbyname_r): added VxWorks - support. - -Thu Nov 13 20:29:18 1997 Douglas C. Schmidt - - * ACE version 4.3.46, released Thu Nov 13 20:29:18 1997. - -Thu Nov 13 19:11:36 1997 Douglas C. Schmidt - - * ace/config-sunos5.4.*: Solaris 2.4 doesn't support the ualarm() - call unless you use the (broken) /usr/ucb/cc compiler. Here's a - patch for $ACE_ROOT/ace/config-sunos5.4-sunc++-4.x.h to fix the - problem. Thanks to Caleb Epstein - for reporting this. - -Thu Nov 13 19:25:50 1997 Carlos O'Ryan - - * include/makeinclude/platform_irix6.x-sgic++.GNU: - Updated comment on when should the user disable the use of - -lpthread - -Thu Nov 13 18:18:16 1997 Steve Huston - - * ace/Containers.h, Containers.cpp, Hash_Map_Manager.cpp, Malloc_T.h: - Removed the conditional code for the macro - ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR. The workaround for - this compiler bug is to remove "this->" from the object pointer - used in the ACE_DES_FREE_TEMPLATE macro invocation. This compiler - bug is HP case SR5003396259 for future reference. - - * ace/config-hpux-10.x-hpc++.h: Added ACE_HAS_ANSI_CASTS; removed - ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR (both for aC++ only). - - * ace/README: Removed ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR, as - it is no longer used. - -Thu Nov 13 16:51:40 1997 - - * ace/OS.h: Added two new macros ACE_FACTORY_DECLARE and - ACE_FACTORY_DEFINE. Changed definitions of - ACE_SVC_FACTORY_DECLARE AND ACE_SVC_FACTORY_DEFINE to use these - two macros. Refer to changes of the ACE_Export related macros - below, you can now declare/define your service factories as, - - ACE_FACTORY_DECLARE (FOOBAR, fac_class); - ACE_FACTORY_DEFINE (FOOBAR, fac_class); - - This will ensure they get define properly and proper decoration - will be added. - -Thu Nov 13 16:52:31 1997 Nanbor Wang - - * ace/Thread_Manager.cpp: Removed all ! defined - (ACE_HAS_FSU_PTHREAD). Thanks to ARTURO MONTES - for reporting this. - - * ace/config-gcc-2.7.2.h: Added ACE_HAS_TEMPLATE_SPECIALIZATION. - Thanks to ARTURO MONTES for reporting - this. - - * ace/config-fsu-pthread.h: added ACE_LACKS_THREAD_PROCESS_SCOPING. - Thanks to ARTURO MONTES for reporting - this. - - * ace/OS.h: Separate definition of proper export flag for - platforms from setting these flags for building/not building - DLL. I keep ACE_Export and ACE_Svc_Export to remain backward - compatibality but now, they are defined using the new "common" - definition. This changes is made in hope that it will simplify - codes generated by TAO_IDL compiler. - - Several new directives are added to these file. These common - directives will be set to proper values (macros) according to - the platform we use. They are: - - ACE_Proper_Export_Flag - ACE_Proper_Import_Flag - ACE_EXPORT_SINGLETON_DECLATATION(T) - ACE_IMPORT_SINGLETON_DECLARATION(T) - ACE_PROPER_SINGLETON_INSTANTIATION(T) - - I use them to define ACE_Export and ACE_Svc_Export. I hope it - is easier to define your own export decoration flag now. Here - is an example. Say you want to define an export flag for your - DLL file : foobar.dll. First, you need to add the following to - a common header file: - - // Here are definition for FOO_BAR library. - #if defined (FOOBAR_HAS_DLL) && (FOOBAR_HAS_DLL == 1) - # if defined (FOOBAR_BUILD_DLL) - # define FOOBAR_Export ACE_Proper_Export_Flag - # define FOOBAR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) - # define FOOBAR_SINGLETON_INSTANTIATION(T) ACE_PROPER_SINGLETON_INSTANTIATION (T) - # else - # define FOOBAR_Export ACE_Proper_Import_Flag - # define FOOBAR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) - # define FOOBAR_SINGLETON_INSTANTIATION(T) - # endif /* FOOBAR_BUILD_DLL */ - #else /* ! FOOBAR_HAS_DLL */ - # define FOOBAR_Export - # define FOOBAR_SINGLETON_DECLARATION(T) - # define FOOBAR_SINGLETON_INSTANTIATION(T) - #endif /* FOOBAR_HAS_DLL */ - - Be sure to include "ace/OS.h" before these definitions so that - the macros they use will be properly initialized. After you've - done this, on Win32, define "FOOBAR_HAS_DLL=1" if you want to - build DLL, define it as "FOOBAR_HAS_DLL=0" if you want to build - static library. In your library project file, you must define - the directives FOOBAR_BUILD_DLL and decorate classes/objects you - want to export with FOOBAR_Export so that they can be declared - automatically according whether you are building/linking with - static library or dynamic library. - -Thu Nov 13 05:47:42 1997 David L. Levine - - * ace/Thread_Manager.cpp: added ACE_TSS_Singleton instantiation, for the recent Svc_Handler - change. - - * ace/Object_Manager.h (default_mask): moved out of ACE_MT_SAFE - protection. - - * ace/OS.{h,i},config-vxworks-ghs-1.8.h,README (strlen,strcpy): - protect declarations of wchar versions with - ACE_HAS_WCHAR_TYPEDEFS_CHAR. GreenHills typedefs wchar to char. - - * ace/Singleton.cpp: register ACE_TSS_Singletons for cleanup with - Object_Manager. - - * ace/OS.{i,cpp} (gethostbyaddr): added VxWorks support. - -Thu Nov 13 02:06:58 1997 Chris Cleeland - - * ace/Signal.i: Changed to use new Object Manager member. - - * ace/Object_Manager.cpp: Added a new member to the Object - Manager--default_mask. This is the default signal mask employed - by ACE_Sig_Set. Moving the object into the OM saves cycles b/c we - only construct it once and just re-use every time. - - * ace/Handle_Set.cpp: Added two new macros--ACE_DIV_BY_WORDSIZE and - ACE_MULT_BY_WORDSIZE--which either divide or multiply the argument - by ACE_Handle_Set::WORDSIZE. The manner in which this is - accomplished is governed by the #define - ACE_USE_SHIFT_FOR_EFFICIENCY--when defined, ACE tries to use - shifts to implement multiplication and division rather than actual - multiply and divide operations. Currently this is disabled. - -Wed Nov 12 19:13:05 1997 - - * ace/Svc_Handler: Changed hand written tss singleton to - ACE_TSS_Singleton. Lot of (unnecessary) code disappeared. - Thanks to David Levine for suggesting this. - - * ace/Object_Manager: Removed ACE_SVC_HANDLER_LOCK. - -Wed Nov 12 16:29:15 1997 Sumedh Mungee - - * platform_netbsd.GNU: added /usr/lib/c++rtO.o to SOBUILD to - insure that static objects' ctors are called. - -Wed Nov 12 00:20:38 1997 David L. Levine - - * ace/OS.{i,cpp} (inet_ntoa): use VxWorks' native inet_ntoa. It's - not documented but it works. - - * ace/OS.cpp (gethostbyname): on VxWorks, load static first_addr on - every call, not just the first. - - * include/makeinclude/rules.local.GNU: removed extra "fi" in - install operation. - - * include/makeinclude/platform_sunos5_sunc++.GNU: removed +w from - CFLAGS because it generates too many spurious warnings. - - * ace/TTY_IO.cpp (control): commented out unused local variable - c_line. Thanks to Amos Shapira for - reporting this. - - * ace/OS.{h,i} (hostname): added Chorus support. Thanks to Wei - for the patches. - -Tue Nov 11 23:44:17 1997 Douglas C. Schmidt - - * ACE version 4.3.45, released Tue Nov 11 23:44:17 1997. - -Tue Nov 11 21:26:36 1997 Douglas C. Schmidt - - * platform_sunos5_sunc++.GNU, platform_irix6.x-sgic++.GNU, rules.local.GNU: - Added some minor fixes. - -Tue Nov 11 20:18:27 1997 Douglas C. Schmidt - - * Makefile: Added the tests and netsvcs directory to - RELEASE_LIB_FILES since this is pretty important to determine - whether ACE works. Thanks to Chuck Gehr and Steve Coy for this - suggestion. - - * tests/UNIXclerk.conf: Changed "merengue" to "localhost." - Thanks to Steve Coy for this suggestion. - - * ace/config-lynxos.h (getopt): Missing 't' from const => see - getopt prototype parameter list. Thanks to Manojkumar Acharya - . - -Tue Nov 11 08:09:16 1997 David L. Levine - - * ace/OS.cpp (inet_aton): declare local ip_addr as an ACE_UINT32 - instead of a long. Real programmers have 64-bit longs. - - * ace/INET_Addr.cpp (get_host_name): added ACE_UNUSED_ARG (len); - for VxWorks only. - -Tue Nov 11 13:19:46 1997 Torbjorn Lindgren - - * include/makeinclude/rules.local.GNU: Fixed so that the ACE - makefiles doesn't create circular symlinks (happens if - something fails when building libACE.* with "make -k", or when - doing parallel builds). It's now possible to do parallel - builds of libACE.* without having to clean up a mess afterwards. - - * include/makeinclude/platform_irix6.x-sgic++.GNU: Removed - .so build with links instead (ace/apps/examples/tests and my own - programs all work well with this, and the manual seems to suggest - that it hasn't ever been necessary on this platform) - - * ace/config-irix6.x-sgic++-nothreads.h: Added - ACE_HAS_XPG4_MULTIBYTE_CHAR for SGI IRIX 6.[2-5]. - -Tue Nov 11 04:50:06 1997 Nanbor Wang - - * examples/Reactor/Multicast/server.cpp (handle_timeout): Fixed a - typo. Thanks to Sandro Doro for - reporting this. - -Tue Nov 11 04:20:09 1997 Douglas C. Schmidt - - * ACE version 4.3.44, released Tue Nov 11 04:20:09 1997. - -Tue Nov 11 01:44:39 1997 - - * examples/Naming/test_open.cpp (main): Added a new naming test - that binds to the net_local server and tries to bind entries to - it. - - * netsvcs/lib/Name_Handler.cpp: Added a new class called - Naming_Context. This helper class adds the correct default - constructor to the ACE_Naming_Context class so that we can use - it in ACE_Singleton. - - Previously, each Name_Handler was getting its own - Naming_Context. This is obviously incorrect as the mapping - address in already occupied by the first Name_Handler. - Therefore, the Naming_Context was changed into a Singleton - accessable by all Name_Handlers. - - * ace/WFMO_Reactor.cpp (handle_additions && handle_deletions): - Changed code to make sure that we should not make the upcall - until all the internal data structures have been updated. This - is to protect against upcalls that try to deregister again. - -Tue Nov 11 01:28:50 1997 Douglas C. Schmidt - - * ACE version 4.3.43, released Tue Nov 11 01:28:50 1997. - -Mon Nov 10 21:30:04 1997 Aniruddha Gokhale - - * INET_Addr.cpp: In the ACE_INET_Addr::get_host_name (char - hostname[], size_t len) method, an unnecessary local variable - called "name" was being used and the actual parameter "hostname" - was never getting updated. The local variable is now removed and - we use the actual parameter everywhere. - -Mon Nov 10 20:44:43 1997 James C Hu - - * etc/ACE-guidelines.html: Added a section for ACE Design Rules, - and added a design rule about sentinels. - -Mon Nov 10 18:11:05 1997 Sumedh Mungee - - * ace/Singleton.h (ACE_TSS_Singleton): Changed ACE_TSS to - ACE_TSS_TYPE (TYPE), so that the ACE_TSS_TYPE macro (defined in - OS.h) gets used. (Irfan's suggestion.) - -Mon Nov 10 17:02:40 1997 Douglas C. Schmidt - - * ace/OS.h: Reformatted the #ifdef structure of the - ACE_HAS_XPG4_MULTIBYTE_CHAR to conform to ACE usage. - - * ace/Service_Repository.cpp: The close() method needed a '\n' in - one of the debug messages. Thanks to Steve Coy for reporting - this. - -Mon Nov 10 14:09:24 1997 Steve Huston - - * ace/OS.h, OS.i, README: Added new macro, ACE_HAS_XPG4_MULTIBYTE_CHAR - for platforms which supply wchar.h and wide character functions. - Added the use if it in OS.h, and use the functions in OS.i, - strlen and strcpy with wchar_t arguments. - - * ace/config-hpux-10.x.h, config-aix-4.2.x.h, config-mvs.h, - config-sunos5.5-sunc++-4.x.h: Added ACE_HAS_XPG4_MULTIBYTE_CHAR. - -Mon Nov 10 13:33:02 1997 - - * ace/OS.h (ACE_WRITE_GUARD): Added macros for ACE_WRITE_GUARD and - ACE_READ_GUARD. Thanks to Brian Raven - for suggesting this. - - * tests/Thread_Mutex_Test.cpp: Modified version of Mutex_Test that - exclusively works on a Thread_Mutex. - - * tests/Mutex_Test.cpp: Removed this test. It have been - superseded by Thread_Mutex_Test and Process_Mutex_Test. - - * ace/OS.i (thread_mutex_trylock): Fixed the return value and - errno for this system call such that it is consistent with other - trylock calls. - -Mon Nov 10 10:21:55 1997 David L. Levine - - * ace/INET_Addr.cpp: updated gethostbyname/addr support for - Chorus. Thanks to Wei Chiang for - the patches for this fix. - - * ace/config-chorus.h: disabled ACE_LACKS_SOCKETPAIR. Thanks - to Wei for this fix, also. - - * tests/Thread_Mutex_Test.cpp (test): don't compile this function - if ACE_HAS_THREADS is not defined. - - * tests/IOStream_Test.cpp (main): removed extra % at end of - ACE_ERROR_RETURN message. - - * etc/ace_ld,include/makeinclude/platform_vxworks5.x_g++.GNU: - added ace_ld, a drop-in replacement for ld that supports munching. - We need to munch for VxWorks/g++. - - * ACE-INSTALL.html: updated VxWorks info to mention requirement - for perl with VxWorks/g++. And, LD_LIBRARY_PATH must be set - to find the ACE libraries on the host if using TAO. - -Sun Nov 09 23:29:43 1997 Douglas C. Schmidt - - * ACE version 4.3.42, released Sun Nov 09 23:29:43 1997. - -Sun Nov 09 22:18:30 1997 - - * ace/config-win32-common.h (ACE_HAS_ANSI_CASTS): VC++ compilers - support ANSI style casts. - - * ace/OS.h (ACE_static_cast): Added ANSI style cast macros to ACE. - Thanks to Stephen Coy for suggesting this. - -Sun Nov 9 21:34:16 1997 Douglas C. Schmidt - - * ace/OS: Enhanced ACE_OS so that it *always* defines - implementations for the wchar_t versions of strlen() and - strcpy(), even if the platform doesn't explicitly support - UNICODE. This is necessary since TAO needs these functions. - - * ace/OS.h: Added a typedef for wchar_t to handle the case where - the OS doesn't support UNICODE. - - * ace/ACE.cpp: Added hex character routines from TAO since they - are generally useful. - - * ace/OS.h: Moved the TAO-specific #defines into TAO, where they - belong. Thanks to David Levine and Chris Cleeland for insisting - on this... - -Sun Nov 09 17:55:50 1997 - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp (open): - Removed codes that reset a socket's non-blocking flag. This has - been taken care of by ACE_Acceptor::activate_svc_handler now and - resetting this flag twice on NT caused us grief. Thanks to - Georges Ata for reporting - the bug. - - * ace/ACE.i (hex2byte,nibble2hex): Replaced ACE_INLINE to inline - for these two functions. Functions in this file are always - inlined. - - * ace/config-win32-common.h (ACE_LACKS_RLIMIT): Added this flags - so we don't need to treat ACE_WIN32 specially. - - * ace/OS.i (getrlimit,setrlimit): Removed unnecessary conditional - flag ACE_WIN32. - - * ace/Thread_Manager.cpp (wait): Merged the two blocks within this - function so that we can avoid relase/acquire lock - unnecessarily. Thanks to Doug for his careful scrutiny. - -Sun Nov 09 09:27:24 1997 David L. Levine - - * ace/Thread_manager.cpp (wait): removed unused local, - threads_waited_on. - -Sat Nov 08 23:20:50 1997 Douglas C. Schmidt - - * ACE version 4.3.41, released Sat Nov 08 23:20:50 1997. - -Sat Nov 8 15:46:30 1997 Douglas C. Schmidt - - * ace/INET_Addr.cpp: Enhanced the get_host_name() functions so - that if the sin_addr.s_addr == INADDR_ANY we assume that we're a - server, and we return our "hostname". - - * Added a number of minor fixes for UNIXWARE with G++. Thanks to - Michael Rueger for reporting these. - - * ace/Thread_Manager.h: Both Irix5 and VxWorks have problems with - local typedefs with GCC. Thanks to Laura Paterno - for reporting this. - - * ace/Timer_Queue_Adapters.cpp: Changed some errant uses of lock_ - to mutex_. Thanks to David Levine for reporting this. - - * ace/ACE.cpp: set_handle_limit() was buggy because it never - increased the handle limit. With this change we do not need - special code in ACE_Select_Reactor with ACE_LACKS_RLIMIT because - this is managed in ACE::set_handle_limit. Thanks to Arturo for - this fix. - - * ace/Select_Reactor.cpp (open): We no longer need to - conditionally compile for ACE::set_handle_limit(). Thanks to - Arturo for this fix. - -Fri Nov 7 18:53:13 1997 Sumedh Mungee - - * ace/config-netbsd.h: Added file for NetBSD 1.2G. - - * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): - Added ECONNREFUSED as a "valid failure", alongwith EWOULDBLOCK. - - * ace/OS.i (msync): msync on NetBSD takes only two parameters as - opposed to the usual three. (It doesnt have the "flags" - parameter.) The ACE_HAS_BROKEN_NETBSD_MSYNC flag works around - that. - -Fri Nov 7 16:04:35 1997 Douglas C. Schmidt - - * ace/Thread_Manager.cpp: Added a missing '>' for one of the - template specializations. Thanks to Torbjorn Lindgren - for reporting this. - - * ace/OS.cpp: ACE_OS::ACE_OS is defined in OS.cpp, which causes - the compiler to complain about multiple definitions. Other - ACE_CLASS_IS_NAMESPACE doesn't have constructors, which is why - they work. Thanks to Torbjorn Lindgren for - reporting this. - -Fri Nov 07 15:14:51 1997 David L. Levine - - * examples/Threads/tss1.cpp: replaced ACE_SYNCH_1 and _2 with - _DECL and _USE. - - * ace/config-linux{,-common}.h: created config-linux-common.h - and moved alpha-specific defines to it. - - * ace/FILE_Addr.cpp (set): explicitly declare int return type. - - * performance-tests/Misc/preempt.cpp (get_options): DEC CXX didn't - like conversion of -1 to u_int, so changed return type to int and - all ACE_ERROR_RETURNs to return -1. - -Fri Nov 07 10:05:12 1997 Douglas C. Schmidt - - * ACE version 4.3.40, released Fri Nov 07 10:05:12 1997. - -Fri Nov 7 09:58:09 1997 Douglas C. Schmidt - - * ace/Connector.cpp (fini): Added a call to - ACE_Map_Manager::close() in fini() since the destructor may not - be called. Thanks to Eric C. Newton for - reporting this. - - * ace/{FILE,SPIPE}_Addr.cpp (set): Added a return value. Thanks - to Marios Zikos for reporting this. - -Fri Nov 07 02:45:55 1997 Douglas C. Schmidt - - * ACE version 4.3.39, released Fri Nov 07 02:45:55 1997. - -Fri Nov 7 01:06:08 1997 Douglas C. Schmidt - - * ace/Message_Queue: Added a new method called deactivated(), - which returns true if the queue has been deactivated. Thanks to - Wei Chiang for reporting this. - - * ace/{config-chorus.h,OS.cpp}: Added a new macro called - ACE_CHORUS_DEFAULT_MIN_STACK_SIZE. Thanks to Wei Chiang - for reporting this. - - * ace/DEV_Addr.cpp, - ace/FILE_Addr.cpp, - ace/SPIPE_Addr.cpp, - ace/INET_Addr.cpp, - ace/UNIX_Addr.cpp: Fixed the set(const Foo &) method so that - it correctly detects cases where we're passed in a - ACE_Addr::sap_any. This is a total hack... - - * ace/{OS.h,Addr.cpp}: Added a new AF_ANY flag, which is set to -1. - -Thu Nov 6 23:05:14 1997 Douglas C. Schmidt - - * Changed the obtusely named ACE_SYNCH_1 and ACE_SYNCH_2 macros to - ACE_SYNCH_DECL and ACE_SYNCH_USE, respectively. Thanks to Mike - Kamrad for suggesting this. - - * ace/Select_Reactor.cpp, ace/ACE.cpp: Broaded the comparison so - that we only try to use {set|get}rlimit() if ACE_LACKS_RLIMIT is - *false*. Thanks to Arturo Montes for - reporting this. - - * ace/Object_Manager: Added support for - get_singleton_lock(ACE_Mutex *). Thanks to Arturo Montes - for reporting this. - - * ace/Connector.cpp: If connect_n() fails make sure to return -1. - Thanks to Stephen Coy for pointing out the - problem. - - * ace/config-sco-5.0.0.h: Removed the ACE_LACKS_RLIMIT flag. - Thanks to Arturo Montes for reporting - this. - - * tests: Changed all uses of "localhost" to - ACE_DEFAULT_SERVER_HOST. This solves some problems with MVS. - Thanks to Chuck Gehr for reporting - this. - - * examples/Timer_Queue: Changed COMMAND to CMD so it won't - conflict with the HP/YUX compiler. Thanks to Sandro Doro - for reporting this. - -Thu Nov 06 22:13:01 1997 - - * examples/Connection/blocking/SPIPE-connector.cpp (init): Fixed - odd looking typecast. - - * ace: Changed the comparison &local_sap == &ACE_Addr::sap_any to - local_sap == ACE_Addr::sap_any. Thanks to Steve Coy - for pointing out that the default - parameter const ACE_Addr &local_sap = ACE_Addr::sap_any will - cause a copy of sap_any to be made and passed to the method, - invalidating the memory address comparison. - - The following files were effected: - - Asynch_Acceptor.cpp - SOCK_Acceptor.cpp - SOCK_CODgram.cpp - SOCK_Dgram.cpp - TLI_Acceptor.cpp - TLI_Connector.cpp - - * ace/Addr.cpp: Made sure that the type and size of - ACE_Addr::sap_any does not match the type and size of any other - Addr type. This is necessary for local_addr==ACE_Addr::sap_any - to return 0 when local_addr is anything other than - ACE_Addr::sap_any. - - * ace/Synch_T.h: Fixed all the ACE_SYNCH_* defines. Thanks to - Matthias Kerkhoff for pointing the - problems. - -Thu Nov 06 18:30:42 1997 Steve Huston - - * ace/Addr.(h i), DEV_Addr.(h i), FILE_Addr.(h i), INET_Addr.(h - cpp), SPIPE_Addr.(h i), UNIX_Addr.(h i): Changed the operators - == and != to be non-virtual, and to accept the 'sap' argument as - its own type (not ACE_Addr for all of them). The - implementations of the operators compare type-specific data - without having to check the inherited type member. Thanks to - Steve Coy and Irfan and Nanbor for a huge - amount of work on these changes. *** NOTE - there is still some - SOCK_Connector problems related to these changes on HP-UX. The - hunt continues. - - * ace/Connector.cpp (connect_n): return -1 if any of the connect - attempts fail. - - * tests/Reactor_Performance_Test.cpp: Don't crash if any of the - client's connect attempts fail. - - * ace/Reactor.h: Added #include "ace/Handle_Set.h" - AIX needs the - class definition when generating templates in programs. - - * tests/Map_Manager_Test.cpp: Don't even try if the compiler doesn't - have template specialization working correctly. - - * tests/Priority_Reactor_Test.h: Added #include "ace/SOCK_Stream.h" - so AIX could generate template code correctly. - - * tests/Reactor_Performance_Test.cpp: Moved class definitions out to - Reactor_Performance_Test.h (new file) to allow AIX to generate - templates. - - * tests/SOCK_Connector_Test.cpp: Added a couple more checks to make - sure the local host is not the test target, and changed from using - port 4242 to 42000 (there is actually a program on AIX which listens - at port 4242). - - * tests/Thread_Manager_Test.cpp: Moved a class definition out to - Thread_Manager_Test.h (new file) to allow AIX to use it in template - generation. - - * tests/Timer_Queue_Test.cpp: Limit the number of iterations to 2000. - -Thu Nov 6 16:51:36 1997 Sumedh Mungee - - * tests/SOCK_Connector_Test.cpp (find_another_host): Added - ACE_NETBSD to the #if define around gethostent. - -Thu Nov 06 00:08:01 1997 Douglas C. Schmidt - - * ACE version 4.3.38, released Thu Nov 06 00:08:01 1997. - -Wed Nov 5 21:32:36 1997 Douglas C. Schmidt - - * ace/Service_Repository.cpp (close): Looking in the - Service_Repository while shutting it down does really bad - things. Some careful changes to the loop in - Service_Repository::close() fixed this. Thanks to Eric - C. Newton for reporting this. - - * Added new support for SCO UNIX with no threads. Thanks to - Arturo Montes for reporting this. - -Wed Nov 05 20:31:36 1997 - - * ace/Connector.cpp (close): Added an explicit close() method for - the Strategy_Connector. This closes down all Strategy_Connector - specific things and then calls close() on the base class. Also - modified the destructor to call this routine. - -Wed Nov 5 17:09:05 1997 Nanbor Wang - - * ace/OS.cpp (cleanup_tss): Rearranged how TSS'es get cleanup on - Win32. This was causing a tiny memory leak on NT. - -Wed Nov 5 15:03:31 1997 Nanbor Wang - - * ace/Thread_Manager.{h,cpp}: Changed the data type of - terminated_thr_queue_ back to - ACE_Unbounded_Queue. - -Wed Nov 05 14:16:27 1997 Steve Huston - - * ace/OS.i (mutex_trylock): Fixed code for ACE_HAS_DCE_DRAFT4_THREADS - (HP-UX) to process the returned status correctly. Thanks to - Robert Head for reporting this. - -Wed Nov 05 13:01:49 1997 David L. Levine - - * ace/ACE.cpp (daemonize): added ACE_UNUSED_ARG (close_all_handles) - if ACE_LACKS_FORK. - -Wed Nov 05 01:06:53 1997 Douglas C. Schmidt - - * ACE version 4.3.37, released Wed Nov 05 01:06:53 1997. - -Tue Nov 04 23:11:41 1997 - - * ace/Thread_Manager.h: Added an ACE_Unbounded_Queue to - collect threads that need to be removed. We can no longer - remove thread descriptors directly from because that - would clobber the integrity of the double-linked list. Changed - the data type of from - ACE_Unbounded_Queue to - ACE_Unbounded_Queue to reduce the codes - generated. - - * ace/Thread_Manager.cpp: Reordered several thread operations so they - won't remove thread descriptor directly while traversing the - . Removed #ifdef from template - instantiation section because now VxWorks needs it too. - - * ace/Container.{h,cpp}: Added more check on validities of passed in - node to ACE_Double_Linked_List::remove_element. Also changed - the function to reset a node's and to prevent - double removal of a node, which messes up the list structure. - - * ace/ace_{dll,lib}.dsp: Excluded Acceptor.cpp from make - explicitly. Moving this file to "template file folder" was not - enough. - -Tue Nov 4 18:03:51 1997 Douglas C. Schmidt - - * ace/config-sco*.h: Added #define ACE_DEFAULT_CLOSE_ALL_FILES 0 - to the SCO Unix config files. - - * ace/ACE.cpp: Added a new macro called - ACE_DEFAULT_CLOSE_ALL_FILES to workaround a bug with SCO Unix. - Thanks to Arturo Montes for reporting - this. - - * The ACE developer's drinking song: - - 100 little bugs in the code, - 100 bugs in the code, - fix one bug, compile it again, - 101 little bugs in the code. - 101 little bugs in the code..... - - Thanks to Steve Huston for appreciating the humor in this ;-). - - * ace/Containers.cpp (insert_head): Added some minor stylistic - fixes. - - * apps/Gateway/Gateway/Event_Channel.cpp (initiate_acceptor): - Changed - - if (ACE_Reactor::instance ()->register_handler - (&this->acceptor_, ACE_Event_Handler::ACCEPT_MASK) == -1) - - to: - - if (this->acceptor_.open(this->options ().acceptor_port_, - ACE_Reactor::instance (), this->options ().blocking_semantics_) == -1) - - Thanks to Ganesh Pai for reporting this. - - * apps/Gateway/Gateway/Gateway.cpp (parse_args): Changed - - ACE_Get_Opt get_opt (argc, argv, "abC:cdP:pq:t:vw:", 0); - - to: - - ACE_Get_Opt get_opt (argc, argv, "abC:cdP:p:q:t:vw:", 0); - - Thanks to Ganesh Pai for reporting this. - -Tue Nov 4 18:13:52 1997 Sergio Flores - - * examples/Timer_Queue/Async_Timer_Queue_Test.cpp (cancel): - Initialized act pointer variable to 0, which was causing - core dump in linux. In general, all pointers should be - initialized. This should have been warned by the compiler. - Thanks to Sandro Doro for - pointing this out. - -Tue Nov 4 11:14:35 1997 Nanbor Wang - - * ace/Containers.cpp: Fixed some stylistic ambiguities. - -Tue Nov 04 10:12:21 1997 David L. Levine - - * include/makeinclude/platform_hpux.GNU: added +a1 to CFLAGS - to select ANSI C, instead of the default K+R C. This is - required with the current ace/Object_Manager.cpp, because - it initialized autos using aggregates (via the - ACE_STATIC_SVC_DEFINE macro). Thanks to Neil B. Cohen - for helping to sort this out. - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: changed - another lock () to mutex (). - - * tests/run_tests.vxworks: added MT_SOCK_Test. - -Tue Nov 04 04:13:23 1997 Douglas C. Schmidt - - * ACE version 4.3.36, released Tue Nov 04 04:13:23 1997. - -Tue Nov 04 03:50:57 1997 - - * ace/Addr.i (operator == && operator !=): Comparison of - sap.addr_type_ should be with this->addr_type_ and not with 0. - -Mon Nov 3 23:18:33 1997 Sergio Flores - - * ace/Synch_T.cpp (dump): change the field lock_ to mutex_. - -Mon Nov 3 22:37:58 1997 Nanbor Wang - - * ace/Timer_Wheel_T.cpp: - * ace/Timer_List_T.cpp: - * ace/Timer_Hash_T.cpp: Changed the use of lock_ to mutex_. - - * ace/OS.cpp (cleanup_tss): Added TSS cleanup codes for Win32 when - non-main threads are exiting. Without them, Thread_Manager won't - cleanup its thread table correctly. - - * ace/SV_Semaphore_Complex.cpp (close): Changed to return 0 - only when this->key_ == -1 instead of <= -1. This was causing - semaphore leaks on Solaris. - - * ace/UNIX_Addr.i (operator ==): - * ace/SPIPE_Addr.i (operator ==): - * ace/FILE_Addr.i (operator ==): - * ace/DEV_Addr.i (operator ==): - * ace/INET_Addr.cpp (operator ==): Added checking for the same - Addr types for addresses under comparison. Thanks to Stephen - Coy for pointing out the problem. - -Mon Nov 03 18:32:42 1997 Carlos O'Ryan - - * ace/Proactor.cpp: - * ace/Timer_Queue_T.h: - * ace/Timer_Queue_T.cpp: - * ace/Timer_Heap_T.cpp: - * ace/Synch_T.h: - * ace/Synch_T.cpp: - * ace/Atomic_Op.i: - Changed the method name from lock() to mutex(), otherwise the - lame HP/C++ compiler gets completely confused. Also changed the - field from lock_ to mutex_ - -Mon Nov 3 17:15:17 1997 Steve Huston - - * ace/OS.h: Removed "class ace_dewarn_gplusplus;" from the - ACE_CLASS_IS_NAMESPACE macro. Produces warnings on AIX and - shouldn't be needed. - -Mon Nov 3 15:49:18 1997 Chris Cleeland - - * ace/Connector.cpp (connect): "Fixed" so that the service handler - pointer passed in by the caller doesn't change until the connect - completes without errors. - -Mon Nov 03 08:15:21 1997 David L. Levine - - * ace/Managed_Object.[hi] (get_preallocated_{object,array}): - inlined function definitions into the class header so that - it compiles on AIX 4.1 w/ xlC 3.01. Thanks to Bob Lyng - for reporting this problem, - at to Steve H. for testing the fix. - - * include/makeinclude/{platform_linux*.GNU,wrapper_macros.GNU}, - netsvcs/lib/Makefile: suppress -g when compiling ace/Timer_Hash.cpp - and netsvcs/lib/Server_Logging_Handler.cpp on Linux only. - (It really only needs to be suppressed on Linux/Alpha.) - - * apps/Gateway/Gateway: protect instantiation of - ACE_Svc_Handler - with ACE_HAS_THREADS. - - * ace/{Naming_Context.cpp,Service_Config.cpp,Object_Manager.cpp}: - moved ACE_Naming_Service and ACE_Service_Manager static service - objects to ACE_Object_Manager. - - With this change, the ACE library no longer has any static - objects that require destruction. - - * ace/Object_Manager.h: added documenation of - ACE_HAS_NONSTATIC_OBJECT_MANAGER config #define. - - * performance-tests/Misc/preempt.cpp: cleaned up cleanup so that - it compiles cleanly. - -Sun Nov 02 18:09:14 1997 Douglas C. Schmidt - - * ACE version 4.3.35, released Sun Nov 02 18:09:14 1997. - -Sun Nov 2 15:31:45 1997 Douglas C. Schmidt - - * ace/Select_Reactor.i (cancel_timer): Make sure that we don't try - to call cancel() through a NULL this->timer_queue_. Thanks to - Stephen Coy for reporting this. - - * ace/ACE.cpp (set_handle_limit): Fixed a subtle bug that occurs - if the OS doesn't like non-initialized rlimit structs. Thanks - to Stephen Coy for reporting this. - - * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp (main): - Renamed allocator to my_alloc to work around wonderful STL and - GCC problems... Thanks to Ben Eng for - reporting this. - - * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp: Removed - unused constant SHMSZ. Thanks to Ben Eng for - reporting this. - - * examples/Reactor/Misc/test_time_value.cpp (operator<<): Removed - the "dec" stream manipulator since it isn't portable. Thanks to - Ben Eng for reporting this. - - * performance-tests/Misc/preempt.cpp (main): Cleaned up this test - so it compiles on non-threaded platforms. Thanks to Ben Eng - for reporting this. - - * examples/Timer_Queue/main_*.cpp (main): std::auto_ptr does not - have an operator= that accepts a raw pointer. Therefore, we - must assign raw pointers to an auto_ptr via the constructor. - Thanks to Ben Eng for reporting this. - - * apps/Gateway/Gateway/Proxy_Handler.cpp: Make sure we distinguish - between ACE_NULL_SYNCH and ACE_MT_SYNCH since these will be - different on all platforms, whereas ACE_SYNCH will be the same - as ACE_NULL_SYNCH on platforms without threads. Thanks to Ben - Eng for reporting this. - - * ace: Removed lots of uses of NULL and replaced them with 0. - This works around bugs with lame C++ compilers that treat NULL - as (void *). Thanks to Ben Eng for reporting - this. - - * ace/Thread.i (spawn): Replaced "stack" with "thr_stack" to work - around bugs with lame C++ compilers and STL. Thanks to Evgeny - Beskrovny for reporting this. - -Sat Nov 1 11:55:05 1997 Douglas C. Schmidt - - * ace/config-irix5.3-g++.h, - ace/config-irix5.3-sgic++.h: Removed the ACE_HAS_SYS_SIGLIST - macro since it doesn't seem to be working. Thanks to Laura - Paterno for reporting this. - - * include/makeinclude/platform_chorus.GNU: Tidied up - platform_chorus.GNU a bit. Thanks to Wei Chiang - for this. - -Fri Oct 31 14:35:37 1997 David L. Levine - - * ace/OS.cpp (thr_create): on Chorus, double the stack size to - avoid bad problems. Thanks to Wei Chang - for diagnosting this. - - * ace/Hash_Map_Manager.cpp (unbind_i): set the int_id - reference argument instead of ignoring it. Thanks to - Wei Chang for providing the patch. - - * ace/OS.h,README: wrapped #include of dlfcn.h with - ACE_HAS_DLFCN_H_BROKEN_EXTERN_C to support RedHat 4.2 - Linux 2.0.30/Alpha. - - * ace/OS.i,README: added ACE_HAS_GETRUSAGE_PROTO support, for - platforms that have a getrusage () prototype that is - different from the one in OS.i. - - * ace/config-linux.h: added added some #defines to enable - builds on RedHat 4.2/Linux 2.0.30/Alpha. - - * include/makeinclude/platform-linux.GNU: added -pipe and - bumped optimization level up to -O3. - - * ace/Thread_Manager.cpp (wait_task): no-op if thr_list_ - size is 0. wait_task () can be called under that condition - (after Thread_Manager::wait () has returned) from an - ACE_Stream destructor, through ACE_Module::close () and - ACE_Task_Base.wait (). Without this change, wait_task () - allocated a copy_table array of size 0. Sun C++ leaked - that array, according to Purify. - - * ace/Service_Config.*,Object_Manager.cpp: moved static - ACE_Service_Config::signal_handler_ to Object_Manager. - - * include/makeinclude/rules.local.GNU (show_statics,show_uninit): - added $(TOOLENV) to allow specification of full path to nm. - Thanks to Wei Chiang for this suggestion. - - * include/makeinclude/platform_chorus.GNU: added trailing "/" - to TOOLENV definition, so that it can be empty when not used. - - * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU: - added documentation for ACE show_statics and show_uninit targets. - These are only supported with g++. - -Fri Oct 31 00:53:52 1997 - - * The following five changes were suggested by Stephen Coy - . Thanks Stephen. - - * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed friend - ace_dewarn_gplusplus to friend class ace_dewarn_gplusplus. - - * ace/Malloc_T.h: Move the #include files to just after the - declaration of the macros, otherwise Containers.cpp will be - #included before the definition of the various allocator macros - (such as ACE_ALLOCATOR_RETURN) have been seen (when - ACE_TEMPLATES_REQUIRE_SOURCE is defined). - - * ace/Hash_Map_Manager.cpp (close_i): Changed &table[i] to - &table_[i]. - - * ace/Containers.h: The ACE_Node destructor needs to be publicly - accessible in order to support the - ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR fix. Unfortunately, - making the template function - ACE_Destructor_Template_For_HPUX_aCC_Only a friend does not seem - to work (although it should). - - * ace/ACE.cpp (ldfind): Changed path_entry from char* to - const char*. - - * tests/Priority_Reactor_Test.cpp (main): Fixed auto_ptr usage. - Thanks to Jack Erickson (jack@pinion.com) for pointing this out. - - * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not - include the destructor. This causes undefined destructor - problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros - around the remain functions. - -Thu Oct 30 21:22:47 1997 David L. Levine - - * ace/Makefile: added auto Svc_Conf_[ly].cpp patches. - - * etc/Svc_Conf_[ly].cpp.diff,README: the ace/Svc_Conf_[ly].cpp - patches, and instructions for updating them. - -Thu Oct 30 19:54:50 1997 Douglas C. Schmidt - - * ACE version 4.3.34, released Thu Oct 30 19:54:50 1997. - -Thu Oct 30 17:49:56 1997 Douglas C. Schmidt - - * tests/Priority_Task_Test.cpp (main): Moved "int status" out of - the #if defined (ACE_HAS_THREADS) so that it will compile when - the platform *doesn't* have threads. - - * ace/Synch_T.i (ACE_TSS): Added a missing ':' that was causing - problems on platforms that lack threads. Thanks to Laura - Paterno for helping to track this - down. - - * ace/Signal.cpp (register_handler): Make sure not to use - SA_SIGINFO if we're running on LynxOS. At some point, we'll - want to generalize this, once enough OS platforms support POSIX - real-time signals. Thanks to Kirill.Rybaltchenko - for reporting this. - - * include/makeinclude/platform_chorus.GNU (CXX): Replaced - DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to - Wei Chiang for this. - - * ace/OS.cpp: It's not valid to set the NULL_key to anything other - than implicit initialization. In particular, if we set it to -1 - it breaks on pthreads systems... Thanks to Check Gehr for - reporting this. - - * ace/config-irix5.3*++.h: Added ACE_NEEDS_SYSTIME_H. Thanks to - Laura Paterno for reporting the - problem. - - * ace/OS.h: Moved the unistd.h files back down to where - they originally were defined since this was unnecessary. - - * include/makeinclude/platform_chorus.GNU (CXX): Replaced - DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to - Wei Chiang for this. - -Thu Oct 30 17:41:19 1997 James C Hu - - * ace/OS.h: Stray semi-colon removed from ACE_CLASS_IS_NAMESPACE - macro. - -Thu Oct 30 17:04:52 1997 - - * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not - include the destructor. This causes undefined destructor - problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros - around the remain functions. - -Thu Oct 30 10:50:21 1997 Chris Cleeland - - * ace/OS.h: Added new macro--ACE_CLASS_IS_NAMESPACE ()--to - designate that a class is being used as a pseudo-namespace. It - declares private CTOR, Copy CTOR, and DTOR, as well as a friend - declaration in order to de-warn on g++. Typical usage would be - something like: - - class FooBarNamespace - { - ACE_CLASS_IS_NAMESPACE (FooBarNamespace); - - public: - static ... - }; - - The ACE_OS class has been updated to use this. - - * ace/ACE.h: Updated class ACE to use the new - ACE_CLASS_IS_NAMESPACE (). - - * ace/OS.i (getopt): Changed ACE_LACKS_SOME_POSIX_PROTOTYPES back - to ACE_LACKS_POSIX_PROTOTYPES so that a clean build on Linux is - achievable now. - (msgsnd): Corrected errant spelling from - ACE_LACKS_POSIX_SOME_PROTOTYPES to - ACE_LACKS_SOME_POSIX_PROTOTYPES. - -Thu Oct 30 06:14:58 1997 David L. Levine - - * Makefile,ACE-INSTALL: removed ACE-INSTALL from CVS control. - It will only be created when a release is made in - /project/adaptive/ACE_wrappers, and not put under CVS control. - - * ace/Manager_Object.h: added ACE_INLINE specifier to - get_preallocated_object/array declarations. Thanks to - Torbjorn Lindgren for reporting this. - - * ace/Synch.cpp: removed duplicate - ACE_Write_Guard instantiation. Thanks to - Torbjorn Lindgren for reporting this. - - * tests/Conn_Test.cpp: fixed template instantiation pragmas. - Thanks to Torbjorn Lindgren , again. - - * tests/SPIPE_Test.cpp: replaced ACE_UNUSED_ARG of client and server - with conditional compilation of those functions. Thanks to - Torbjorn Lindgren for snagging this. - - * ace/OS.{h,cpp},Object_Manager.cpp (tss_open,tss_close): removed - tss_open () dynamic allocation option because it wasn't used. - Removed tss_close() because it was a no-op without tss_open () - dynamic allocation. - - * ace/OS.cpp (tss_open): On VxWorks, don't check for 0 tss_base (). - It's not always 0 on program startup, especially if a program - has been previously run by the shell directly, without spawning - a new task to run it. - - * ace/OS.*: added ACE_TSS_EMULATION support for non-scalar - ACE_thread_key_t. Thanks to Chuck Gehr - for motivating this. - - * ace/config-mvs.h: added ACE_HAS_NONSCALAR_THREAD_KEY_T. It - is only used with ACE_HAS_TSS_EMULATION, which currently is - not supported on MVS. - - * ace/OS.cpp (ACE_Thread_Adapter::invoke): cleaned up this function. - -Thu Oct 30 03:25:13 1997 Nanbor Wang - - * ace/Hash_Map_Manager.cpp (close_i): Can't use ACE_DES* - template. Have I been here before? - -Thu Oct 30 03:03:41 1997 Nanbor Wang - - * ace/Hash_Map_Manager.cpp (close_i): Changed to use ACE_DES* macros. - - * ace/OS.h: Moved ACE_Allocator related macros to Malloc_T.h - - * ace/Malloc_T.h: Moved ACE_Allocator related macros from OS.h. - Added two macros ACE_DES_NOFREE and ACE_DES_NOFREE_TEMPLATE to - call objects' destructors explicitly. This is required to - take care of some "broken" compilers. Thanks to Stephen Coy - for providing the fix for HP-UX aCC. - - * ace/README: - * ace/config-hpux-10.x-hpc++.h: Added flag - ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR. - -Thu Oct 30 02:56:25 1997 Douglas C. Schmidt - - * ACE version 4.3.33, released Thu Oct 30 02:56:25 1997. - -Thu Oct 30 01:03:21 1997 Douglas C. Schmidt - - * ace/LOCK_SOCK_Acceptor.cpp: Added a #include of "ace/Synch.h" so - that the Conn_Test.cpp will compile on HP/UX. Thanks to Stephen - Coy for reporting this. - -Wed Oct 29 22:55:15 1997 Nanbor Wang - - * ace/config-vxworks5.x-g++.h: - * ace/config-unixware-2.1.2-g++.h: - * ace/config-unixware-2.01-g++.h: - * ace/config-sunos5.5-g++.h: - * ace/config-sunos5.4-g++.h: - * ace/config-sunos4-g++.h: - * ace/config-osf1-4.0.h: - * ace/config-osf1-4.0-g++.h: - * ace/config-linux.h: - * ace/config-linux-pthread.h: - * ace/config-linux-lxpthreads.h: - * ace/config-irix6.x-g++.h: - * ace/config-irix5.3-g++.h: - * ace/config-hpux-10.x-g++.h: - * ace/config-gcc-2.7.2.h: - * ace/config-freebsd.h: - * ace/config-freebsd-pthread.h: - * ace/config-chorus.h: - * ace/config-aix-4.1.x.h: - * ace/README: Removed ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR. - It is no longer in use. - -Wed Oct 29 21:12:55 1997 Douglas C. Schmidt - - * ace/README: Added a new macro called ACE_LACKS_SOCKET_BUFSIZ, - which is enabled on VxWorks. - - * ace/OS.h: Added a new macro called - ACE_DEFAULT_MAX_SOCKET_BUFSIZ, which is set to 65536. - - * ace/OS: Changed the tolower() method to to_lower() so that it - won't conflict if there's a macro with the same name. - - * ace/OS.h: #include before ACE_Time_Value as long as - ACE_LACKS_UNISTD_H is false. Added this flag to the VxWorks and - Win32 config.h files. - - * ace/OS.h: Added a special #define for IRIX5, which seems to put - timeval in a strange file... Also, moved this #include to - *before* ACE_Time_Value. Thanks to Carlos O'Ryan for suggesting - this and to Laura Paterno for - reporting the problem in the first place. - - * ace: Changes all uses of the overly long - ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS to - ACE_LACKS_SOME_POSIX_PROTOTYPES. However, I'm not really sure - how this relates to the ACE_LACKS_POSIX_PROTOTYPES macro. I - suspect we probably only need one of these... - - * ace/OS.h: Added a new ACE_HAS_STDARG_THR_DEST to handle - weirdness with LynxOS. Thanks to Kirill.Rybaltchenko - for reporting this. - - * ace: OS.h,config-lynxos.h: Added a new ACE_LACKS_GETOPT_PROTO - for LynxOS. Thanks to Kirill.Rybaltchenko - for reporting this. - - * ace/config-lynxos.h: Replaced - ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS with - ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCTIONS. Thanks to - Kirill.Rybaltchenko for reporting - this. - -Wed Oct 29 22:17:03 1997 Nanbor Wang - - * ace/config-hpux-10.x-hpc++.h (ACE_HAS_TEMPLATE_SPECIALIZATION): - Moved to C++ section. Restored ACE_TEMPLATE_REQUIRE_SOURCE in - C++ section. Thanks to Stephen Coy for - providing the fix (patiently.) - -Wed Oct 29 20:30:55 1997 James C Hu - - * ace/OS.i (strlen): Moved it earlier so that it would be declared - inline before use. - - * ace/OS.i (strcasecmp): Removed spurious semi-colons (how did - they get in there?). - -Wed Oct 29 18:51:12 1997 Darrell Brunsch - - * ace/OS.{h,i}: Added strcasecmp functionality for NT - -Wed Oct 29 15:56:01 1997 David L. Levine - - * ace/OS.cpp: replaced ACE_TSS_REF_TABLE with a reference count to - remove dynamic allocation from ACE_TSS_Info. Also, enabled call - of ACE_Task close hook before calling TSS destructors. - - * ace/OS.cpp: changed a few TSS 0 keys to ACE_OS::NULL_key. - - * ace/Thread_Manager.cpp (ace_thread_manager_adapter): with - TSS_EMULATION, moved the call of tss_close () from here to - ACE_Thread_Adapter::invoke () so that it can be called after - the task's close hook, if any. - - * ace/{OS.h,Log_Msg.h,Object_Manager.cpp} (cleanup_tss): added - an argument to indicate whether the main thread is calling or not. - - * ace/OS.i (ACE_TSS_Emulation::next_key): start key values at - 0 instead of 1, because it's easier to deal with arrays of - keys then. That also corresponds with the starting key value - on Windows NT. - - * ace/IOStream.h: DEC_CXX #includes now depend on compiler version. - Thanks to James Johnson for providing the fix. - -Wed Oct 29 10:32:16 1997 David L. Levine - - * ace/config-lynxos.h: fixed ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS - and added getopt () declaration. - - * include/makeinclude/platform_lynxos.GNU: updated LIBS. - - Thanks to Kirill Rybaltchenko for - the above fixes. - - * etc/purify.solaris2: added another _thrp_exit UMR. - - * include/makeinclude/wrapper_macros.GNU: added login (LOGNAME) - and compiler (CXX) to Purify/Quantify cache names. - -Wed Oct 29 08:40:38 1997 Douglas C. Schmidt - - * ACE version 4.3.32, released Wed Oct 29 08:40:38 1997. - -Wed Oct 29 07:39:38 1997 Douglas C. Schmidt - - * ace/Synch.cpp: Added an explicit template instantiations for - ACE_Guard. - - * ace/LOCK_SOCK_Acceptor.h: Removed the typedef of - ACE_SOCK_Acceptor with a full expansion of the name to fix a G++ - bug. - - * tests/Conn_Test.cpp: Fixed a template instantiation problem. - - * ACE-INSTALL.html: Pointed out that ACE is ported to LynxOS and - Chorus. - - * ACE-INSTALL.html: Added information about cloning that explains - how you must to build a config.h and platform_macros.GNU in - cloned directory. Thanks to Arturo for this. - - * bin/Makefile: Added - $(ACE_ROOT)/include/makeinclude/platform_macros.GNU to Makefile - so we can compile clone on any ACE platform. Thanks to Arturo - for this. - - * include/makefiles: Added new platform file for SCO UNIX with - nothreads. Thanks to Arturo for this. - - * ace: Added new config files for SCO UNIX with nothreads. - Thanks to Arturo for this. - - * apps/JAWS/server/HTTP_Server.cpp: Fixed the typedef for - ACE_LOCK_SOCK_Acceptor. Thanks to Hans Rohnert for reporting - this. - - * tests/Conn_Test.cpp: Changed template instantiations from - SOCK_ACCEPTOR to LOCK_SOCK_ACCEPTOR. Thanks to Han Rohnert for - reporting this. - -Wed Oct 29 02:10:37 1997 Douglas C. Schmidt - - * ACE version 4.3.31, released Wed Oct 29 02:10:37 1997. - -Wed Oct 29 01:25:54 1997 Douglas C. Schmidt - - * tests/Conn_Test.cpp: Modified Conn_Test to fully integrate - Irfan's new LOCK_SOCK_Acceptor. This new implementation is - truly the "mother of all Conn_Tests" ;-). - - * ace/LOCK_SOCK_Acceptor.cpp (lock): Added a lock() accessor - method to the new ACE_LOCK_SOCK_Acceptor so that we can remove - the lock (somehow). - -Wed Oct 29 00:29:52 1997 - - * apps/JAWS/server: Fixed Win32 related compilation errors. - - * ace/OS.h (SIGUSR1 and SIGUSR2): Added new defines for these two - signals. - - * ace/LOCK_SOCK_Acceptor: New class added to ACE (it was - originally a class in JAWS). It specialize ACE_SOCK_Acceptor to - lock around . This class is particular useful if you - want to have multiple threads accepting on the same endpoint and - the system does not support have thread safe accept. Thanks to - James Hu who initially wrote this class for JAWS. Thanks also - to Johannes Gutleber who decided to - use this in the Conn_Test. - - * tests/Conn_Test.cpp: Updated to use the new LOCK_SOCK_Acceptor. - - * apps/JAWS/server/HTTP_Server.h: Updated to use the new - LOCK_SOCK_Acceptor. - - * apps/JAWS/server/HTTP_Server_T.*: These files are no longer - necessary since this class has been absorbed into ACE. - - * tests: Fixed auto_ptr use in: - - Notify_Performance_Test.cpp - Priority_Reactor_Test.cpp - Reactor_Performance_Test.cpp - - Thanks to Jack Erickson (jack@pinion.com) for pointing this out. - -Tue Oct 28 11:26:39 1997 Nanbor Wang - - * ace/ace_{dll,lib}.dsp: Moved Acceptor.cpp from Source file - folders to Template file folders. Thanks to Satheesh Kumar - for pointing this out. - -Tue Oct 28 05:44:56 1997 David L. Levine - - * ace/OS.cpp (thr_create): use pthread_attr_setprio instead of - *_setsched with DCETHREADS, and check return values of - ACE_OS::thr_[gs]etconcurrency (). Thanks to Stephen Coy - for tracking these problems down. - - * tests/Priority_Task_Test.cpp (svc): removed ACE_ASSERT and - replaced with setting of error flag. This allows the test - to continue and gather more possibly useful information. - - * tests/Conn_Test.cpp: 1) Added template instantiations. - 2) Re-enabled with DEC_CXX. 3) Removed THR_DETACHED flags. - - * include/makeinclude/platform_osf1_4.0.GNU: suppress warnings - about unreachable statments. - - * ACE-INSTALL.html: Conn_Test now runs with DEC_CXX 6.0. - -Tue Oct 28 00:38:58 1997 - - * ace/Strategies_T: - - ACE_Recycling_Strategy - Added new class ACE_Recycling_Strategy. - It defines the interface (and default implementation) for - specifying a recycling strategy for a SVC_HANDLER. This - strategy acts as a consular to the Svc_Handler, preparing it for - the tough times ahead when the Svc_Handler will be recycled. - - ACE_NOOP_Concurrency_Strategy - Added new class - ACE_NOOP_Concurrency_Strategy. It implements a no-op activation - strategy in order to avoid calling open on a recycled - svc_handler multiple times. - - ACE_Cached_Connect_Strategy - Added a ACE_Creation_Strategy, - ACE_Concurrency_Strategy, and ACE_Recycling_Strategy to the - cached connector. This gives it more flexibility than by simply - providing template methods. This is similar to the Strategy - Connector. - - ACE_Cached_Connect_Strategy - Added new template methods for - certain key occasions in the cached connector: make_svc_handler, - activate_svc_handler, assign_recycler, and - prepare_for_recycling. - - * tests/Conn_Test.cpp (client): Updated the tests such that it - uses a null activation strategy. - -Mon Oct 27 22:17:54 1997 Aniruddha Gokhale - - * OS.h: Added the ACE_NESTED_CLASS macro to deal with those - compilers that do not allow a fully scoped type name appearing - inside a scope in which it was defined. - -Mon Oct 27 22:17:32 1997 David L. Levine - - * ace/Thread_Manager.cpp (exit): don't use the cache when finding - the thread ID. The cache is in the ACE_Log_Msg instance, and - it might have been deleted already. - -Mon Oct 27 20:33:07 1997 Douglas C. Schmidt - - * ACE version 4.3.30, released Mon Oct 27 20:33:07 1997. - -Mon Oct 27 18:03:06 1997 Nanbor Wang - - * ACE-INSTALL.html (HREF): Added NT/Alpha to supporting platforms - list. Added hyperlink to ACE newsgroup. Added hyperlink to - FreeBSD homepage. Minor changes to Win32 intstallation guide. - -Mon Oct 27 17:50:16 1997 Douglas C. Schmidt - - * include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU (PRELIB): - Changed PRELIB in platform_sco5.0.0-mit-pthread.GNU, - platform_sco5.0.0-fsu-pthread.GNU to @true, so we can generate - the TAO_IDL compiler. Thanks to Arturo Montes - for reporting this. - -Mon Oct 27 14:26:10 1997 - - * ace/Synch_T (ACE_TSS): When ACE does not have thread specific - storage, ACE_TSS will be a simple pointer holder. Previously, it - had a instance as a member, now it has a pointer to an instance. - - * ace/WFMO_Reactor.cpp (update_state): Fixed a bug in the - WFMO_Reactor. wakeup_all_threads() used to be an internal - method that was called when changes were made to the state of - the reactor. When wakeup_all_threads() became public, there was - no code in place to handle explicit user wakeups. In - particular, the wakeup_all_threads event was never reset. - Thanks to Evgeny Beskrovny for - pointing out this bug. - - * ace/OS.i (ACE_FAIL_RETURN): Added mapping from - ERROR_PATH_NOT_FOUND to ENOENT. Thanks to David Brackman - for suggesting this. - -Mon Oct 27 11:36:39 1997 David L. Levine - - * ace/OS.cpp (exit_cleanup_i): removed protection against recursive - calls. This protection no longer is necessary, because - ACE_TSS_Cleanup () is only called by ACE_Thread_Adapter::invoke (). - It was problematic because it used the ACE_Allocator instance. - - * ace/config-vxworks*.h,README: added ACE_LACKS_FCNTL. - - * ace/OS.i,ACE.cpp: replaced #ifdef VXWORKS with #ifdef - ACE_LACKS_FCNTL. - - * ace/ACE.i (get_flags): return 0 if ACE_LACKS_FCNTL. It would - be better to store ACE's notion of the flags associated with - the handle so that they could be returned, but this works for now. - - * tests/run_tests.vxworks: re-enabled Reactors_Test, because it - works with the ACE_LACKS_FCNTL mods. - - * include/makeinclude/platform_osf1_4.0.GNU: -pthread instead of - -lpthread in LIBS. Thanks to James Johnson for - pointing this out. - - * ACE-INSTALL.html: added info on bin/create_ace_build. - -Mon Oct 27 11:11:33 1997 Nanbor Wang - - * netsvcs/servers/servers.dsp - * netsvcs/lib/netsvcs.dsp: - * tests/*.dsp: - * ace/ace_{dll,lib}.dsp: Added project configurations for Alpha - machines. Configurations are named by adding "Alpha" in front - of the original config names, e.g., "Win32 Alpha Unicode Debug. - -Mon Oct 27 06:40:18 1997 Douglas C. Schmidt - - * include/makeinclude/rules.local.GNU (show_uninit): Added a - missing semi-colon for one of the install rules. Thanks to - Manojkumar Acharya for reporting this. - - * ace/Synch_T.h: Make sure that ACE_Guard::remove() calls - this->lock_->remove() rather than this->lock_->release(). - Thanks to Johannes Gutleber for - reporting this. - -Mon Oct 27 00:20:13 1997 Nanbor Wang - - * ace/config-hpux-10.x-hpc++.h: Added directive - ACE_HAS_TEMPLATE_SPECIALIZATION. Thanks to Stephen Coy - for reporting this. - -Sun Oct 26 22:17:57 1997 Douglas C. Schmidt - - * ACE version 4.3.29, released Sun Oct 26 22:17:57 1997. - -Sun Oct 26 20:03:57 1997 Douglas C. Schmidt - - * ace/IPC_SAP.cpp, - ace/IO_SAP.cpp: Make sure that we don't use fcntl() when - we're compiling on VXWORKS since it's not defined... - - * examples/Connection/non_blocking/CPP-connector.cpp: Changed the - method named idle() to uninitialized() since idle() is now - defined on ACE_Svc_Handler. - - * ace/OS.h: Added the TAO_DEFAULT_SERVER_PORT to OS.h. - - * tests/Conn_Test.cpp (cached_connect): Added a new variable - called "n_client_iterations" to control how many times each - client thread tries to connect with the Cached_Connector. - -Sun Oct 26 16:56:32 1997 Chris Cleeland - - * include/makeinclude/platform_linux_lxpthread.GNU (CFLAGS): Added - -pipe to the compile options. - -Sun Oct 26 11:04:21 1997 David L. Levine - - * ace/Hash_Map_Manager.cpp (unbind): added ACE_UNUSED_ARG (int_id). - - * tests/Conn_Test.cpp (server): added ACE_UNUSED_ARG (options). - And, added template instantations. - - * tests/Conn_Test.cpp (cached_connect): changed type of loop index i - to int to avoid signed/unsigned comparison. - - * ace/Strategies_T.h: added #include of ace/Strategies.h. Thanks to - James Johnson for reporting this. - -Sun Oct 26 10:01:01 1997 Nanbor Wang - - * ace/Connector.cpp (open): The original fix failed to replace - strategies under some circumstances. - - * ace/OS.{h,cpp} (sprintf): Removed ACE_OS::sprintf (wchat_t, char). - It didn't ever work. - - * ace/Connector.cpp (open): Added check if we had previously - allocated various strategies and deleted these objects before - allocating new objects. The original codes caused memory leaks - and possible segmentation faults if it got called twice. We - probably need a do-nothing constructor (the current constructor - calls open.) However, this may break other codes. - -Sun Oct 26 01:00:07 1997 Douglas C. Schmidt - - * ACE version 4.3.28, released Sun Oct 26 01:00:07 1997. - -Sun Oct 26 00:50:00 1997 Douglas C. Schmidt - - * tests/Conn_Test.cpp (close): Since the connect() method on - ACE_Connector closes the svc_handler if failure occurs, we - shouldn't do that again unless we succeed in connecting. - - * ace/OS.h: Moved the CORBA portability macros from - CORBA_Handler.h into OS.h so they will be accessible from TAO. - - * ace/Filecache.cpp (finish): Replaced filename_ with filename() - so that "const correctness" would work with template - specialization. Go figure! - - * TAO/tests/IDL_Cubit/Makefile: Enhanced the "realclean" target to - remove the generated IDL stubs and skeletons. - - * ace/OS.cpp (ace_sysconf_dump): Made a minor change to OS.cpp - to fix some typos. Thanks to Wei Chiang - for reporting this. - -Sun Oct 26 00:06:17 1997 - - * ace/Strategies_T.cpp (~ACE_Cached_Connect_Strategy): Must set - recycler to 0 before calling close, else the svc_handler will - try to purge itself from the cache. - - * tests/Conn_Test.cpp (client): Updated to use the new connection - recycling scheme. - - * ace/Hash_Map_Manager: - - - ACE_Hash_Map_Reverse_Iterator: Added reverse iterator. - - - ACE_Hash_Map_Entry: Added a prev pointer to the entry. Thus - changing the bucket chains into doubly linked lists. Because of - this, it was necessary to change the way the list was being - managed. Sentinels were created for each bucket. - - This also changed (a) the way the iterators worked, (b) made it - easy to delete entries when you have one (this scheme allows the - entries to be easily used as ACTs). - - - New methods (bind, trybind, rebind, find): These methods allow - the users to get access to ACE_Hash_Map_Entry of the node in - question. This allows the user to treat the entry as an ACT and - get access to the key (in case the user is interested in - changing the key). These methods are only valid since the - implementation of Hash_Map_Manager uses linked lists where nodes - are never copied. These methods cannot be added to Map_Manager - since it uses an array of nodes, where the your data may get - copied to another node when the size of the Map_Manager changes. - - * ace/Strategies (ACE_Connection_Recycling_Strategy): Added a new - abstract strategy for recycling connections. - - * ace/Strategies_T: - - - ACE_Cached_Connect_Strategy: ACE_Cached_Connect_Strategy now - implements the ACE_Connection_Recycling_Strategy interface. - This allows Svc_Handlers to cache themselves with - ACE_Cached_Connect_Strategy when they become idle. It also - allows them to purge themselves from the connection cache when - the Svc_Handlers close down. - - Also added ~ACE_Cached_Connect_Strategy that will cleanup up the - connection cache. - - - ACE_Hash_Addr: ACE_Hash_Addr is the key for the hash map used by - ACE_Cached_Connect_Strategy. Previously it kept the Svc_Handler - pointer in the key in order to find out if it was busy or not. - Now the flag has been moved from the Svc_Handler into - the key. The also saves the Hash_Addr from requiring - Svc_Handler as a template parameter. - - Also updated ACE_Hash_Addr::operator== such that if the - Svc_Handler is busy, it does not bother to check compare the - addresses but simply returns false. - - * ace/Svc_Handler.cpp: Added the ability for a Svc_Handler to - recycle itself. idle() can be called when the Svc_Handler is - done serving a particular connection and can how be recycled. - The Svc_Handler now also has a pointer to a recycler that is - responsible for managing the connections. The recycler is - usually a Cached_Connector. - - * ace/Filecache.cpp (ACE_Hash_Map_Entry): Added a new constructor - specialization as the ACE_Hash_Map_Entry now has two - constructors. - - * tests/Hash_Map_Manager_Test.cpp (ACE_Hash_Map_Entry): Added a - new constructor specialization as the ACE_Hash_Map_Entry now has - two constructors. - - * tests/Reactor_Exceptions_Test.cpp (class My_Reactor): Added the - other handle_events method. Thanks to Stephen Coy - (coys@mail.ns.wsa.com.au) for pointing this out. - - * ace/Strategies_T.cpp (hash_i): This default routine is no good. - It uses a complicated scheme that calculate a hash value. - Unfortunately, there is no guarantee that this hash algorithm - will produce the same hash value for the same address. - Therefore, it is better just to return a consistent hash value - rather than an erroneous one. I have choosen 0 of the return - value. Even though this will cause all the entries to be hashed - to the 0 bucket, atleast they will be found. Users should - override this to provide better hashing. - - (compare_i): Memcmp is not the correct default action. - !(b1==b2) is the correct comparison, though this will assume - that the addresses will have a comparison operation. - - * ace/Mem_Map.cpp (close and close_handle): close() is doing too - much. It is closing the handle and unmapping the file. - Changing this method might effect code that depends on this - behavior. Therefore, we create a seperated method - close_handle() that only closes down the handle, and does not - unmap the file. Thanks to Jeff Richards (jrichard@OhioEE.com) - for pointing this out. - - * ace/Strategies_T.cpp (connect_svc_handler): If connect() failed - because of timeouts, we have to reject the connection entirely. - This is necessary since currently there is no way for the - non-blocking connects to complete and for the to - notify the cache of the completion of connect(). Therefore if - errno is EWOULDBLOCK, it is changed to ENOTSUP and -1 is - returned. - -Sat Oct 25 17:41:57 1997 Sergio Flores - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: - * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: - * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: - * examples/Timer_Queue/main_async.cpp: - * examples/Timer_Queue/main_reactor.cpp: - * examples/Timer_Queue/main_thread.cpp: - Added "#pragma instantiate" for template instantiations on - platforms that use pragmas instead, like SGI. - -Sat Oct 25 4:44:00 1997 Carlos O'Ryan - - * Today at 06:44 hours (Santiago, 04:44 St. Louis) Fernanda O'Ryan - has joined the ACE family. She was born 3040 gr in weight and - 50 cm length. She has absolutely no experience in CORBA, C++ or - programming in general. Therefore, she is the ultimate Java - programmer. - -Sat Oct 25 10:13:56 1997 David L. Levine - - * ace/Singleton.h: added comment about best ACE_LOCK types to use. - - * Makefile (TIMESTAMP): replace tab with spaces in ChangeLog entry. - - * tests/Conn_Test.cpp (main): fixed typo, spawn_threads instead of - spawn_thread. Also, protected definitions of spawn_processes () - and spawn_threads () to avoid compiler warnings about unused static - functions. - -Sat Oct 25 01:02:34 1997 Douglas C. Schmidt - - * ACE version 4.3.27, released Sat Oct 25 01:02:34 1997. - -Fri Oct 24 17:39:08 1997 Douglas C. Schmidt - - * ace/ACE.cpp: Changed all the ACE_BIT_ENABLED () == 0 macros to - ACE_BIT_DISABLED() since the logic is clearer. - - * ace/SOCK_Acceptor.cpp (shared_accept): Improved the handling of - timed accepts. The original implementation was prone to race - conditions if there were multiple processes all doing timed - connects on the *same acceptor socket*! That's because select() - and accept() are not performed atomically. Now, we're smarted - about handling this... - - * tests/Conn_Test.cpp: Simplified the shutdown logic, which - appeared to have race conditions. - - * tests/Conn_Test.cpp: Modified this test to spawn off a number of - server processes, all of which will listen for connections on - the same acceptor port. This demonstrates a useful idiom for - writing connection-oriented concurrent server pools. - - * netsvcs/lib/Server_Logging_Handler_T: Fixed this code so that if - we're on an HP/UX that has broken templates we don't use the - Base_Optimizer. Thanks to Per Andersson for providing this fix. - - * ace/Thread_Manager: Added a destructor for ACE_Thread_Descriptor - to keep some compilers happy. Thanks to Chuck Gehr - for reporting this. - - * ace/Task.cpp (ACE_Task_Base_cleanup): Changed - ACE_Task_Base::cleanup (object); - - to: - - ACE_Task_Base::cleanup (object, 0); - - Thanks to Chuck Gehr for reporting - this. - - * ace/Thread_Manager.cpp (find_thread): Fixed another problem with - == being used to compare threads rather than - ACE_OS::thr_equal(). Thanks to Chuck Gehr - for reporting this. - -Fri Oct 24 17:11:14 1997 Sergio Flores - - * Thread_Timer_Queue_Test.cpp (shutdown_timer): added logic to - cancel preemptively or voluntarily, the dispatching thread, - depending on whether the platoform supports pthread_cancel(). - - * Timer_Queue_Adapters.cpp (ACE_Thread_Timer_Queue_Adapter): Added - initialization of flag to 1, active mode. We assume - we start in active mode. Added an internal variable - that stores the thread id of the currently running thread. The - motivation behind this is to be able to cancel this thread - whenever we are shutting down. It is initialized to - ACE_OS::NULL_thread. - - * Timer_Queue_Adapters.cpp (svc): Assign the with the - current running thread ID, using ACE_Thread::self (). - - * Timer_Queue_Adapters.h (ACE_Thread_Timer_Queue_Adapter): Added - default to be - ACE_Thread_Manager::instance() - - * Timer_Queue_Adapters.h (activate): Override the default - method to be able to enforce one thread of execution - per timer queue. Does make much sense to have more than one - managing the timer queue, and like Doug said too many weird - things can happen... - - * Timer_Queue_Adapters.i (thr_id): Added this method to access the - thread ID of this task. - - * Timer_Queue_Adapters.i (activate): Call - ACE_Task_Base::activate() with n_threads = 1 to ensure that a - single thread is spawned. - -Fri Oct 24 10:00:02 1997 Nanbor Wang - - * ace/Thread_Manager.cpp (wait_grp): Fixed a bug. Should wait on - threads with same grp_id, not task. - -Fri Oct 24 09:24:14 1997 David L. Levine - - * ace/Select_Reactor.cpp (open): cast return value of - ACE_::max_handles () to size_t to avoid signed/unsigned comparison. - - * ace/Singleton.cpp,Object_Manager.{h,cpp}: (get_singleton_lock): - dynamically allocate ACE_Thread_Mutex and ACE_RW_Thread_Mutex locks, - so we end up with one lock per ACE_Singleton instantiation. - - * ace/OS.cpp (ACE_TSS_Info, Win32 and VxWorks only): changed type - of ACE_TSS_TABLE from ACE_Unbounded_Stack to fixed-size ACE_Array. - With this change, we avoid some use of ACE_Allocator when - destroying TSS objects. There are two more changes required to - completely remove the ACE_Allocator use. - - * tests/TSS_Test.cpp (worker): added printout of iteration count. - -Fri Oct 24 01:53:58 1997 Douglas C. Schmidt - - * ACE version 4.3.26, released Fri Oct 24 01:53:58 1997. - -Thu Oct 23 19:05:08 1997 Douglas C. Schmidt - - * netsvcs/clients/Naming/Client/Makefile - netsvcs/clients/Naming/Dump_Restore/Makefile - - The lines: - - SHLIB = libClient_Test.so - SHLIB = libDump_Restore.so - - need to be - - SHLIB = libClient_Test.$(SOEXT) - SHLIB = libDump_Restore.$(SOEXT) - - Thanks to Stephen Coy for reporting this. - - * ace/Thread_Manager.cpp (find_hthread): Replaced the call - - if (iter.next ()->thr_handle_ == h_id) - - to - - if (ACE_OS::thr_equal (iter.next ()->thr_handle_, h_id)) - - since the other one isn't portable to Pthreads. Thanks to - Stephen Coy for reporting this. - - * ace/Hash_Map_Manager.cpp: Removed the sentinel in the - Hash_Map_Manager. Sentinels are evil since they require us to - hold write locks, even when we're doing finds! - - * ace/ACE.cpp (max_handles): By default, we now try to use the - getrlimit() function before sysconf() since sysconf() doesn't - work "correctly" for NO _SC_OPEN_MAX (i.e., it just returns the - original value, which might have been changed by setrlimit(). - What a pain... - - * ace/ACE.cpp (max_handles): If FD_SETSIZE is enabled return - this as the number of handles. This isn't perfect, but it's - probably better than returning -1. - - * ace/Select_Reactor.cpp (open): Added a call to - ACE::set_handle_limit() if the requested size for the Reactor is - greater than the current max number of descriptors in the - process. Also check to make sure that the user isn't ask for - more than the FD_SETSIZE. Thanks to Neil Lavelle - for motivating this. - - * ace/Thread_Manager: Changed the name THR_FUNC to - ACE_THR_MEMBER_FUNC since it's now a global typedef on VxWorks - and we don't have to have clashes with other names. - - * ace/Thread_Manager.h: There are mutually incompatible bugs with - VxWorks and MVS. Therefore, we have to conditionally compile - the THR_FUNC differently for these two platforms. Thanks to - Chuck Gehr for reporting this. - - * ace/OS.cpp (thr_create): Added a fix to set the Chorus stack - size correctly. Thanks to Wei Chiang for - reporting this. - - * ace/OS.cpp: Added a new method ace_sysconf_dump() to dump the - state of the configuration. Thanks to Wei Chiang - for reporting this. - - * ace/Singleton.cpp (dump): There was a typo in the dump() method - for ACE_TSS_Singleton, it should be - ACE_TSS_Singleton::instance_i(). I've fixed this. - -Thu Oct 23 23:19:24 1997 James C Hu - - * ace/Filecache.cpp: Removed template method specialization of - shared_find. No longer needed since Hash_Map_Manager has been - changed to no longer rely on sentinel_. - - * ace/Thread_Manager.cpp (various): - Hacked 'til it compiled. (Chased down syntax errors.) - -Thu Oct 23 22:52:17 1997 Sergio Flores - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (shutdown_timer): - Added a line to call the cancel method on the timer queue task - when we are shutting down; this is wrapped around #if's to only - include this only when the platformm supports pthread_cancel(). - - * ace/Timer_Queue_Adapters.cpp (svc): Added some POSIX thread - cancellation points to make sure the mutex that the condition - variable uses is unlocked before the thread is cancelled. - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (list_timer): - Deleted unnecessary cancellation points. Since we are not - blocking on a condition variable, we don't need to guard the - code. - -Thu Oct 23 22:07:03 1997 Nanbor Wang - - * ace/Thread_Manager.cpp (wait_task,wait_grp): We should also - check for thread creation flags when collection information for - threads belong to this group and don't try to join those threads - created with THR_DETACHED or THR_DAEMON. - -Thu Oct 23 21:22:16 1997 Darrell Brunsch - - * ACE-INSTALL.html: Copied some documentation about makefile flags - from include/makeinclude/wrapper_macros.GNU and added a section - for this. - -Thu Oct 23 20:37:44 1997 David L. Levine - - * ace/Array.*: added ACE_Array_Iterator. - -Thu Oct 23 17:28:11 1997 Chris Cleeland - - * ace/Mem_Map.i (close_filemapping_handle): Moved this above its - uses in the file so that g++ would de-warn. - -Thu Oct 23 15:30:17 1997 Steve Huston - - * ace/Timer_Hash_T.h, Timer_Hash.cpp, Timer_Heap_T.h, Timer_Heap.cpp, - Timer_List_T.h, Timer_List.cpp, Timer_Queue_T.h, Timer_Queue.cpp, - Timer_Wheel_T.h, Timer_Wheel.cpp: Replaced all occurences of - ACE_HPUX_BROKEN_TEMPLATES with ACE_HAS_BROKEN_HPUX_TEMPLATES. - -Wed Oct 22 23:23:29 1997 Nanbor Wang - - * ace/ACE_Library.*, ace_lib.dsp: Made naming convention uniform - for some less used ACE library. They are called: aced.dll, - ace.dll, aceud.dll, aceu.dll, acesd.lib, aces.lib, aceusd.lib - and aceus.lib. If you are using ACE on NT, you know what they - mean. ;-) - -Wed Oct 22 21:22:35 1997 David L. Levine - - * ace/Object_Manager.{h,cpp}: Added support for ACE_RW_Thread_Mutex - ACE_Singleton lock type. Thanks to Nanbor for suggesting this, - because TAO needs it. - - Also, removed at_exit registration of dynamically allocated - ACE_Static_Object_Lock because Object_Manager instance isn't - available for registration when it's created. Instead, handle - this lock as a special case in the Object_Manager destructor. - - * ace/Singleton.cpp,Object_Manager.cpp: check for shutting_down () - as well as starting_up () when deciding whether to use a - preallocated lock. Preallocated locks are not available at those - times. - - * tests/Reactor_Performance_Test.cpp (client): removed declaration - of loop index "i" because it shadowed a local. Also, the loop - index declaration caused a signed/unsigned comparison. - - * ace/Singleton.cpp: temporarily disabled ACE_Guards until - the lock acquistion is fixed. - -Wed Oct 22 17:53:26 1997 Steve Huston - - * ace/SOCK_Connector.cpp: In connect(), changed the - (local != ACE_Addr::sap_any) to be value comparison, - not pointer comparison. Works on compilers which construct - temporaries when a const reference is passed (like HP aC++), and - also when a user passes an ACE_Addr which they construct to look - just like an ACE_Addr::sap_any. Thanks to Stephen Coy - for finding this. - -Wed Oct 22 16:43:25 1997 Chris Cleeland - - * tests/Reactor_Performance_Test.cpp (client): Corrected some code - that wasn't logical (but compiled!) in the connect_n() test. - -Wed Oct 22 13:27:47 1997 Douglas C. Schmidt - - * tests/Reactor_Performance_Test.cpp (client): Revised the - connection portion of this test to use the newly revised - connect_n() method on Connector. - - * ace/Connector.cpp (connect_n): Revised the connect_n() method so - that it keeps track of which connections succeeded and which - failed. - -Wed Oct 22 07:23:21 1997 David L. Levine - - * ace/OS.i (getpgid): fixed (commented) ACE_TRACE identifer. - Thanks to Eric Newton for reporting this. - - * ace/Singleton.{h,cpp},Object_Manager.{h,cpp}: moved - ace_singleton_lock_ to Object_Manager. ace_singleton_lock_ - was a static data member: in addition to the usual troubles - associated with being a static, it was a static member of a - template class. g++ can't handle those, so we used a local - static; initialization of that static was not thread safe. - - The fix relies on knowledge from the Object_Manager about - whether the program is in static construction phase or not. - A critical assumption is that construction of static objects - does not spawn threads. With that assumption, we know that - there is only one (main) thread in the program prior to the - Object_Manager instance being constructed. At that time, - locking is not needed. The ACE_{TSS_}Singleton::instance () - methods rely on the state of the Object_Manager: if it has - not been constructed yet, then they don't guard allocation - of their singleton instance. - - The Object_Manager constructs four locks (of types ACE_Null_Mutex, - ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and - ACE_RW_Thread_Mutex) for use only by ACE_Singleton classes. - After the Object_Manager has been constructed, ACE_{TSS_}Singleton - instantiations use one of those locks to guard their allocation of - a new instance, via double-checked locking. - - This change has one impact, then: - ACE_{TSS_}Singleton users are limited to the following types - for their ACE_LOCK instantiation parameters: ACE_Null_Mutex, - ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and - ACE_RW_Thread_Mutex. If another type is needed, it can be - easily added to the ACE_Object_Manager: another overloaded - get_singleton_lock () function and preallocated lock would - have to be added. - - As noted in Singleton.h, the best types of ACE_LOCKs to use - for instantiating ACE_Singleton are ACE_Recursive_Thread_Mutex - and ACE_Null_Mutex. - - In addition to the above change, I made these two other - changes: - 1) ACE_Static_Object_Lock::instance (): dynamically allocate - a lock if the Object_Manager has not been constructed yet. - This approach replaces the static lock that was necessary - to allow the static services to be constructed. - - 2) Consolidated the singleton_ access in ACE_TSS_Singleton - via a singleton_i () internal accessor function. Now, - ACE_TSS_Singleton looks just like ACE_Singleton. - - * ACE-INSTALL.html: updated DEC CXX 6.0 build/test status. - - * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i - (handle_timeout): convert arg to long if ACE_HAS_64BIT_LONGS. - - * examples/Shared_Malloc/test_malloc.cpp (worker): convert arg to - long if ACE_HAS_64BIT_LONGS. - - * examples/Timer_Queue/Driver.cpp (run_test,parse_commands): - added ACE_NOTREACHED. - - * examples/Logger/simple-server/Logging_Handler.cpp (handle_close): - removed declaration of unused arg "mask". - - * include/makeinclude/rules.local.GNU: added show_statics and - show_uninit targets. They show the statics (that have static - destructor calls) and uninitialized data in the object files - in the current directory. They work best (or at all) on object - files compiled by g++. - -Wed Oct 22 05:04:07 1997 Douglas C. Schmidt - - * ACE version 4.3.25, released Wed Oct 22 05:04:07 1997. - -Tue Oct 21 22:55:36 1997 - - * ace/WFMO_Reactor: Removed ACE_Event_Handler::CLOSE_MASK and the - explicit registration for the closing of sockets from - WFMO_Reactor. This is essentially for compatibility with UNIX - programs. UNIX does not have a CLOSE_MASK and the notification - of the closing of a socket is implicit in the socket becoming - read ready. Therefore when you register for - ACE_Event_Handler::READ_MASK with WFMO_Reactor, you will - register for FD_READ and FD_CLOSE. When FD_CLOSE is triggered, - handle_input() will be called on the Event_Handler. As on UNIX, - read() will return 0 and the programmer will be able to tell - that the socket has actually closed down. - - Arguably, this is lame for Win32 programmers as they have the - explicit close notification, but portability and existing code - base wins in this case. - - One other change. When an event_handler returns -1 from the - callback, unbind() is called with ALL_EVENTS_MASK rather than - the NULL_MASK. - - The upcall routine still needs to threat the two masks - separately. (FD_CLOSE | FD_READ) will not work as both maybe - simultaneously enabled. Therefore handle_input() maybe be called - twice (once for FD_READ and once for FD_CLOSE) unless the user - returns -1 from the first callback. - - * ace/Event_Handler: Removed the CLOSE_MASK. - - * examples/Logger/simple-server/Logging_Handler.cpp: Minor fixes. - - * examples/Logger/Acceptor-server/server_loggerd.cpp: Minor - changes. No need to register the acceptor with the - Reactor. Acceptor::open() does that. - - * examples/Reactor/ReactorEx/test_network_events: Removed the use - of CLOSE_MASK. - - * tests/Reactor_Performance_Test: Removed the use of CLOSE_MASK. - -Tue Oct 21 21:48:54 1997 David L. Levine - - * ace/OS.[hi]: moved ACE_PTHREAD_CLEANUP_PUSH/POP definitions from - OS.i to OS.h. Also, added #ifdef ACE_HAS_PTHREADS protection - before ! defined ACE_LACKS_PTHREAD_CLEANUP so that only PThreads - platforms need add ACE_LACS_PTHREAD_CLEANUP. - - * tests/Notify_Performance_Test.cpp: added #include of - ace/Thread_Manager.h. It's needed on OSF-1. - -Tue Oct 21 21:09:35 1997 Nanbor Wang - - * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool): Oops. Souldn't - access options when it is 0. - -Tue Oct 21 12:58:30 1997 Nanbor Wang - - * ace/Log_Msg.{h,cpp}: (thr_desc): Modified the method so it take - an extra argument of type ACE_Thread_Manager* and uses it to - block execution until thread manager release its lock. - - * ace/Thread_Manager.{h,cpp} (acquire_release): Added this new - method whose only function is to grab the thread manager's - lock. This function ensure that a newly spawned thread won't - try to access its thread descriptor before it is fully built. - - * ace/OS.cpp (inherit_log_msg): Modified to cache the thread - descriptor of spawned thread in TSS Log_Msg after it has been - created and block the execution of new thread until thread - manager releases the lock (i.e., fills in all the information.) - - * ace/OS.h (ACE_Thread_Adapter): Added one more argument of type - ACE_Thread_Descriptor* to the constructor with default value 0. - - * ace/OS.cpp (invoke): If the thread descriptor ptr is not zero - in thread arguemnt, then, we'll wait till the thread manger - fills in the formation and cache the value in TSS Log_Meg. - - * ace/Thread_Manager (spawn_i): Changed to pass in the thread - descriptor of the newly spawned thread to thread adapter so it - can cache it in TSS Log_Msg. This must be created before - spawning the thread. If all goes well, we'll need to append the - thread descriptor into the double-linked list in the thread - manager. - (append_thr): Added a new argument of type Thread_Descriptor* - with default value 0. If we pass in a thread descriptor, - append_thr won't try to create on itself. - -Tue Oct 21 21:34:35 1997 Douglas C. Schmidt - - * ACE version 4.3.24, released Tue Oct 21 21:34:35 1997. - -Tue Oct 21 14:14:33 1997 Carlos O'Ryan - - * examples/Timer_Queue/Thread_Timer_Queue_Test.h: - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: - Use the typedef for Upcall to define the base Timer_Queue. - Input_Task inherits from ACE_Task_Base, no need for ACE_Task<> - here. - -Tue Oct 21 13:45:53 1997 Douglas C. Schmidt - - * ace/config-irix6.x-sgic++-nothreads.h: Added ACE_HAS_TERM_IOCTLS - for SGI. Thanks to Jeffrey Peterson - for reporting htis. - - * TAO/tests/Thruput_test/server.cpp (main): Changed BOA_init() - to POA_init(). - -Tue Oct 21 12:58:30 1997 - - * ace/OS.h (ACE_SINGLETON_DECLARATION): - (ACE_SINGLETON_INSTANTIATION): - (ACE_SVC_SINGLETON_DECLARATION): - (ACE_SVC_SINGLETON_INSTANTIATION): Added these new macros. Each - of them takes one argument which is the ACE_Singleton class. - All these craps are needed because MSVCs very kindly instantiate - the template codes for you. This ends up producing two - ACE_Singleton objects, one in DLL and one in user program. What - these macros do is to supress the template code instantiation in - user program and force compilers to instantiate these codes in - DLL. On other platforms, these macros simply expand to empty - strings. Here is a simple use case. Say we have a class - called which we want to make it a singleton using - ACE_Singleton template in our own DLL. In file , add - a line like this, - - ACE_SVC_SINGLETON_DECLARATION (ACE_Singleton); - - and it will be expanded to suitabe code to export the class or - supress another template instantiation outside DLL depending on - whether ACE_BUILD_SVC_DLL is defined or not. In file - , add a line, - - ACE_SVC_SINGLETON_INSTANTIATION (ACE_Singleton); - - at the end of the file to instantiate the template object in - DLL. Notice that there is a bug in MSVC 4.2 and you'll have to - write up a DEF file to export the template interface - explicitly. - - These macros should be integrated with the case when - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION but because of the VC - 4.2's bug, it will cause too much trouble to export all these - symbols for external access. Therefore, I'll leave them as they - are now. - - BTW, these is no templatized singleton object within ACE that - needs to be exported at this moment. - -Tue Oct 21 07:14:24 1997 David L. Levine - - * ace/Svc_Conf_l.cpp: fixed compile warnings on g++. - - * ace/Timer_{Heap,List,Wheel}_T.cpp: replaced NULL with 0 because - some compilers, such as GHS, define NULL as (void *) 0. So, it - sometimes needs to be cast to be used. Thanks to Brian Mendel - for reporting this. - - * ace/Thread_Manager.cpp (wait): removed thr_yield () hack because - it's not needed with Nanbor's Thread_Manager fix. - - * tests/test_config.h (ACE_END_TEST): removed sleep hack with - threading because it's not needed with Nanbor's Thread_Manager fix. - - * include/makeinclude/platform_vxworks*.GNU: added VXWORKS=1 macro, - for use by individual Makefiles to suppress VxWorks builds. - - * examples/System_V_IPC: suppress VxWorks builds because the builds - fail, and the examples wouldn't run anyways. - - * netsvcs/lib/TS_Server_Handler.cpp: only instantiate - ACE_Svc_Handler if ! ACE_HAS_TLI - because without TLI, the instantiation is in - Client_Logging_Handler.cpp. - - * examples/Shared_Malloc/test_persistence.cpp: added #include of - iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: removed - instantiation of ACE_TSS because it is in - ace/Thread_Manager.cpp. - -Tue Oct 21 02:23:26 1997 Douglas C. Schmidt - - * ACE version 4.3.23, released Tue Oct 21 02:23:26 1997. - -Tue Oct 21 02:18:56 1997 Douglas C. Schmidt - - * examples/Makefile: Things are happier now, so we've added back - the Timer_Queue directory to the Makefile. - - * examples/Timer_Queue: Added lots of annoying template - specializations so that the timer queue tests now work with GCC. - - * ace/Svc_Conf.l: Changed the regular expression for a - {string} so that it maches the null string (i.e., ""). - -Tue Oct 21 01:07:58 1997 Sergio Flores - - * examples/Timer_Queue: - Added documentation and fixed some warnings from the unused - arguments in some member functions. Cleaned up some .h files of - unnecessary template instantiations. - -Tue Oct 21 01:01:12 1997 Nanbor Wang - - * ace/Thread_Manager.h: Added more comments. - - * ace/Thread_Manager.{h,cpp}: Added a parameter to - Thread_Manager's constructor with default value 0. This - parameter is currently unused and put in for backward - compatibility. - (open): Putting back this method for backward compatibility. - This is currently a no-op. Thanks to David for reporting this. - Also modify some mis-inform comments. - -Mon Oct 20 22:34:46 1997 - - * ace/OS.i (open): Moved Win32 specific errno mappings from open() - to ACE_FAIL_RETURN. Also updated the wide-character version of - open(). - -Mon Oct 20 14:07:37 1997 Douglas C. Schmidt - - * ace/config-hpux-10.x.h: Added #define ACE_DEFAULT_BASE_ADDR - ((char *) 0x80000000) so that the various mmap() tests - will work on HP/UX. Thanks to Stephen Coy - for reporting this. - - * ace/OS.i: Fixed the implementation of ACE_OS::cond_timedwait() - so that it will work on VxWorks. Thanks to David Levine for - chasing this down and doing most of the changes. - - * ace/OS.h: Added a new special case for _KCC so that its - ACE_UNUSED_ARG will work properly. Thanks to Torbjorn Lindgren - for reporting this. - -Mon Oct 20 22:23:42 1997 Nanbor Wang - - * tests/Sigset_Ops_Test.cpp (main): It is not legal too for - sigismember to return 0 if we pass an invalid signal to it. - Thanks to Stephen Coy for fixing this. - - * Thread_Manager.*: Replace the thr_table_ with a double-linked - list thr_list_. With this change, we can cache the thread - descriptor entries in TSS area. Then, when accessing thread - descriptor from a spawned thread's context, we don't have to - search thru the whole list in order to find the corresponding - thread descriptor. Double-linked list and caching also make - adding/removing thread descriptor entries very fast. At this - moment, we need to do a linear search when we try to access the - cached pointer the first time. This overhead is expected to - removed shortly. The will be some memory leaks at this moment - because I haven't implemented the code to clean up the list when - a thread manager gets deleted. Will fix it soon. - - * Log_Msg.{h,cpp}: Removed thr_state methods, variable, and thr_id - methods and variable and replace them with thr_desc which cache - the pointer to the thread descriptor structure. - - * Containers.*: Added two new template classes - ACE_Double_Linked_List and ACE_Double_Linked_List_Iterator. - These two classes implement the very fundamental data structure - of double-linked list. Although this is not actually a - container class, I couldn't find a better place to put these - classes. - - * ace/Filecache.* - * ace/FIFO.* - * ace/FIFO_Send.* - * ace/FIFO_Recv.* - * ace/FIFO_Send_Msg.* - * ace/FIFO_Recv_Msg.* - * ace/Memory_Pool.* (ACE_MMAP_Memory_Pool_Options, - ACE_MMAP_Memory_Pool): Added one member variable to these class - so users can specify the LPSECURITY_ATTRIBUTES object they want - to use with them. - (map_file, init_inquire): Pass the security attribute to - underlying memory map object. - - * ace/Mem_Map.* (ACE_Mem_Map, map, open, map_it): Added a new - function parameter LPSECURITY_ATTRIBUTES. It will be passed - down to ACE_OS::mmap or ACE_OS::open. This is only used on - Win32. - -Mon Oct 20 08:48:28 1997 Steve Huston - - * ace/OS.h, config-hpux-10.x.h: Added a new definition, - ACE_HAS_TIUSER_H_BROKEN_EXTERN_C - HP-UX's tiuser.h has - def for t_errno/_terrno() outside of an extern "C" block, - so in this case, wrap #include in our own - extern "C" block. HP support call W3711856. - -Mon Oct 20 07:49:54 1997 David L. Levine - - * Makefile (TIMESTAMP): moved chmod after cvs commit. - - * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: don't - create Templates.DB/Modules.DB, because that should have been - Module.DB, and it's not needed anyways. - - * ace/config-vxworks-ghs-1.8.h: removed ACE_HAS_VERBOSE_NOTSUP. - - * tests/run_tests.vxworks: re-enabled Buffer_Stream_Test now that - ACE_OS::cond_timedwait () is supported on VxWorks. - - * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (main): removed call - to ACE_Thread_Manager::open () because it no longer is available. - -Mon Oct 20 02:04:19 1997 Douglas C. Schmidt - - * ACE version 4.3.22, released Mon Oct 20 02:04:19 1997. - -Mon Oct 20 02:01:43 1997 Douglas C. Schmidt - - * examples/Makefile: Removed the Timer_Queue directory from the - Makefile until Sergio has fixed all the examples for GCC. - -Sun Oct 19 21:15:10 1997 Sergio Flores - - * examples/Timer_Queue: Added a new testing framework for - various types of ACE_Time_Queue usecases, e.g., threaded, - reactive, and asynchronous. - The new classes are: - which factors out the common code for - different type of Timer queue implementations, for example the parsing, - the input reading, and leaves the implementation of display_menu() for - example, to subclasses. - the asynchronous version of the timer - queue, uses signals. - implements the reactive timer queue - test driver using - the threaded implementation of the - timer queue. - this class is used to specify operations on the timer queue - independently of their implementation. Thsi allows different - implementations of the timer queue to have different ways of - doing the operations without the base class having to know that. - See the Command pattern. - Added some helper functions into the class. - - -Sun Oct 19 18:07:31 1997 Douglas C. Schmidt - - * ace: Added new config files for SCO OpenServer with a new initial scheme - to make config files: - - - The config to SCO OpenServer has been changed to separate OS - specific flags, threads and compiler flags. - - - For SCO OpenServer the base config file is config-sco-5.0.0.h - - - Pthreads base files are config-fsu-pthread.h and - config-mit-pthread for FSU and MIT pthreads. - - - The compiler file has been named config-gcc-2.7.2.h, this is - base config file for GNU gcc 2.7.2 - - To build a config file for SCO using GNU gcc 2.7.2 would be: - - #include "ace/config-gcc-2.7.2.h" - #include "ace/config-sco-5.0.0.h" - - We would obtain ACE config file for SCO OpenServer with GNU gcc - 2.7.2 with no threads. To build a config file for SCO using GNU - gcc 2.7.2 with FSU pthread would be: - - #include "ace/config-gcc-2.7.2.h" - #include "ace/config-sco-5.0.0.h" - #include "ace/config-fsu-pthread.h" - - Thanks to Arturo Montes for these - changes. - - * ace/OS.i (open): Modified ACE_OS::open() so that it sets errno - to EACCES when the requested file is in use. Thanks to Edan - Ayal for reporting this. - -Sun Oct 19 17:55:34 1997 David L. Levine - - * etc/purify.solaris2: the contents of my ~/.purify file - for Solaris 2.x. The ACE tests purify cleanly with it. - -Sun Oct 19 13:49:17 1997 Carlos O'Ryan - - * ace/Proactor.cpp: - The mutex vs lock name change strikes back, this time under NT. - - * tests/Conn_Test.h: - * tests/Conn_Test.cpp: - The Svc_Handler was cached, but it had the default - handle_close() method, which destroys the object. The new - version leaks a bit of memory, but it seems that it never - crashes. - -Sat Oct 18 09:13:29 1997 Douglas C. Schmidt - - * ace/Synch_T.cpp (lock): Moved the frigging lock method of - Atomic_Op into the *.cpp file to work around bugs with earlier - versions of the horribleHP/UX C++ compiler. Thanks to Neil - Cohen for reporting this. - -Sat Oct 18 07:43:29 1997 David L. Levine - - * Makefile (release): oops, removed "echo" that was used to - disable CVS commit, for testing. - - * ace/Thread_Manager.{h,cpp},Object_Manager.{h,cpp}: moved - ace_thread_exit_lock_ to Object_Manager. - - * include/makeinclude/rules.local.GNU: added $(TEMPLATE_REPOSITORY) - to OBJDIRS, so that individual platforms can add template - repository directories for creation. - - * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: added - TEMPLATE_REPOSITORY with Templates.DB and Templates.DB/Modules.DB. - We can build without any warnings with Sun C++ now. - -Sat Oct 18 00:17:26 1997 Douglas C. Schmidt - - * ACE version 4.3.21, released Sat Oct 18 00:17:26 1997. - -Fri Oct 17 22:51:46 1997 Carlos O'Ryan - - * ace/Timer_Queue_Adapters.h: - * ace/Timer_Queue_Adapters.i: - * ace/Timer_Queue_Adapters.cpp: - * ace/Timer_Queue_T.h: - * ace/Timer_Queue_T.i: - * ace/Timer_Queue_T.cpp: - * ace/Timer_List_T.cpp: - * ace/Timer_Wheel_T.cpp: - * ace/Timer_Hash_T.cpp: - Changed the accessor name for the lock_ field from mutex() to - lock(), we know this can cause trouble on HP-UX, but only if the - function is inline; so it was moved to the .cpp file. - - * ace/Timer_Queue_Adapters.h: - * ace/Timer_Queue_Adapters.i: - Changed the method name from lock() to mutex(), this should - workaround a bug in the HP/C++ compiler. - - * ace/Timer_Hash.cpp: - * ace/Timer_Hash_T.h: - * ace/Timer_Heap.cpp: - * ace/Timer_Heap_T.h: - * ace/Timer_List.cpp: - * ace/Timer_List_T.h: - * ace/Timer_Queue.cpp: - * ace/Timer_Queue_T.h: - * ace/Timer_Wheel.cpp: - * ace/Timer_Wheel_T.h: - Workaround HP/C++ compiler bug, we cannot include the .cpp file - from the header file, but it must be included in the point of - instantiation. - -Fri Oct 17 18:34:00 1997 Douglas C. Schmidt - - * ace/Atomic_Op.i (lock): Added an accessor to ACE_Atomic_Op to - return a reference to the underlying lock. Thanks to Janusz - Stopa for suggesting this. - -Fri Oct 17 15:36:26 1997 - - * ACE/config-win32-common.h: Added a directive to disable warning - of using Microsoft template instantiation control extension. - -Fri Oct 17 06:31:20 1997 David L. Levine - - * ace/Atomic_Op.i (operator=): rsh.value () instead of just rhs. - - * Makefile (release): added ACE_VERSION string to ace/Version.h. - The MS Resource-Compiler doesn't implement the preprocessor - # operator, so ACE_VERSION supplies the concatenated version - string. Thanks to Matthias for suggesting this. - - * ace/Svc_Handler.{h,cpp},Object_Manager.{h,cpp}: moved - ace_svc_handler_lock_ to Object_Manager. This lock was - created once per Svc_Handler instantiation. It has been - replaced by a single lock for all instantiations. That - shouldn't be a problem because there are so few Svc_Handler - instantiations, and the lock is only used for singleton - creation using double-checked locking. - -Fri Oct 17 01:19:35 1997 Douglas C. Schmidt - - * ACE version 4.3.20, released Fri Oct 17 01:19:35 1997. - -Fri Oct 17 00:05:55 1997 - - * ace/OS: Added ACE_Export to declarations to: - ace_mutex_lock_cleanup_adapter, ftruncate, ace_thread_adapter - - * ace/OS.cpp (readv, writev): Moved ACE_Export directive from - OS.cpp to OS.i. - - * ace/Atomic_Op (operator TYPE): operator TYPE() of Atomic_Op has - been deprecated and removed. Because both user-defined - conversions and user-defined operators were defined on - Atomic_Op, it was possible to get ambiguities between the - user-defined operators and the built-in operators. Therefore, - operator TYPE() has been removed and explicit accessor value() - has been added. Thanks to Stephen Coy for - suggesting this. - - * ace/Atomic_Op (operator!=): Add new operator. - - * tests/Atomic_Op_Test.cpp: Previously we had foo.operator== (5). - It was necessary to resolve the ambiguities between the - user-defined operators and the built-in operators. Since we have - removed the automagic type conversion, we can go back to writing - foo == 5. - - * ACE: Atomic Op related minor changes: - - ace/Malloc.cpp (dump): - tests/Future_Test.cpp (main): - tests/Reactors_Test.cpp (handle_input): - example/Threads/{future1.cpp future2.cpp manual_event.cpp task_two.cpp tss2.cpp}: - examples/Reactor/Misc/test_reactors.cpp: - - * tests/Notify_Performance_Test.cpp: - * tests/Reactor_Performance_Test.cpp: - - Moved explicit template instantiation code to ACE_HAS_THREADS - part for the test. Thanks to Stephen Coy - for pointing this out. - -Thu Oct 16 20:44:40 1997 James C Hu - - * ace/Message_Block.cpp: Changed how continuations are released in - the Message_Block::release_i() method to use an iteration rather - than recursion. This is to avoid a stack overflow problem - encountered by Janusz Stopa. - - * ace/OS.cpp: Added ACE_Export to the declarations of ::writev and - ::readv. These are emulation implementations for systems that - don't support them natively. Was not being resolved correctly - on NT. Hopefully this will fix it. Fix suggested by Rob Head - (rhead@virtc.com). - -Thu Oct 16 14:21:34 1997 Nanbor Wang - - * ace/Proactor.cpp: Replaced #include "ace/Servie_Config.h" with - #include "ace/Object_Manager.h" for declaration of - ACE_Static_Object_Lock. - -Thu Oct 16 10:22:48 1997 Carlos O'Ryan - - * ace/Timer_Heap_T.h: - Fixed comment on the Heap_Iterator, it said "Iterates over an - "). - -Thu Oct 16 08:43:50 1997 David L. Levine - - * ace/OS.i (sema_trywait): on VxWorks only, fixed to set errno to - EBUSY if the semaphore couldn't be taken. Thanks to Doug for - suggesting this fix. - - * performance-tests/Misc/preempt.cpp (main): fixed program name. - - * include/makeinclude/platform_osf1_4.0.GNU: OCFLAGS instead of OFLAGS. - - * tests/test_config.h (VxWorks): restored the removal of the log - file, because it again appears to be necessary. - - * tests/run_tests.vxworks: updated VxWorks tests status. - - * ace/OS.cpp,Token_Invariants.{h,cpp},Object_Manager.{h,cpp}: - moved ace_os_monitor_lock and ACE_Token_Invariants_Creation_Lock - to Object_Manager. - -Thu Oct 16 02:26:12 1997 Douglas C. Schmidt - - * ACE version 4.3.19, released Thu Oct 16 02:26:12 1997. - -Thu Oct 16 02:07:54 1997 Douglas C. Schmidt - - * tests/Priority_Reactor_Test.cpp: Added a "max_retries" flag to - keep the test from hanging forever... Thanks to Stephen Coy - for motivating this. - - * tests/Priority_Reactor_Test.h: Changed - - class Read_Handler : public ACE_Svc_Handler< - - to - - class Read_Handler : public ACE_Svc_Handler< - - and the same for the Write_Handler. Thanks to the ever vigilant - Stephen Coy for reporting this. - -Thu Oct 16 01:18:48 1997 Nanbor Wang - - * ace/OS.cpp (socket_init): Changed to use ACE_UNUSED_ARG. - - * ace/SV_Semaphore_Simple.cpp (name_2_key): Explicitly cast the - return value to (key_t). It was causing problem on Win32. - -Wed Oct 15 22:47:30 1997 Carlos O'Ryan - - * ace/ACE.h: - * ace/ACE.cpp: - Added an implementation of the ISO 8802-3 standard 32 bits CRC, - but for strings only. The implementation was taken from the - FreeBSD code. - - * ace/SV_Semaphore_Simple.cpp: Improved the hashing algorithm to - assign a "unique" key for semaphore keys using an string. This - solves a problem detected by Mark L. Boriack - (Mark.L.Boriack@cpmx.saic.com): under OSF/1 the were too many - collitions with the default arguments for ACE_Process_Mutex. - Note that this is only a problem if no name is given to it. - - * ace/Log_Msg.cpp: ACE_Log_Msg_message_queue_ was not initialized - in platforms without threads. - - * ace/Containers.h: Added a duplicate ACE_Ubounded_Stack_Iterator - to the NANBOR_EXP_CHANGES block. - - * ace/OS.h (ACE_DES_FREE_TEMPLATE): Removed unneeded concatenation - that was getting the HP/aCC compiler a bit confused. Thanks to - Stephen Coy for pointing out the problem - and then reminding me of actually adding the solution to ACE. - -Wed Oct 15 11:07:47 1997 Douglas C. Schmidt - - * ace/OS.i: Fixed the flock_trywrlock() and flock_tryrdlock() so - that they both set errno = EBUSY if they lock is already held. - - * ace/OS.i (mutex_trylock): Make the VxWorks version consistent - with the other versions by returning -1 and setting errno to - EBUSY. Thanks to David Levine for reporting this. - - * ace/Synch.h: Updated the documentation to clarify what the - return value is from the tryacquire() methods. - - * ace/OS.i (mutex_trylock): On NT, if we try to acquire a mutex - that's already locked we'll return -1 and set errno to EBUSY - rather than ETIME to be consistent with Pthreads. Please see - the following entry to understand why this doesn't break - existing code ;-). - - * ace/OS.h: Added a #define for EBUSY on NT. We'll make it the - same as ETIME to avoid breaking existing code! - - * tests/Process_Strategy_Test.cpp (main): Ignore SIGCHLD in the - child. - -Wed Oct 15 14:59:41 1997 - - * tests/run_tests.bat: Added Reactor_Performance_Test and - Notify_Performance_Test to one button test script. - - * tests/tests.dsw: Added Reactor_Performance_Test.dsp and - Notify_Performance_Test.dsp. - -Wed Oct 15 07:21:05 1997 David L. Levine - - * ace/ACE.{h,i},Version.h: added ACE version macros, and static - functions to access them in class ACE. - - * Makefile (release): updates ace/Version.h based on contents of - VERSION. - - * tests/Time_Value_Test.cpp: added test of ACE version accessors. - - * ace/OS.cpp,Object_Manager.cpp: changed ACE_TSS_CLEANUP_LOCK - from an ACE_Thread_Mutex to an ACE_Recursive_Thread_Mutex. - - * ace/OS.h: define ACE_NOTREACHED as empty on DEC_CXX (and - on ghs instead of VXWORKS). - - * tests/TSS_Test.cpp (worker): convert void *c to long if - ACE_HAS_64BIT_LONGS to avoid DEC cxx compiler warning. - - * examples/Threads/thread_specific.cpp (worker): convert void *c - to long if ACE_HAS_64BIT_LONGS. Changed name of "lock" to - "printf_lock" to avoid collision with lock () in DEC cxx - iostream.hxx. - - * examples/threads/tss1.cpp: removed unused static "lock". - - * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (read_file): convert - void *fd to long if ACE_HAS_64BIT_LONGS. And, put "n" in - ACE_UNUSED_ARG. (main): put "return 0" in ACE_NOTREACHED. - - * include/makeinclude/platform_osf1_4.0.GNU: minor cleanup, incl. - addition of -use_ld_input to SOFLAGS. - - * include/makeinclude/platform_osf1_4.0_g++.GNU: added "c" to - ARFLAGS. - - * tests/Future_Test.cpp,examples/Threads/future[12].cpp - (Method_Object_Name): removed extraneous ";" after function - definition. - - * netsvcs/lib/Base_Optimizer.h: adding missing, default "public" - access specifier. - - * apps/JAWS/Server/HTTP_Config.h: added "class" to friend HTTP_Config - declaration in HTTP_Config_Info. - - * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: removed unused variable - "MAXLINE". - - * examples/IPC_SAP/TLI_SAP/db-server.cpp (main): wrapped "return 0" - with ACE_NOTREACHED. - - * examples/Reactor/Misc/test_timer_queue.cpp (handle_timeout): - convert void *arg to long if ACE_HAS_64BIT_LONGS. - - * examples/Service_Configurator/IPC-tests/client/ - local_fifo_client_test.cpp: removed unused variable BUF_LEN. - - * examples/Shared_Malloc/test_persistence.cpp: - removed unused Employee ostream << operator. - - * tests/Conn_Test.cpp: neutered Conn_Test on DEC_CXX. It - doesn't build on DEC cxx 5.5 due to apparent template - instantiation problems. Thanks to James Johnson for - reporting that. And it doesn't terminate when built with - DEC cxx (beta) 6.0. - - * ace/Thread_Manager.h: removed parens from (???) because - g++ got upset about encountering a trigraph. - - * tests/{Notify,Reactor}_Performance_Test.cpp: added - ACE_UNUSED_ARG (handle). - - * tests/Makefile,run_tests.sh: added Reactor_Performance_Test and - Notify_Performance_Test. - - * tests/run_tests.vxworks: added test status of - Reactor_Performance_Test (doesn't appear to do anything, - but doesn't return) and Notify_Performance_Test (fcntl - not supported). - -Wed Oct 15 01:48:36 1997 Nanbor Wang - - * ace/Containers.{h,i,cpp}: - * ace/Thread_Manager.{h,i,cpp}: Start modifying these files. - Will work on them for a day or two. You guys shouldn't worry - about these changes affecting anything because I surround my - changes with #ifdef (NANBOR_EXP_CHANGES) my changes #else - original codes #endif. More details change log will be added - once I get them all working. - -Tue Oct 14 23:54:21 1997 Douglas C. Schmidt - - * ACE version 4.3.18, released Tue Oct 14 23:54:21 1997. - -Tue Oct 14 20:27:28 1997 Carlos O'Ryan - - * tests/Priority_Reactor_Test.cpp: - Added a debug message to find out who terminates the reactor - thread. - - * tests/Priority_Reactor_Test.cpp: - The children could not connect sometimes, this will cause the - test to hang, waiting for those failed connections. - I added a simple exponential backoff strategy to retry - connections until they succeed. - -Tue Oct 14 17:48:28 1997 Steve Huston - - * ace/config-hpux-10.x-hpc++.h: Set ACE_LACKS_SIGNED_CHAR for - both C++ and aC++, not just C++. Thanks to Stephen Coy and - David Levine for finding this. - -Tue Oct 14 03:26:17 1997 Douglas C. Schmidt - - * ace/OS.h: Moved to earlier in the file so that - u_int will be defined. Thanks to Neil B. Cohen - for reporting this. - - * ace/OS.cpp (uname): Added a workaround for the fact that - Chorus doesn't support uname(). Thanks to Wei Chiang for - this fix. - -Tue Oct 14 08:02:20 1997 David L. Levine - - * ace/Managed_Object.{h,cpp} (ACE_Cleanup_Adapter): added virtual - destructor, needed by some compilers for vtable placement. - Thanks to Stephen Coy for this patch. - - * ace/Svc_Conf_y.cpp: commented out unused args and wrapped - assignments in "if" conditionals to avoid g++ warnings. - - * ace/Object_Manager.{h,cpp},Synch.{h,cpp}: moved - ACE_Static_Object_Lock from Synch.{h,cpp} to Object_Manager.{h,cpp}. - This allows it to be absorbed into the ACE_Object_Manager's - preallocated locks. The ACE_Static_Object_Lock interface - isn't really needed any more, but has been kept for backward - compatibility. - - * ace/Object_Manager.cpp: use a static ACE_Static_Object_Lock, - temporarily, because the ACE static services needs it. - - * ace/Malloc.cpp,Reactor.cpp,Service_Repository.cpp: added - #include "ace/Object_Manager.h" for ACE_Static_Object_Lock. - - * ace/Thread_Manager.h: moved ACE_Thread_Manager::THR_FUNC typedef - outside the class declaration to avoid compilation problems on - g++/VxWorks/i960 with -g. THR_FUNC is only used by protected - ACE_Thread_Manager methods so this doesn't widen the public - interface. Thanks to Aaron Valdivia for - reporting this and verifying the fix. - - * tests/IOStream_Test.cpp (client): multiply floats by 1.0 instead - of 1 to avoid bad code generation on g++/VxWorks/i960. Thanks to - Aaron Valdivia for reporting this. - - * tests/Buffer_Stream_Test.cpp: removed unused static thread_manager. - It caused core dump during destruction of static objects with - ACE_HAS_NONSTATIC_OBJECT_MANAGER. - - * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp (handle_timeout): - removed declaration of unused arg "tv". - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (main): - removed declarations of unused args "argc" and "argv". And, - updated template instantiations. - - * ace/OS.h: use "complex" ACE_UNUSED_ARG for DEC_CXX. - - * ace/Reactor.i (implementation): moved definition to top of - file to prevent use before definition. - - * ace/ARGV.cpp (ACE_ARGV): removed extraneous ; function definition. - - * ace/config-osf1-4.0.h: removed ACE_NEEDS_DEV_IO_CONVERSION. - - * tests/Time_Value_Test.cpp: ACE_HAS_64BIT_LONGS instead of - ACE_HAS_64BIT_LONG. - -Tue Oct 14 03:13:38 1997 Douglas C. Schmidt - - * ACE version 4.3.17, released Tue Oct 14 03:13:38 1997. - -Tue Oct 14 03:10:00 1997 Douglas C. Schmidt - - * ace/Service_Types.cpp (fini): Backed out the following change - until we figure out how to keep existing Svc_Handler code from - dying... Thanks to Nanbor for reporting this. - - * ace/Service_Types.cpp: Changed the implementation so that we - bypass the default cleanup originally done in - ACE_Service_Type_Impl::fini() and instead perform the cleanup in - ACE_Service_Object_Type::fini (void). Thanks to Alex Chan - for reporting this. - - * ace/Svc_Conf.y: Make sure that the Module has the same name as - the Module_Type object from the svc.conf file. We need to do - this because the Stream_Type::fini() method removes each module - by the name given in the configuration file (stored in the - Module_Type object). But the Stream::remove() method compares - this name against the name stored in the Module. So the object - is deleted, but never removed from the list. Another traversal - of the list causes a crash... Thanks to Eric Newton for - suggesting this fix. - - * ace/OS.cpp (invoke): Added call to AfxEndThread insides - ACE_TSS_Cleanup::exit() such that the same cleanup would not be - executed again when threads exit in ace_thread_adapter() in - OS.cpp. Thanks to Alex Chan for - reporting this. - - * ace/Service_Config.cpp (process_directives): Avoid reporting - lex/yacc leakage since there is nothing we could do about it. - Thanks to Alex Chan for reporting this. - - * ace/Svc_Conf.y: Removed duplicate call to symbol() to avoid the - problem that dynamic service objects are created twice. Thanks - to Alex Chan for reporting this. - - * examples/Reactor/FIFO/client.cpp (main): Fixed the call to - fifo_sender.send () so that it passes msg rather than &msg. - Thanks to Sandro Doro for reporting this. - -Tue Oct 14 02:49:02 1997 - - * tests/Notify_Performance_Test.cpp: New performance test. This - test is used to time the notification mechanisms of the - ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be - tested. The notify() mechanism can also be tested with or - without data. - - * tests/Reactor_Performance_Test.cpp: New performance test. This - test is used to time the dispatching mechanisms of the - ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be - tested. - - * ace/Svc_Handler.cpp (shutdown): Change READ_MASK | WRITE_MASK to - ALL_EVENTS_MASK. - - * ace/Atomic_Op (value): Added an explicit value accessor. - -Mon Oct 13 23:07:15 1997 Douglas C. Schmidt - - * tests/Process_Strategy_Test.cpp (handle_signal): Removed the - ACE_DEBUG calls in the child reader signal handler. This was - causing all sorts of random problems due to the asynchronous - nature of signals. Thanks to David Levine for pointing this - out. - -Mon Oct 13 16:27:46 1997 Carlos O'Ryan - - * tests/Priority_Reactor_Test.h: - * tests/Priority_Reactor_Test.cpp: - Fixed wrong header file, thanks to Irfan (irfan@cs.wustl.edu) - - * examples/Shared_Malloc/test_persistence.cpp: - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: - Added a couple of ACE_NOTREACHED, thanks to Torbjorn Lindgren - for pointing out this one. - - * ace/Priority_Reactor.cpp: - Added some more template specializations. - - * tests/Priority_Reactor_Test.cpp: - Fixed a number of bugs: hostname not initialized when creating - the server address. - The Svc_Handler base class should be instantiated using the - ACE_*_STREAM macros. - The code for non-threaded platforms was broken. - Thanks to Irfan - - * tests/Priority_Task_Test.cpp: - We use the new ACE_Sched_Priority_Iterator. - - * include/makeinclude/platform_irix6.x-32_sgic++.GNU: - * include/makeinclude/platform_irix6.x-n32_sgic++.GNU: - Removed this old config files, they have been superseeded by - platform_irix6.x_sgic++.GNU. - -Mon Oct 13 15:41:32 1997 Steve Huston - - * ace/Select_Reactor.i, Priority_Reactor.i: Moved code for the - ACE_Event_Tuple struct from Priority_Reactor.i to Select_Reactor.i. - - * ace/Priority_Reactor.cpp: added #include Malloc_T.h to build on AIX. - - * ace/Synch_T.h, Timer_Queue_Adapters.h - added a template argument - to the non-ACE_HAS_TEMPLATE_TYPEDEFS, multi-threaded version of - the ACE_SYNCH_CONDITION macro - of the 3 possibilities for its - definition, this is the only case which requires a template - argument. Timer_Queue_Adapters.h is the only user of the definition, - and it was changed to not supply the template argument. - - * tests/Conn_Test.h: - * tests/Process_Strategy_Test.h: Added #include "ace/SOCK_Stream.h" - -Mon Oct 13 13:42:05 1997 Nanbor Wang - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp (svc): - Added a macro to define L_cuserid on Win32. - -Mon Oct 13 13:44:40 1997 - - * ace/Priority_Reactor: Fixed a gross violation of ACE coding - standard. Changed bucket to bucket_. - -Mon Oct 13 12:58:01 1997 David L. Levine - - * ace/OS.i: moved ACE_OS::strcasecmp () definition after - ACE_OS::strlen () to prevent use before definition. - - * ace/Priority_Reactor.i: reordered initializers to match - declaration order. - - * ace/Sched_Params.i: reordered function definitions to prevent - uses before definitions. - - * ace/Thread_Manager.cpp (ACE_Thread_Descriptor ctor): reordered - initializers to match declaration order. (spawn_i): added - ACE_UNUSED_ARG (t_handle) without WTHREADS. - - * ace/Thread_Manager.cpp (wait): moved all of the "join" block - inside the #ifndef VXWORKS so that it compiles on VxWorks. - - * ace/Strategies_T.cpp (ACE_NOOP_Creation_Strategy:: - make_svc_handler): removed unused arg declaration to avoid - compiler warning. - - * ace/Svc_Conf_y.cpp: commented out unused args and wrapped - assignments in "if" conditionals to avoid g++ warnings. - - * tests/Priority_Reactor_Test.cpp (handle_input): added - ACE_UNUSED_ARG (h). - - * examples/Connection/non_blocking/CPP-connector.cpp (handle_signal): - added ACE_UNUSED_ARG (signum). - -Mon Oct 13 03:25:45 1997 Douglas C. Schmidt - - * ACE version 4.3.16, released Mon Oct 13 03:25:45 1997. - -Mon Oct 13 03:18:33 1997 Douglas C. Schmidt - - * ace/Thread_Manager.h: Removed the following code from - ACE_Thread_Control: - - #if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - static ACE_Thread_Mutex ace_thread_lock_; - // Lock the creation of the Singleton. - #endif /* defined (ACE_MT_SAFE) */ - - What on earth was this doing here?! Thanks to Stephen Coy - for reporting this. - -Mon Oct 13 00:10:00 1997 - - * tests/Atomic_Op_Test.cpp (main): Changed "foo == 5L" to - "foo.operator== (5L)" because the former was breaking some - compilers (e.g., HP/UX aCC). - - * ace/Connector.h (open): Removed the defaults arguments since - some compilers complain about the two open()s being - indistinguishable. - -Sun Oct 12 23:51:57 1997 Douglas C. Schmidt - - * ace/{Synch_T,Atomic_Op}: All the relational operators should - return int (really return bool) rather than TYPE. - -Sun Oct 12 18:41:01 1997 Carlos O'Ryan - - * tests/Priority_Reactor_Test.cpp: - Added several missing template specializations. - - * ace/Priority_Reactor.cpp: - Fixed typo (#pragme for #pragma). - Added several missing template instantiation. - - * ace/Timer_Queue_Adapters.cpp: - The includes were missing and there was a minor syntax error. - -Sun Oct 12 16:16:15 1997 Nanbor Wang - - * ace/ace_{dll,lib}.dsp: Added Timer_Queue_Adapters.cpp into - project files. - - * tests: Added a new test Priority_Reactor_Test. - - * ace/Timer_Queue_Adapters.{h,i}: Added or moved the line that - instructs edit mode to use on emace to the first line. Also - added ACE_Export to classes in this file. - - * ace/Timer_Queue_Adapters.cpp: Added proper inclusion of the - header file. Corrected a syntax error. - - * examples/Timer_Queue/Timer_Queue.dsw: Added a new project - Thread_Timer_Queue_Test.dsp. - - * tests/run_tests.{bat,sh}: Added MT_SOCK_Test and - Priority_Reactor_Test into one-buttoned test set. - -Sun Oct 12 16:53:32 1997 Douglas C. Schmidt - - * ace/examples/Service_Configurator/IPC-tests/server: Reformatted - and recommented the code a bit. - - * ace/OS: Added 3 new ACE #defines: - - #define ACE_ONE_SECOND_IN_MSECS 1000L - #define ACE_ONE_SECOND_IN_USECS 1000000L - #define ACE_ONE_SECOND_IN_NSECS 1000000000L - - This is much easier to read than trying to keep track of the - 000s! Then, replaced all uses of the original values with the - new symbolic constants. - - * ace/Timer_List.cpp: Removed an explicit template instantiation - of ACE_Async_Timer_Queue_Adapter<>. Why was it here in the - first place? - - * ace: Created a new group of Timer_Queue_Adapters files and moved - the Async and Thread adapters into this file. This reduces the - amount of coupling in the ACE library and removes problems with - circular includes. - - * ace/Timer_Queue_T: Added a new ACE_Thread_Timer_Queue_Adapter, - which makes it possible to use a timer queue in a thread - automagically. Thanks to Carlos O'Ryan for writing this. - - * examples/Timer_Queue: Began to integrate Carlo's new thread - timer queue test. - - * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: Changed the - timer queue from a Timer_List to a Timer_Heap. - - * examples/Makefile (DIRS): Added Timer_Queue to the list of DIRS - to build. - -Sun Oct 12 16:45:47 1997 Carlos O'Ryan - - * ace/Sched_Params.h: - Added some comments. - - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: - Added some comments and template specializations. - - * examples/Naming/Makefile: - There is no need to set LDLIBS to add local object files - anymore, using FILES is enough. - -Sun Oct 12 03:35:37 1997 Nanbor Wang - - * examples/Timer_Queue: Added a new directory for testing of - various usages of timer queue. - - * tests/Async_Timer_Queue_Test: Moved to examples/Timer_Queue. - It doesn't really belong to tests/ directory. - - * ace/ACE.cpp (register_stdin_handler): Must register the reactor - we are using to the event handler. - (read_adapter): Must notify the reactor when we are done with - handling stdin event. - -Sun Oct 12 00:26:56 1997 Carlos O'Ryan - - * ace/Makefile: - * ace/Priority_Reactor.h: - * ace/Priority_Reactor.i: - * ace/Priority_Reactor.cpp: - Augmentes Select_Reactor, adding priority based dispatching for - the I/O Event_Handlers, the only feature supported is - dispatching in the order defined by the priorities. - Each Event_Handler defines its priority, if the priority is out - of range the culprit is "punished" by dispatching at the lowest - priority. - Care has been exercised to avoid dynamic memory allocation. - - * tests/Makefile: - * tests/Priority_Reactor_Test.h: - * tests/Priority_Reactor_Test.cpp: - Added small tests of the Priority_Reactor, the test runs an - Acceptor on the main thread and creates several threads (or - processes if the plaform does not support threads) that connect - to this Acceptor. The writing threads send several short - messages, the main thread receives them using one Svc_Handler - per writer, dispatched at different priorities. - The test itself is interesting, it shows how to write very - simple Svc_Handler, Connectors and Acceptors. - - * ace/Select_Reactor.h: - * ace/Select_Reactor.cpp: - The dispatching of all the handles in a "group" (READ, WRITE or - EXCEPT) was encapsulated in a single routine. - - * ace/Malloc_T.cpp: - In the Cached_Allocator memory was allocated as an arrays of - char, it must be released the same way. - - * ace/Sched_Params.h: - * ace/Sched_Params.i: - Added a new class (ACE_Sched_Priority_Iterator) to iterate over - the priorities. - - * tests/Priority_Task_Test.cpp: - Added some comments. - -Sat Oct 10 16:23:49 1997 Steve Huston - - * tests/SOCK_Connector_Test.cpp: Passes the test if the should-fail - non-blocking test fails for any reason - not limited to ECONNREFUSED - or ENOTCONN. - -Sat Oct 11 16:02:33 1997 Douglas C. Schmidt - - * ACE version 4.3.15, released Sat Oct 11 16:02:33 1997. - -Sat Oct 11 14:38:16 1997 Douglas C. Schmidt - - * ace/SOCK_Connector.cpp (complete): Fixed a typo with - ACE_NON_BLOCKING_BUG_DELAY. Thanks to John Zeb Dhom" - for reporting this. - - * tests/MT_SOCK_Test.cpp (client): Slightly revised the client - function so that it doesn't try to use non-blocking connects if - it's on a Win32 platform that has bugs with non-blocking - connects. - - * ace/SOCK_Connector.cpp: It appears that connect() can set the - ETIMEDOUT errno if the connection times out (whatever that - means). Therefore, I need to check for that errno, rather than - ETIME after calling connect(). - - * tests/SOCK_Connector_Test.cpp: Added a check for ETIMEDOUT - since this appears to be set by some platforms (e.g., - SGI). - -Sat Oct 11 02:52:10 1997 Douglas C. Schmidt - - * ACE version 4.3.14, released Sat Oct 11 02:52:10 1997. - -Sat Oct 11 02:10:29 1997 Carlos O'Ryan - - * examples/Logger/simple-server/Makefile: - * examples/Mem_Map/IO-tests/Makefile: - * examples/Reactor/Multicast/Makefile: - * examples/Service_Configurator/Misc/Makefile: - Fixed some more problems with the Makefiles for binaries; I took - the chance and added RCS ids on the Makefiles - -Fri Oct 10 18:39:39 1997 Douglas C. Schmidt - - * tests/Service_Config_Test.cpp: Moved the static member function - called cleanup() out into a stand-alone extern "C" function - called test_singleton_cleanup() to workaround MVS C++ compiler - bugs. Thanks to Chuck Gehr for reporting this. - - * ace/Task.cpp: Solved the age old MVS C++ problem where we can't - register C++ static member functions as C callback functions. - The solution here was to create a C wrapper to do the callback. - Thanks to Chuck Gehr for reporting this. - - * tests/Service_Config_Test.cpp: Made the destructor of - Test_Singleton public to work around bugs with the MVS C++ - compiler. Thanks to Chuck Gehr for reporting this. - - * ace/ACE, - ace/Proactor, - ace/SOCK_Connector, - ace/SPIPE_Connector, - ace/Acceptor, - tests/Conn_Test: Changed ETIMEDOUT errno to ETIME errno to be - consistent throughout ACE. There should be no uses of - ETIMEDOUT in ACE or the test apps and examples. - - * ace/ACE.cpp (handle_timed_complete): Only assume that we've - timed out if the return value from select() == 0 *and* the - timeout value isn't NULL... - - * ace/Object_Manager.h: Replaced the use of ACE_MT() in the header - file with a #ifdef. This solves problems that arise when ACE_MT - is defined as "nothing" when MT_SAFE is not defined. As a code - which has "ACE_MT();" becomes just ";" and fail to compile. - Thanks to Avraham Nash for reporting - this. - -Fri Oct 10 19:55:50 1997 Carlos O'Ryan - - * examples/ASX/CCM_App/Makefile: - * include/makeinclude/rules.bin.GNU: - I have re-applied Steve Huston changes from Oct 01, the change - was (IMHO) useful and made compilation cleaner. - - * examples/ASX/Event_Server/Event_Server/Makefile: - Fixed problem that made compilation fail. - -Fri Oct 10 19:52:44 1997 - - * ace/OS.h: - * ace/Connector.cpp: - * ace/SOCK_Connector.cpp: Added new #define - ACE_NON_BLOCKING_BUG_DELAY and replace their uses from some - magic numbers to this constant. - -Fri Oct 10 19:27:28 1997 Steve Huston - - * include/makeinclude/rules.bin.GNU - examples/ASX/CCM_App/Makefile - Removed the changes to these files added Oct 01. - -Fri Oct 10 15:21:07 1997 - - * examples/Connection/non_blocking/CPP-connector.cpp - (disconnecting): Remove this method. It was not being used. Also - rewrote some parts of handle_close to make the code simple. - - * ace/Connector.cpp (create_AST): The register_handler() method - now needs to explicitly be given the handle to wait on. This is - because the get_handle() method of Connector has been - depricated. - - * examples/Connection/non_blocking/test_sock_connector.cpp (main): - Since this test waits on the STDIN handle to become ready, we - have to make sure that the WFMO_Reactor is used on Win32. This - is necessary since select() on NT does not support waiting on - STDIN. - - * examples/Connection/non_blocking/CPP-connector.cpp (open): On - Win32, the std handle must be registered directly (and not as a - socket). On non-Win32, the std handle must be registered as a - normal handle with the READ mask. Since on Win32, STDIN is used - directly as an waitable handle, handle_signal will be called - instead of handle_input. Therefore, we had to add handle_signal - to the event_handler. - -Fri Oct 10 15:16:47 1997 Nanbor Wang - - * ace/WFMO_Reactor.{h,cpp}: - * ace/Select_Reactor.{h,cpp}: - * ace/Reactor_Impl.h: - * ace/Reactor.h: Added 2 new functions in ACE_Reactor class so we - can replace the signal handler and timer queue the reactor is - using. Notice that you should do this before you start the - reactor, otherwise, you may loose your scheduled timed events. - -Fri Oct 10 14:49:40 1997 Douglas C. Schmidt - - * bin/man2html: Added a new set rul -e 's/^$/

    /g', which - correctly preserves paragraph boundaries. Regenerated all of - the ACE html documentation so that it is much better formatted. - -Fri Oct 10 11:08:02 1997 Carlos O'Ryan - - * tests/run_tests.sh: - We remove the log file before running a test, we also check for - the log file existance before running run_test.check on - it. Thanks to Dean Clamons for - helping us with this. - - * tests/run_tests.check: - IRIX egrep does not support -q, we redirect the output the - /dev/null instead. - -Fri Oct 10 01:46:07 1997 Douglas C. Schmidt - - * ACE version 4.3.13, released Fri Oct 10 01:46:07 1997. - -Thu Oct 9 22:23:56 1997 Douglas C. Schmidt - - * ace/Thread_Manager.cpp: Moved the explicit template - instantiations for ACE_Unbounded_Queue out of the complicated - #ifdef since we also want this to compile even if we don't have - threads. - - * tests/MT_SOCK_Test.cpp: Revised the code so that it uses - processes on UNIX rather than threads. - - * tests/SOCK_Test.cpp (spawn): Cleaned up the code to make it - correct. - - * ace/Get_Opt.cpp (ACE_Get_Opt): Changed the third argument to the - ACE_Get_Opt constructor be changed from `char *' to `const char - *'. Thanks to Eric Newton for suggesting this. - -Thu Oct 09 18:43:14 1997 - - * ace/Strategies_T.cpp (connect_svc_handler): Added - synchronization to the method as the setting of the in_use bit - in the service handler must be done atomically with the finding - and binding of the service handler in the cache. - - * tests/Conn_Test.cpp (client_connections): Added multithreading - to the test in order to test out the new MT features of the - Connector. - - * ace/OS.cpp (invoke): Somehow there was a bug introduced in - ACE_Thread_Adapter::invoke where the user entry point was being - called twice! - -Thu Oct 09 17:54:31 1997 Douglas C. Schmidt - - * ACE version 4.3.12, released Thu Oct 09 17:54:31 1997. - -Thu Oct 9 17:46:59 1997 Carlos O'Ryan - - * ace/Thread_Manager.cpp: - Added explicit instantiation of - ACE_Unbounded_Queue_Iterator, it seems to - be needed on Linux and other platforms; thanks to Huiying Shen - for pointing out this one. - - * ace/OS.h: - * ace/OS.i: - Reverted the change that added support for - pthread_setconcurrency on IRIX, the function was supposed to be - undocumented, but present on the libraries, I could not find it - in any of the SGI machines we have access to.; not even - - * ace/Thread_Manager.cpp: - On IRIX/SGIC++ we need to instantiate ACE_Node too. - - * ace/SOCK.h: - Moved the open() method to the public interface, it is used by - ACE_SOCK_Connector. - -Wed Oct 8 20:01:35 1997 Douglas C. Schmidt - - * ace/SOCK_Connector: Modified the ACE_SOCK_Connector so that it - doesn't maintain state and doesn't inherit from ACE_SOCK. - Therefore, we can have multiple threads using the same - ACE_SOCK_Connector simultaneously without any reentrancy - problems. - - * ace/SOCK.h: Moved the open() method into the public part of the - class so it can be used in ACE_SOCK_Connector::connect(). - - * ace/Connector.h: Removed the this->connector_ from the - ACE_Connector class in order to make this pattern work correctly - with multi-threaded programs. Also removed the connector() - accessor (which was never useful anyway). - - * ace/SOCK.cpp (open): Explicitly test setsockopt() for -1 in case - of failure. - - * tests/SOCK_Test.cpp (server): Revised this test to reflect the - fact that it doesn't iterate, but only runs one client and one - server. - - * tests: Added a new test for multi-threaded sockets called - MT_SOCK_Test.cpp. Thanks to Bob Laferriere - for motivating this test. - -Wed Oct 8 12:09:46 1997 Nanbor Wang - - * ace/OS.i (strcasecmp): Oops, we forgot to compare the strlen - first. Thanks to Murphy Ivan for - fixing the bug. - - * ace/OS.h: Added THR_DAEMON macro definition for Win32 (et. al.?) - to avoid compilation error. - Removed ACE_HAS_BROKEN_TEMPLATE_DESTRUCTOR and related macros. - -Wed Oct 8 09:52:20 1997 Carlos O'Ryan - - * ace/Parse_Node.cpp: - Fixed the minor syntax error *again*. - -Tue Oct 7 17:10:51 1997 Carlos O'Ryan - - * ace/Token_Manager.cpp: - Added a defined(ACE_MT_SAFE) protection around the lock creation - on ACE_Token_Manager::instance(), otherwise it would not work on - platforms without threads. Thanks to "Neil B. Cohen" - for pointing this one out. - -Tue Oct 7 07:07:45 1997 Douglas C. Schmidt - - * ace/Parse_Node.cpp (symbol): Added an ACE_ERROR_RETURN instead - of an ACE_RETURN to bail out if an error occurs. Thanks to Eric - Newton for reporting this. - -Tue Oct 7 10:57:48 1997 Carlos O'Ryan - - * ace/OS.h: - Added a prototype for pthread_setconcurrency when - ACE_HAS_IRIX62_THREADS is defined. This function is undocumented - but was needed by some users. - - * ace/Parse_Node.cpp: - Fixed a minor syntax error. - -Tue Oct 07 06:58:40 1997 Douglas C. Schmidt - - * ACE version 4.3.11, released Tue Oct 07 06:58:40 1997. - -Tue Oct 7 02:51:55 1997 Nanbor Wang - - * tests/TSS_Test.cpp (main): - * tests/Task_Test.cpp (main): - * tests/Barrier_Test.cpp (main): Removed thread_handles[] since we - don't need to join the thread explicitly anymore. - - * ace/Thread_Manager.{h,cpp}: Added an ACE_Unbounded_Quque to - collect terminated threads so that we can later join the threads - automatically by issuing a ACE_Thread_Manager::wait(). Some - typos are also fixed. Next step will be to replace current - thr_table_ with a hash table and store an index to this table - in TSS. - -Mon Oct 6 22:16:45 1997 Douglas C. Schmidt - - * ace/Thread_Manager: Added a new task() method to - ACE_Thread_Manager that returns a pointer to the current - ACE_Task_Base we're executing in if this thread is indeed - running in an ACE_Task_Base, else return 0. Thanks to Ari Erev - and John Neystadt for suggesting this. - - * ace/Thread_Manager: Moved the task_ pointer from the public part - of the ACE_Thread_Descriptor class into the private part of the - class and added an inline accessor instead. - - * ace/{Parse_Node.{h,cpp},Svc_Conf.y}: Added support to enable - dynamically allocate objects from factory functions that have - been pre-registered with the Service Configurator instead of - relying on dynamic loading. The new config file syntax would be - (note the colons): - - dynamic joe Service_Object * : make_queue() active - dynamic bob Service_Object * : make_queue() active - - Functions are found in the list of statically defined functions - for static services. Thanks to Eric C. Newton - for this fix. - -Mon Oct 6 13:00:19 1997 Carlos O'Ryan - - * ace/CORBA_Handler.cpp: Removed the use of reactor_ in the .cpp - file too; we are using the ACE_Event_Handler reactor_ (which is - a base class). - -Sat Oct 04 17:40:30 1997 Douglas C. Schmidt - - * ACE version 4.3.10, released Sat Oct 04 17:40:30 1997. - -Sat Oct 4 11:57:25 1997 Douglas C. Schmidt - - * apps/Orbix-Examples/Event_Comm/{Supplier,Consumer}/Makefile: - Changed a typo where /src/ was being used instead of /libsrc/. - Thanks to Jean-Marc STRAUSS for reporting - this. - - * examples/Connection/non_blocking/CPP-connector.cpp (init): - Removed the initialization of the local address. This is - error-prone and confusing to use. Thanks to Huiying Shen - for reporting this. - - * ace/SV_Semaphore_Simple: Added support for IPC_EXCL in order to - determine, upon creating the semaphore, if it already exists - (which means a bad key was selected), another daemon is still - running or the previous daemon didn't remove its resources. I - have this implemented now by first opening the semaphore and if - that fails then creating it. To support this, added another - enum, ACE_EXCL = IPC_EXCL, to the class header. - Also, changed the ACE_SV_Semaphore_Simple::open( key_t, ... ) - method to use - - if (ACE_BIT_ENABLED (flags, IPC_CREAT)) - - rather than - - if (flags == IPC_CREAT) - - Thanks to Michael McKnight for - reporting this. - - * ace: Replaced all uses of the template param LOCK with ACE_LOCK - to avoid conflicts with some systems that have a macro named - LOCK. - - * ace/IOStream_T.h: Added ACE_LACKS_ACE_IOSTREAM to the - IOStream_T.* files. Thanks to Torbjorn Lindgren - for reporting this. - - * ace/{Proactor,Service_Config,ACE_Sig_Handler}: Removed the use - of sig_atomic_t as a return type. Thanks to Torbjorn Lindgren - for reporting this. - -Sat Oct 04 03:14:46 1997 - - * ace/WFMO_Reactor.cpp (add_network_events_i): While looking - through all entries in the current (and suspended) handles for a - matching handle, we need to skip those that have been scheduled - for deletion). Also changed ACE_BIT_STRICTLY_ENABLED to - ACE_BIT_ENABLED. - - * ace/Select_Reactor.cpp (bit_ops): Since CONNECT is no longer a - logical OR of READ and WRITE, we have to explicitly make sure - that enable the handle in the correct wait sets. - - * ace/Event_Handler.h: Changed the values of the event - masks. CONNECT is no longer a logical OR of READ and WRITE. It - was its own unique value. - - * ace/OS.h: Removed ACE_BIT_STRICTLY_ENABLED. It did not do what I - thought it would do. - - * ace/Connector.cpp (handle_output): Added code that tries to find - out if the reactor uses event associations for the handles it - waits on. If so we need to reset it. This is necessary for - asynchronous connects. - - * ace/SOCK_Connector.i (reset_new_handle): Added new method on all - connectors to reset event associations of handles. - -Fri Oct 03 21:20:26 1997 David L. Levine - - * ace/Makefile: disable INSTALL in $(ACE_ROOT)/ace Makefile, - because it's not needed and it creates circular symlinks when - the library build fails. - -Fri Oct 3 11:39:45 1997 Douglas C. Schmidt - - * ace/Thread_Manager: Added a new flags_ field to - ACE_Thread_Descriptor and changed the insert_thr() and - append_thr() methods to update this flag so that we can keep - track of whether the thread was created "detached" or not. - - * ace/Reactor.cpp (event_loop_done): Replaced the use of - sig_atomic_t with int to workaround bugs with KAI C++. Thanks - to Torbjorn Lindgren for reporting this. - - * ace/CORBA_Handler: Removed the reactor() accessors since they - are subsumed by the methods in ACE_Event_Handler. Thanks to - Jean-Marc STRAUSS for reporting this. - -Thu Oct 02 15:38:34 1997 - - * Reactor: Renamed reset_new_handle to uses_event_associations. - - * ace/FIFO_Recv.cpp (ACE_FIFO_Recv): aux_handle_ must correctly be - initialized to ACE_INVALID_HANDLE. Thanks to Sandro Doro - for reporting this. - -Thu Oct 02 11:21:37 1997 Steve Huston - - * include/makeinclude/platform_{aix aix4.2}.GNU: added the - shared_libs_only = 0 and static_libs = 1 settings since C Set++ - builds the shared libs from the static. - - * ace/OS.h: Removed spaces around '##' in ACE_DES_FREE_TEMPLATE macro. - - * ace/Strategies_T.cpp: added #include "ace/Thread_Manager.h" - - * ace/Managed_Object.h: Added template arg in the "unimplemented - function" section. - -Thu Oct 02 10:46:18 1997 Steve Huston - - * ace/Malloc.h: added some comments on rationale and use of - ACE_MALLOC_ALIGN. - -Wed Oct 01 19:08:26 1997 Steve Huston - - * include/makeinclude/rules.bin.GNU: correctly builds programs - with multiple object modules. - - * examples/ASX/CCM_App/Makefile: needed some adjustment to work with - new rules.bin.GNU, above. - -Wed Oct 01 14:11:03 1997 - - * ace/Remote_Name_Space.cpp (resolve): We need to allocate one more - space than what strlen reports. - -Wed Oct 01 12:45:51 1997 David L. Levine - - * ace/ACE.cpp (count_interfaces, get_handle): changed "unix" to - "__unix" because DEC CXX doesn't #define "unix". Thanks to - Billy Quinn for reporting this. - - * ace/High_Res_Timer.h: added comment from Gabe - about ACE_OS::gethrtime () drift on MP - machines. - - * ace/OS.i (gethrtime, Solaris only): removed ACE_OSCALL_RETURN - wrapper around ::gethrtime () because it was broken (the type - was int) and not necessary (::gethrtime () should never fail), - so we can remove its overhead. - - * tests/Time_Value_Test.cpp: undef ACE_NO_INLINE in the - ACE_U_LongLong test hacks. - - * tests/SV_Shared_Memory_Test.cpp: delay construction of allocator - until first needed because it needs something that the - ACE_Object_Manager constructs. - - * tests/run_tests.vxworks: added console printout before each test. - -Tue Sep 30 21:42:58 1997 Douglas C. Schmidt - - * ACE version 4.3.9, released Tue Sep 30 21:42:58 1997. - -Tue Sep 30 17:15:14 1997 James C Hu - - * ace/Filecache.{h,cpp}: I removed the static locks in the - Filecache and made them local member objects. Since Filecache - is usually a singleton, no more memory is required this way. - - * tests/Hash_Map_Manager_Test.cpp: Added some code to test the - Hash_Map_Manager_Iterator. This is to show Bob Laferriere that - it works. - -Tue Sep 30 13:41:14 1997 Nanbor Wang - - * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i - (handle_input): - * examples/Reactor/ReactorEx/test_network_events.cpp (handle_input): - * examples/Logger/simple-server/Logging_Acceptor.cpp - (handle_input): Changed to use reset_new_handle () for querying - whether we need to reset handles or not. - -Tue Sep 30 08:35:15 1997 David L. Levine - - * ace/Atomic_Op.i: added CVS header. - - * ace/Object_Manager.{h,cpp}: removed Filecache arrays, because - Filecache no longer needs them. - - * ace/Filecache.{h,cpp}: removed unused static Filecache::lock_. - - * tests/test_config.h: Added 1 second sleep to ACE_END_TEST to - allow all threads to terminate gracefully. - VxWorks only: removed the hack removal of the log file, because - it no longer appears to be necessary. - - * tests/TSS_Test_Errno.h,TSS_Test.cpp: dynamically allocate - Errno::lock_ to try to avoid problem with cleanup of statics - on VxWorks. It doesn't solve the problem, all of the time. - There are still statics in the ACE library, which could be - causing it. - -Tue Sep 30 01:35:28 1997 Nanbor Wang - - * ace/Naming_Context.cpp (close, close_down): Separated these two - functions calls. Close now only release the name_space_ - resource and close_down release all resources. Close should be - use when changing the name_space. - -Mon Sep 29 22:29:46 1997 Nanbor Wang - - * ace/Strategies_T.cpp (accept_svc_handler ): - * ace/Service_Manager.cpp (handle_input): - * ace/Acceptor.cpp (handle_input, accept_svc_handler): Changed to - use reset_new_handle () for querying whether we need to reset - handles or not. - - * ace/Reactor.{h,i} (reset_new_handle): - * ace/Reactor_Impl.h (reset_new_handle): - * ace/Select_Reactor.{h,i} (reset_new_handle): - * ace/WFMO_Reactor.{h,i} (reset_new_handle): Added this new method - so we can determine whether the implementation of the reactor - requires us to decouple the event a handle inherit from accept. - This scheme doesn't depend on the RTTI support of compilers. - Thanks to Irfan for the tips. - -Mon Sep 29 21:28:02 1997 - - * ace/Synch (ACE_Recursive_Thread_Mutex): Methods were added to - ACE_Recursive_Thread_Mutex so that it has a consistent interface - with other locking mechanisms. Thanks to Phil Logan - for submitting these changes. - -Mon Sep 29 13:28:05 1997 David L. Levine - - * ace/OS.i (thr_setconcurrency): added support on Irix 6.x, using - its ::pthread_setconcurrency (). Thanks to Felix Popp - for letting us know - about this Irix 6.2/3 system function, and for testing it out. - - * ace/ACE.cpp (handle_timed_complete) force recv check on VxWorks - because its read handle is always not set. Thanks to Steve for - helping track down the problem. We might want to consider doing - it this way on Unix platforms, as well, according to Steve. - - * apps/JAWS/server/HTTP_Server_T.cpp (accept): fixed typo, - "remote_address" instead of "remote_adrress". - - * tests/Time_Value_Test.cpp (test_ace_u_longlong): replaced - ACE_ASSERTs with calls to a static function that prints out - why the test failed. Also, disabled test of ACE_U_LongLong - if ACE_HAS_64BIT_LONG. - - * ace/OS.h: 1) Use u_long for ACE_hrtime_t if ACE_HAS_64BIT_LONGS. - 2) Added ACE_NO_INLINE support to allow wrapper_macros.GNU to - disable inlining from the command line. 3) Added - ACE_HAS_VERBOSE_NOTSUP support. - - * include/makeinclude/wrapper_macros.GNU: added "inline" flag to - allow enabling/disabling of inlining from the command line or - platform_macros.GNU. - - * ace/config-vxworks*.h: added ACE_HAS_VERBOSE_NOTSUP. - -Mon Sep 29 11:15:10 1997 Nanbor Wang - - * ace/OS.h (ace_cleanup_destroyer): Made this an export function. - -Sat Sep 27 17:04:48 1997 - - * ace/Reactor: Added new methods to be able to set and get the - implementation class being used by the reactor. The set method - is protected and should be used with care, specially while - changing the implementation class midway through an - application. Also both the methods are virtual, and user can - subclass to change their behavior. The internal code of the - reactor also changed to now use these methods exclusively rather - than the the raw data variables. - - * ace/Acceptor.cpp (handle_input): When using the WFMO_Reactor, we - need to reset the event association for the newly created - handle. This is because the newly created handle will inherit - the properties of the listen handle, including its event - associations. Therefore two changes were made: - - - A new directive (flag) was added to all the acceptors - (LSOCK_Acceptor, SOCK_Acceptor, SPIPE_Acceptor, TLI_Acceptor, - and UPIPE_Acceptor) to reset the event associations of the - newly created handle. Currently only the SOCK_Acceptor pays - attentions to this directive, others just ignore it. This flag - had to be added to all the acceptors for interface - compatibility and also to make sure that the Acceptor template - code works correctly. - - - A dynamic_cast was necessary to determine at run-time which - implementation of the Reactor we are using. But because this - code is limited to Win32, there should be no problems doing - the dynamic_cast. - - The same thing as above needed to be done to: - - - ACE_Accept_Strategy::accept_svc_handler (ace/Strategies_T.cpp) - - - ACE_Service_Manager::handle_input (ace/Service_Manager.cpp) - - - LOCK_SOCK_Acceptor::accept (apps/JAWS/server/HTTP_Server_T.h) - - - Logging_Acceptor.cpp::handle_input (examples/Logger/simple-server/Logging_Acceptor.cpp) - - - Network_Listener::handle_input (examples/Reactor/ReactorEx/test_network_events.cpp) - - - Handle_R_Stream::handle_input (examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i) - -Sat Sep 27 20:03:29 1997 Carlos O'Ryan - - * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: - Activated exceptions by default too, since they are used by - Orbix anyway. - - * include/makeinclude/platform_sunos5_sunc++.GNU: - Some libraries were missing and the locations were not - completely accurate. - - * ace/config-sunos5.5-sunc++-4.x-orbix.h: - I let the MT Orbix as the default, since that is the - configuration here and that was implicit in the platform*.GNU - files. - - * include/makeinclude/wrapper_macros.GNU: - Added flags to the IDL compiler to emit support for both - CORBA::Any (-A) and the BOAImpl (-B) approach for the server - side implementations. - - * ace/CORBA_Handler.cpp: - The full definition for Thread_Manager was missing, I added an - include for it. - -Sat Sep 27 07:59:18 1997 David L. Levine - - * include/makeinclude/wrapper_macros.GNU, - platform_{chorus,lynxos,vxworks*}.GNU: - default to building shared libs only, except on Chorus, - LynxOS, and VxWorks. While the "shared_libs_only=1" make - flag is still supported, it is no longer necessary because - it is the default. - - To revert to the prior behavior of building both shared and - static libraries, add "static_libs=1" to either your make - command invocation or your include/makeinclude/platform_macros.GNU. - -Sat Sep 27 00:45:10 1997 Nanbor Wang - - * examples/OS/Process/README (imore): - * examples/OS/Process/Makefile: - * examples/OS/Process/imore.cpp: Added a new example: imore. - - * ace/SOCK_Stream.cpp (close, close_reader, close_writer): Moved - invalid handlers checking from close to close_reader and - close_writer. - -Fri Sep 26 14:28:36 1997 Nanbor Wang - - * tests/SPIPE_Test.cpp: - * tests/Process_Strategy_Test: Changed the macro "ACE_LACKS_EXEC" - to "ACE_LACKS_FORK". - - * ace/SOCK_Stream.cpp (close): Added checking for invalid handle - before shutting down the write end. - -Fri Sep 26 11:55:27 1997 Steve Huston - - * ace/Malloc.h: Use signed math in the preprocessor calculations - for ACE_CONTROL_BLOCK_ALIGN_LONGS (and all of its contributing - factors). - - * ace/ACE.cpp: Fixed the TLI/BSD checks in handle_timed_complete. - - * tests/SOCK_Connector_Test.cpp: Added ENOTCONN as a valid fail - condition (in addition to ECONNREFUSED). - -Fri Sep 26 05:11:40 1997 Nanbor Wang - - * ace/SOCK_Acceptor.cpp (shared_accept): Made the newly added - WSAEventSelect code unreachable. It caused several test program - hung when performing socket recieving. Don't know why this is - happening. According to the online manual, this should be the - right thing to do. Some more Access Violations to be fix - tomorrow. Oh, I mean, today. - -Fri Sep 26 01:22:28 1997 Douglas C. Schmidt - - * ace/OS: Made a few changes to OS.h and OS.i to stop compiler - warnings. Thanks to Wei Chiang for - reporting this. - - * ace/config-chorus.h: Added ACE_LACKS_RLIMIT and removed - ACE_LACKS_SIGACTION. Thanks to Wei Chiang - for reporting this. - - * ace/TLI_Connector.cpp (complete): Changed the call to - ACE::handle_timed_complete() to use the new parameter. - - * ace/ACE: Added an extra parameter to the call to - ACE::handle_timed_complete() to indicate (at run-time) that this - is being called via a TLI interface. Thanks to the - ever-vigilant Steve Huston for suggesting this. - - * tests/SOCK_Connector_Test.cpp: "ACEified" the new test program. - -Thu Sep 25 23:27:38 1997 - - * ace/config-win32.h: Error in directives: it should be "Define - ACE_HAS_WINSOCK2 to 0 in your config.h file if you do *not* want - to compile with WinSock 2.0.". The typo was a 1 instead of the - 0. Thanks to Gonzalo A. Diethelm for pointing - this out. - -Thu Sep 25 20:33:09 1997 Douglas C. Schmidt - - * ace/Message_Queue.h: Changed the *_i() methods to be virtual so - that we can change the queueing mechanism by subclassing from - ACE_Message_Queue. Thanks to Eric Newton for - this suggestion. - - * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T): Changed - listParam to timer_list to keep programming style consistent... - -Thu Sep 25 17:06:42 1997 Steve Huston - - * ace/OS.i - ACE_OS::cond_timedwait - HP's threads return - EAGAIN on timeout from pthread_cond_timedwait, so adjust that - to ETIME. - - * tests/SOCK_Connector_Test.cpp - will now try to find another - host to run the connect to. Won't try on Win32 or VxWorks - though. - -Thu Sep 25 15:25:53 1997 David L. Levine - - * ace/Object_Manager.cpp,OS.cpp: moved socket_init to Object_Manager - ctor and socket_fini to Object_Manager dtor, to be sure that - WinSock gets initialized early and closed late. - - * ace/SOCK.{h,cpp}: removed dummy_ static now that the - Object_Manager initializes WinSock. - - No, I'm not a Win32 wizard all of the sudden. Thanks to - Irfan and Nanbor for directing these changes. - - * tests/run_tests.vxworks: commented out tests that don't run - productively on VxWorks: SV_Shared_Memory_Test, - Reactor_Exceptions_Test, SPIPE_Test, and UPIPE_SAP_Test. - -Thu Sep 25 03:50:27 1997 - - * ace/OS.i (thr_getspecific): Must restore errno if no errors have - occured. - - * ace/Log_Msg.cpp (close): Must close the message queue *before* - destruction since there is no destructor for the queue. - - * netsvcs/lib/Client_Logging_Handler.cpp (fini): fini must close - and unregister the acceptor. Closing the socket is simply not - enough. - -Thu Sep 25 01:39:47 1997 Nanbor Wang - - * ace/Containers.{i,cpp}: Commented out all ACE_TRACE macros in - ACE_Unbounded_Queue so that they won't cause SIGSEGV when we - turn the tracing on. Unbounded_Queue is used in Object_Manager - which must be initialize before most of other objects. - -Wed Sep 24 23:37:19 1997 Nanbor Wang - - * ace/OS.i (thr_getspecific): On NT, added check whether - ::GetLastError() is NO_ERROR when ::TlsGetValue() return 0. - -Wed Sep 24 13:37:02 1997 - - * ace/config-win32-common.h (ACE_LACKS_FORK): Added in macro to - distinguish between ACE_LACKS_FORK and ACE_LACKS_EXEC. Also - updated config-chorus.h, config-vxworks-ghs-1.8.h, and - config-vxworks5.x-g++.h. - - * ace/OS.h (ACE_WIN32CALL_RETURN && ACE_WIN32CALL): Added new - macros to distinguish between Win32 calls that set GetLastError - and those that set errno. Also updated ACE_OSCALL_RETURN and - ACE_OSCALL such that they do not set errno to GetLastError. This - is because these calls automatically set errno. - - Updates OS.* files to reflect these changes. - - * ace/SOCK_Acceptor.cpp (shared_accept): Make sure to reset the - event association inherited by the new handle. - - * ace/WFMO_Reactor.i (unbind): Added a check for invalid handles - being passed in for removals. - -Wed Sep 24 10:34:29 1997 Carlos O'Ryan - - * ace/OS.h: - Under HP-UX and g++ must be included for dynamic loading, - not ; thanks to Warren Thompson (wthompson@altaira.com) - for helping us with this one. - -Wed Sep 24 09:36:21 1997 David L. Levine - - * ace/Managed_Object.{h,i},Object_Manager.{h,cpp}: removed - ACE_Managed_Object get_object () interface. It wasn't - used anywhere; it was originally intended to support preallocated - objects but turned out to not be necessary. I think that it would - be more useful to make it possible to instantiate - ACE_Managed_Object instead, and have it implicitly register - with the ACE_Object_Manager. - - * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T): - changed name of "list" argument ot "listParam" to resolve name - conflict with STL. Thanks to Brian Mendel for reporting this. - - * tests/run_tests.check: print out filename with error messages. - -Tue Sep 23 17:11:44 1997 Carlos O'Ryan - - * ace/config-hpux-10.x-g++.h: - Added A ACE_LACKS_TIMESPEC_T, thanks to Warren Thompson - (wthompson@altaira.com) for this one. - - * include/makeinclude/platform_hpux_gcc.GNU: - Added a -D_REENTRANT define, to enable reentrant methods, thanks - to Warren Thompson (wthompson@altaira.com) and Steve Huston - (shuston@riverace.com) for pointing out this. - - * ace/config-hpux-10.x.h: - Added an small comment to clarify that DCE/threads must be - installed if threading is wanted, they are an optional product - for HP-UX. - -Tue Sep 23 10:13:57 1997 David L. Levine - - * ace/Select_Reactor.cpp: added #include of ace/Thread.h. - Thanks to Vladimir Schipunov for - reporting this. - - * ace/Object_Manager.cpp: added #include of ace/Malloc.h. - Thanks to Vladimir Schipunov for - reporting this. - - * ace/config-aix-4.1.x.h: added ACE_HAS_PTHREAD_T and - ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #defines. - Thanks to Vladimir Schipunov for - reporting the build problem on AIX 4.1, and to - Torbjorn Lindgren for providing these fixes. - - * ace/Token_Manager.{h,cpp},Object_Manager.{h,cpp}: - preallocate ACE_Token_Manager creation lock. - - * ace/Object_Manager.cpp: use ACE_Cleanup_Adapter - for preallocated arrays. - -Mon Sep 22 16:51:44 1997 - - * ace/OS.i (open): Changed code so that (_O_CREAT | _O_TRUNC) - means CREATE_ALWAYS. Thanks to Dave Brackman - (dbrackma@OhioEE.com) for pointing this out. - -Mon Sep 22 11:01:28 1997 Steve Huston - - * tests/SOCK_Connector_Test.cpp, Makefile, run_tests.sh - added new - test to exercise ACE_SOCK_Connector focusing on fail conditions. - -Mon Sep 22 07:11:21 1997 David L. Levine - - * ace/Message_Block.cpp (clone): check this block's cont () - instead of the new block's cont_ when cloning the continuation - messages. Thanks to Eric Newton for tracking - down this problem with failing to clone continuation blocks, - and for providing the fix. - - * ace/OS.{h,i} (ACE_U_LongLong): added operator!=, and made args - const to ctor, operator/, hi, and lo member functions. - - * ace/Managed_Object.[hi]: renamed ACE_Managed_Cleanup to - ACE_Cleanup_Adapter because it doesn't implicitly register - itself with the ACE_Object_Manager. - - * ace/ACE.cpp: moved ACE_Object_Manager_Destroyer to - Object_Manager.cpp because the ACE_Object_Manager should - always be linked into executables now, even if libACE is - statically linked. - - * ace/Filecache.{h,cpp},Signal.{h,cpp} preallocate locks for - Filecache and Signal in ACE_Object_Manager. - - * ace/Object_Manager.{h,cpp}: 1) renamed ACE_Managed_Cleanup to - ACE_Cleanup_Adapter. 2) Moved ACE_Object_Manager_Destroyer from - ACE.cpp to Object_Manager.cpp. 3) Added Filecache and Signal locks. - - * ace/Singleton.*: removed instance (TYPE *) member function because - it wasn't being used. And, it allows us to store the contained - instance_ as an object instead of a pointer, saving a dynamic - memory allocation on construction. - - * include/makeinclude/platform_vxworks5.x_g++.GNU: added $(MUNCHED) - to PRELINK, to allow applications to add libraries or object - files to be munched. - - * ace/stdcpp.h: stdarg.h must be #included before stdio.h on LynxOS. - -Sat Sep 20 17:32:23 1997 David L. Levine - - * ace/Object_Manager.{h,cpp},Managed_Object.*, - CORBA_Handler.{h,cpp},Dump.{h,cpp},Log_Msg.cpp,OS.cpp - revised ACE_Object_Manager interface for preallocated objects. - - Also, added documentation of ACE_Object_Manager interface to - Object_Manager.h and Managed_Object.h. - - * ace/CORBA_Handler.cpp,Dump.cpp,OS.cpp: use ACE_MT with - preallocated locks. - - * include/makeinclude/platform_*.GNU,wrapper_macros.GNU: - moved -O out of wrapper_macros.GNU and into each platform - file's OC[C]FLAGS to support "optimize" make flag. - - I moved -O and similar compile flags out of CFLAGS and/or - CCFLAGS and into OCFLAGS and/or OCCFLAGS. This allows the - ACE make system to support the "optimize" flag. It operates - similar to the "debug" flag, i.e., you can set "optimize=1" - or "optimize=0" in your platform_macros.GNU file to enable - or disable optimization. You can use the same syntax to - get the same effect from the "make" command line, e.g., - "make optimize=1 debug=0". - - I added optimize=1 to platform_*.GNU files that had -O, etc., - in their C[C]FLAGS. Therefore, there should be no net effect - from this change on any platform. - - * include/makeinclude/wrapper_macros.GNU: - I _removed_ the disabling of "debug" when "optimize=1" is - enabled. This _will_ have a net effect: if you were relying - on "debug" to be disabled when you enabled "optimize=1", - you'll be surprised. The change supports platforms that - allow "debug" and "optimize" simultaneously. - - Because I had added the disabling of "debug" recently, - and because "optimize=1" wasn't supported well, if at all, - I'd be suprised if any is actually affected by this change. - -Sat Sep 20 11:47:14 1997 Carlos O'Ryan - - * ace/Timer_Queue_T.cpp: - Changed the return type to , to match its declaration. The - intent was to error error values, which are declared as - throughout ACE. - -Sat Sep 20 08:07:36 1997 David L. Levine - - * ace/OS.i (gethrtime): on Linux only, removed "volatile" qualifier - from declaration of local variable "now". I don't think that - it's necessary. It causes compilation failure with g++ because - the ACE_U_LongLong copy constructor won't take a volatile - argument. Thanks to Sandro Doro for - tracking down this problem. - - * tests/Time_Value_Test.cpp: reverted to test ACE_U_LongLong on - all platforms except WIN32. It works properly on Linux with - the removal of volatile from ACE_OS::gethrtime's "now". Thanks - to Sandro Doro for figuring this one - out. - -Fri Sep 19 18:49:50 1997 Carlos O'Ryan - - * ace/config-irix6.x-g++.h: - * include/makeinclude/platform_irix6.x_g++.GNU: - Added support for IRIX 6.x w/gcc, thanks to Celeste E. Copeland - (celeste@altaira.com) for this. - -Thu Sep 18 19:33:02 1997 Carlos O'Ryan - - * Douglas added the following changes while going through the - Async_Timer_Queue. - - * ace/Timer_Queue_T.h: Factored out the code for handling - ualarm(). - - * ace/Timer_Queue_T.cpp (handle_signal): Cleanedup the logic - for rescheduling a ualarm() after expiring a timer. - - * tests/Async_Timer_Queue_Test.cpp (signal_handler): Changed the - use of ACE_DEBUG to ACE_ERROR to ensure that the call doesn't - magically disappear if ACE_NDEBUG is enabled. - -Fri Sep 19 18:05:48 1997 Douglas C. Schmidt - - * ace/Log_Msg.cpp (log): Changed the send() to a send_n() so that - all the data gets written... - -Fri Sep 19 14:52:53 1997 Nanbor Wang - - * netsvcs/lib/Client_Logging_Handler.cpp (get_handle): Can't use - ACE_ERROR_RETURN here because ACE_HANDLE is a void* on NT, not - int. - - * examples/Reactor/Misc: Added reactors.dsp signals_1.dsp - signals_2.dsp. - - * ace/OS.cpp (thr_exit): Commented out the call to - ACE_TSS_Cleanup::exit () because ACE_OS::thr_exit is actually - called from ACE_TSS_Cleanup::exit (). - -Fri Sep 19 12:50:37 1997 David L. Levine - - * ACE-INSTALL*,ace/README: added more documentation of requirement - for explicit main (int, char *[]) arguments and int return type - with ACE_HAS_NONSTATIC_OBJECT_MANAGER (on VxWorks). - -Thu Sep 18 22:45:09 1997 Douglas C. Schmidt - - * netsvcs/lib/Client_Logging_Handler.cpp (close): Fixed a - typo: it's output_ not outout_. Thanks to David for - pointing this out. - - * netsvcs/lib/Client_Logging_Handler.cpp: Make sure to clean up - all our resources (e.g., acceptor-mode and data-mode sockets) - when we close down. - - * netsvcs/servers/main.cpp (main): Restored the entire contents of - main(). - - * tests/Semaphore_Test.cpp: Updated the test to use a temporary - ACE_Time_Value variable that is passed to - ACE_Semaphore::acquire() so that we don't have problems with - reference anachronisms... Thanks to David Levine for reporting - this. - - * ace/Log_Msg.cpp: Changed over to using ACE_SPIPEs for the - logging mechanism rather than ACE_FIFOs to conform to the - changes to Client_Logging_Handler. - - * netsvcs/lib/Client_Logging_Handler.cpp: - Completely rewrote the Client Logging Daemon so that it uses - ACE_SPIPEs by default, rather than ACE_FIFOs. This is more - portable and makes it easier to write a generic client logging - daemon... If a platform doesn't support ACE_SPIPEs, then we - revert to using sockets. - -Thu Sep 18 21:56:33 1997 Nanbor Wang - - * ace/OS.cpp (ACE_TSS_Cleanup::exit): Masked out codes that relate - to freeing TSS keys and remove key entries from TSS cleanup - table. I removed it here to avoid race condition. - (ACE_TSS_Cleanup::free_all_key_left): Added this function to - free all left over TSS keys and remove them from TSS cleanup - table when the program exits. It is only called from - ACE_OS::cleanup_tss. - (ACE_OS::cleanup_tss): Added call to - ACE_TSS_Cleanup::free_all_key_left when ACE_WIN32 or - ACE_HAS_TSS_EMULATION are defined. - -Thu Sep 18 16:30:24 1997 David L. Levine - - * ace/Semaphore_Test: protected declarations of test_timeout_count - and timeouts because they're not used on Solaris. - - * netsvcs/lib/Client_Logging_Handler.cpp: added template - instantiations. - -Thu Sep 18 09:04:40 1997 - - * ace/Dynamic: Changed the way ACE_Dynamic worked. Instead of - keeping the "this" pointer of the object in question, we are now - simply keeping a flag that indicates whether the object was - dynamically created. The trick to this approach is to make sure - to reset the flag in the constructor. The "this" pointer - approach was broken when used with multiple inheritance, because - of "shearing" of the "this" pointer to get to the base - Svc_Handler class. - -Thu Sep 18 01:12:36 1997 Douglas C. Schmidt - - * ACE version 4.3.8, released Thu Sep 18 01:12:36 1997. - -Wed Sep 17 22:47:20 1997 Douglas C. Schmidt - - * ace/ACE: Added two new varargs methods for send() and recv(). - These are modeled after the ones that are in, e.g., ACE_SOCK_IO. - - * ace/Log_Msg.cpp (open): In the UNICODE version the compiler - complains about mixed wchar/char usage in Log_Msg.cpp: - - Log_Msg.cpp(468) : error C2665: 'ACE_INET_Addr::ACE_INET_Addr' : - none of the 8 overloads can convert parameter 1 - from type 'const unsigned short *' - - I fixed it modifing the connect() call from - - status = con.connect (*ACE_Log_Msg_message_queue, - ACE_INET_Addr (logger_key)); - - to - - status = con.connect (*ACE_Log_Msg_message_queue, - ACE_INET_Addr - (ACE_MULTIBYTE_STRING(logger_key))); - - Thanks to Dieter Quehl for - reporting this. - - * ace/SV_Semaphore_Simple.h: By default, we want the flags to - perform a SEM_UNDO. Thanks to Sandro Doro - for reporting this. - - * tests/Makefile (BIN): Added Semaphore_Test.cpp to the Makefile. - Thanks to Sandro Doro for reporting - this. - - * tests/Async_Timer_Queue_Test.cpp: If you want to print a '\', - you need to make it a \\... Thanks to David for noticing this. - - * apps/JAWS/clients/Blobby/Blob_Handler.h: There was a missing - #include for "ace/SOCK_Stream.h". - - * netsvcs/lib/Client_Logging_Handler: Reimplemented this service - so that it uses sockets on Win32 to receive logging messages - from clients. - - * ace/Log_Msg.cpp: Enhanced ACE_Log_Msg::log() so that it now uses - sockets on Win32 platforms to work around the lack of FIFOs. - - * ace/Log_Record.h: Revised the field layout of the ACE_Log_Record - so that the length field comes first. This is necessary for the - framing mechanisms used throughout ACE in various - configurations. - -Wed Sep 17 15:17:38 1997 James C Hu - - * ace/Filecache.cpp: ACE_Filecache::finish should check to see if - the file passed in is NULL before attempting to grab the - associated hash lock. Reported by Samuel Melamed - . - -Wed Sep 17 13:51:25 1997 Carlos O'Ryan - - * bin/auto_compile: - I setup autoflush on the logfile, it makes debugging and non - crontab usage a bit easier. - -Wed Sep 17 12:59:34 1997 - - * ace/Local_Name_Space_T.cpp: Fixed warnings caused by SEH macros. - -Wed Sep 17 01:07:40 1997 Douglas C. Schmidt - - * ACE version 4.3.7, released Wed Sep 17 01:07:40 1997. - -Tue Sep 16 23:34:36 1997 Douglas C. Schmidt - - * netsvcs/servers/main.cpp (main): The use of braces was incorrect - so that some services were being prematurely closed... - - * ace: Added a new flag called ACE_LACKS_FIFO to distinguish the - (lack of) features on Win32... - - * ace/Timer_Queue_T: Added an expire() wrapper for the - Async_Timer_Queue_Adapter. - - * ace/OS: Added a wrapper for strpbrk() and wcspbrk(). Thanks to - Bob Olson and Irfan for pointing out - the need for this. - -Tue Sep 16 18:03:58 1997 Carlos O'Ryan - - * bin/auto_compile: - It wouldn't report an error when run_tests.sh scream "FAILED", - now it does. - -Tue Sep 16 08:30:28 1997 Steve Huston - - * ace/OS.i: Changed a couple of ACE_UNUSED(arg) to ACE_UNUSED_ARG(arg) - -Mon Sep 15 12:08:38 1997 - - * ace/Reactor (register_handler): Originally this interface was - available for all platforms, but because ACE_HANDLE is an int on - non-Win32 platforms, compilers are not able to tell the - difference between - register_handler(ACE_Event_Handler*,ACE_Reactor_Mask) and - register_handler(ACE_Event_Handler*,ACE_HANDLE). Therefore, we - have restricted this method to Win32 only. - - * ace/WFMO_Reactor.h: Removed non-Win32 version of the - WFMO_Reactor. This is no longer required in the new scheme. - - * ace/XtReactor: - - Added remove_handler_i(const ACE_Handle_Set &,ACE_Reactor_Mask) - to make the compiler happy. - - Also changed ACE_Reactor_Handle_Set to ACE_Select_Reactor_Handle_Set. - - * ace/Select_Reactor.cpp (ACE_Select_Reactor_Token): Added set/get - select_reactor methods. - - * ace/OS.h (ACE_SEH_TRY): Changed ACE_SEH_TRY from nothing to - "if(1)" on non-Win32 platforms. This should stop some compilers - from complaining about unreachable code. - -Mon Sep 15 11:37:49 1997 Carlos O'Ryan - - * include/makeinclude/platform_hpux.GNU: - Added -D_REENTRANT to enable the _r functions. - -Mon Sep 15 09:40:57 1997 Carlos O'Ryan - - * bin/auto_compile: - Enabled the shared_libs_only flags to speed up compilations (and - reduce disk space usage). - -Sun Sep 14 22:36:17 1997 - - * ace/Select_Reactor.h: Added a no-op constructor for - ACE_Select_Reactor_Token to make the compiler happy. - -Sun Sep 14 21:02:31 1997 David L. Levine - - * all Makefiles: ran "make depend" to update all ACE Makefiles. - - * include/makeinclude/platform_irix6.x-32_sgic++.GNU, - platform_tandem.GNU: added debug = 1, to disable ACE_NDEBUG. - - * ace/Acceptor.cpp: added #include of ace/Handle_Set.h so that - it will compile on g++/Solaris. - - * ace/Managed_Object.h: added #include of ace/OS.h because - ACE_Cleanup class is used. - - * ace/Managed_Object.cpp: only #include ace/Synch.h if - ACE_TEMPLATES_REQUIRE_SOURCE is not defined. The #include - appears to be necessary with Digital Unix. But, it causes - inline functions warnings with g++, both with inlining - enabled and disabled. Circular #includes are evil :-) - - * ace/Select_Reactor.h: removed "," at end of DEFAULT_SIZE - enum definition. - - * ace/Select_Reactor.i (register_handler): added ACE_UNUSED_ARGS. - - * ace/Select_Reactor.i: moved ACE_Select_Reactor::size () after - ACE_Select_Reactor_Handler_Repository::size () to prevent use - before definition. - - * ace/Select_Reactor.cpp: added template instantiation. - - * ace/Svc_Conf_y.cpp: commented out unused args and wrapped - assignments in "if" conditionals to avoid g++ warnings. - - * ace/Token_Manager.h: inserting missing "public" access control - specifier for ACE_Cleanup. - - * ace/OS.{h,cpp} (gethrtime, Linux only): inlined and added Alpha - support. - - * ace/config-linux*.h: only define ACE_HAS_PENTIUM if i386 is defined. - -Sun Sep 14 10:35:57 1997 - - * ace/Reactor: The Reactor classes (ACE_Reactor and ACE_ReactorEx) - have changed. The motivation for this change was to allow users - to program abstractly and use the most efficient implementation - available on their platform. At the same time, we wanted to - make the changes required by the users kept to a minimal. - - Here is a layout of the new Reactor hierarchy in ACE (an example - of the GOF Bridge Pattern). Thanks to Thomas Jordan - (Thomas_Jordan@deluxedata.com) for suggesting this new design. - - - Reactor -----> Reactor_Impl - ^ - | - -------------------- - ^ ^ - | | - Select_Reactor WFMO_Reactor - - Reactor: - - The Reactor class now becomes an interface class that contains - a pointer to an implementation class. All methods of the - Reactor class forward all calls to the appropriate - implementation class. Users can pass in their own - implementation class. If an implementation class is not - supplied at creation time, the following default rules apply: - - On non-Win32 platforms: An instance of the Select_Reactor - class will be created and used as the implementation. - - On Win32 platforms: An instance of the WFMO_Reactor class will - be created and used as the implementation. This default - behavior can be overwritten at compile-time by setting the - ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL flag. In this case, an - instance of the Select_Reactor class will be created and used - as the implementation. - - Reactor_Impl: - - Reactor_Impl is an abstract class (i.e., the Bridge). - Select_Reactor and WFMO_Reactor inherit from this class. - - Select_Reactor: - - Previously known as the Reactor class. This class implements - the Reactor_Impl interface by using the select() system - call. This implementation is available on all platforms - (including Win32). - - WFMO_Reactor: - - WFMO (Wait For Multiple Objects) Reactor, previously known as - the ReactorEx class. This class implements the Reactor_Impl - interface by using the WaitForMultipleObjects() system call. - This implementation is currently only available on Win32 - platforms. - - Code changes for users: - - The higher authorities of ACE have decided that ReactorEx was - a "goofy" name and made little sense in the new hierarchy. - Therefore users using the old ReactorEx will have to change - over to start using the Reactor class (and make sure that the - implementation class being used is WFMO_Reactor). - - Also users that have extended Reactor or ReactorEx must - now subclass from Select_Reactor or WFMO_Reactor, - respectively. - - * ace/ReactorEx: - - The ReactorEx interface has been extended to be identical to the - Reactor interface. Some of these new operations will not be - supported in this version. However, we will have interface - compatability at this point. This allows the creation of the new - Reactor hierarchy in ACE. - - Removed all static (singleton) methods from ReactorEx. These are - not necessary anymore since ReactorEx will become an - implementation class. Reactor will take over this functionality. - - Changed methods names from resume_all to resume_handlers and - suspend_all to suspend_handlers. This increases the similarity - between ReactorEx and Reactor. - - Add a lock_adapter so that we can return an ACE_Lock form of our - internal lock. - - Added signal handling capabilities to ReactorEx. - - Added handler, requeue_position, mask_ops, and ready_ops - operations. However, they are not supported in this - version. They are mostly here for interface compatibility with - Reactor. - - Added a size() accessor that returns the current size of the - ReactorEx's internal descriptor table. - - Added an initialized() accessor that returns true if ReactorEx - has been successfully initialized, else false. - - * ace/Reactor: - - The Reactor interface has been extended to be identical to the - ReactorEx interface. Some of these new operations will not be - supported in this version. However, we will have interface - compatability at this point. This allows the creation of the new - Reactor hierarchy in ACE. - - Added resume_handler(ACE_Handle_Set &) and - suspend_handler(ACE_Handle_Set &) to the Reactor. This - increases the similarity between ReactorEx and Reactor. - - Add a lock_adapter so that we can return an ACE_Lock form of our - internal lock. This changes the signature of the return type - from ACE_Reactor_Lock to ACE_Lock. - - Added a size() accessor that returns the current size of the - Reactor's internal descriptor table. - - Added wakeup_all_thread() operation. Currently it just does a - notify. - - Added alertable_handle_events() operation. Currently it just - calls handle_events(). - - Added register_handler (that take event handles) operations. - However, they are not supported in this version. They are mostly - here for interface compatibility with ReactorEx. - - * ace/XtReactor: Now inherits from Select_Reactor instead of - Reactor. - - * ace/Timer_Queue_T.h: Removed the inclusion of Time_Value.h. This - file does not exist anymore - - * ace/Synch_T (ACE_Lock_Adapter): Changed the implementation of - the adapter such that the user is allowed to (optionally) pass - in the locking mechanism. - - * ace/Strategies: Removed ACE_ReactorEx_Notification_Strategy. - - * ace/Service_Config: Updated Service_Config so that all ReactorEx - and Proactor methods are removed. ReactorEx does not exist any - longer and Proactor methods are available as statics methods on - the Proactor class. - - * ace/OS.h (ACE_DEFAULT_SELECT_REACTOR_SIZE): Changed - ACE_DEFAULT_REACTOR_SIZE to ACE_DEFAULT_SELECT_REACTOR_SIZE. - There is no default size dictated by the Reactor class anymore. - - * ace/Local_Tokens,Token: Added new methods: acquire_read, - acquire_write, tryacquire_read, tryacquire_write. These methods - allow the Tokens to be used by the ACE_Lock_Adapter class. - - * ace/Handle_Set.h (MAXSIZE): Changed ACE_DEFAULT_REACTOR_SIZE to - ACE_DEFAULT_SELECT_REACTOR_SIZE. There is no default size - dictated by the Reactor class anymore. - - * ace/Event_Handler: Removed the Proactor and ReactorEx pointers - from Event_Handler. The Proactor has its own event handler - (ACE_Handler), and the ReactorEx does not exist anymore. - - * ace/Proactor: - - Changed Proactor to work with the new Reactor. - - Updated Proactor to bring it upto date with the recent changes - to the Timer_Queue. - - * tests: - - Removed the ACE_NEW_THREAD macro. With the new thread adapter, - the log stream for the new thread will automatically be set to - the creator thread's stream. Therefore, this macro is not - needed. - - Removed the inclusion of Service_Config.h. All tests are now - accessing the singletons that are supported by the class directly. - - * examples/Reactor/Proactor: Updated examples to use and access - the new Reactor class instead of the old ReactorEx. - - * examples/Reactor/ReactorEx: Updated examples to use and access - the new Reactor class instead of the old ReactorEx. - -Sun Sep 14 09:50:22 1997 Douglas C. Schmidt - - * ace/Singleton.i (ACE_Singleton): Moved the definition of the - ACE_Singleton default constructor into the *.i file. In - general, it's not a good idea to put definitions in *.h files. - - * tests/test_config.h: Improved the #undef scheme for ACE_NDEBUG. - -Sat Sep 13 23:51:55 1997 Nanbor Wang - - * ace/ACE_Library.{mak,mdp}: Removed Service_Record.cpp and added - Service_Type.cpp in project file. - - * ace/: Removed ace.{mak,mdp} and replaced them with - ACE_Library.{mak,mdp}. MSVC 4.2 insists to change the release - version DLL from our original setting "ace.{dll,lib}" to "ACE - dynamic Library.{dll,lib}". This is so far the only known - method to get around this. - - * netsvcs/servers/servers.{dsw,dsp}: Changed the output filenames - of debug version from maind.exe to main.exe. - - * netsvcs/lib/netsvcs.{dsw,dsp}: Changed the output filenames of - debug version from netsvcsd.{dll,lib} to netsvcs.{dll,lib}. - - * ace/ace.dsw: - * ace/ace_{dll,lib}.dsp: Removed Service_Record.cpp and added - Service_Type.cpp. - - * ace/Log_Msg.cpp (open): Fixed a typo. - - * ace/Reactor.cpp: Fixed a typo. - -Sat Sep 13 17:23:22 1997 Douglas C. Schmidt - - * ACE version 4.3.6, released Sat Sep 13 17:23:22 1997. - -Sat Sep 13 12:11:50 1997 Douglas C. Schmidt - - * tests: #include "test_config.h" before all the other files so - that we always have the ACE_ASSERT enabled... Thanks to Carlos - for noticing this. - - * ace/Reactor.cpp: Added Arturo's improvements for suspending and - resuming Event_Handlers. - - * tests/Reactors_Test.cpp: As a result of the new changes to - ACE_Thread_Manager, the Reactors_Test now seems to be working - fine. - - * ace/Thread_Manager.cpp (append_thr): When we append a new - Thr_Descriptor make sure to zero-out the cleanup_info_ fields - since otherwise horrible things will happen... - - * ace/Reactor: Added a new ACE_Reactor_Handle_Set called - suspend_set_ and updated the suspend_i() and resume_i() method - to use this set to store the ready bits that are enabled when we - suspend and resume and Event_Handler, respectively. Thanks to - Arturo for this suggestion. - - * tests/TSS_Test.cpp (main): Had to move the allocation and - deletion of TSS_Error into the ACE_HAS_THREADS section since - otherwise this test doesn't work when threading is disabled. - - * tests/Thread_Manager_Test.cpp: Move the template specialization - inside of the ACE_HAS_THREADS macro since otherwise this test - doesn't work when threading is disabled. - - * ace/Thread_Manager.cpp: Arrgh! Must initialize the cleanup_info - fields to 0 in the constructor for ACE_Thread_Descriptor! This - should fix a nasty bug... - - * tests/Async_Timer_Queue_Test.cpp: Continued to improve the - documentation in the test of the ACE_Async_Timer_Queue_Adapter. - - * ace/Timer_Queue_T.cpp (schedule): Oops, must pass &this->mask_ - to ACE_Sig_Set rather than this->mask_. - - * ace/Object_Manager.cpp: Changed #include - "ace/Service_Repository.h" to #include "ace/Service_Config.h" - since we now call ACE_Service_Config::close(). - - * ace/Service_Types: Removed a nasty circular dependency by simply - having each of the ACE_Service_Type_Impl subclasses take const - void *'s rather than their specific type (i.e., ACE_Stream or - ACE_Module, etc.). This turns out not to be a problem since we - treated them as const void *'s internally anyhow... - - * ace/Strategies_T.cpp: Fixed a bug in ACE_DLL_Strategy: - - ACE_Service_Type_Impl stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_); - - should be - - ACE_Service_Type_Impl *stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_) - - I wonder how this ever compiled?! - -Fri Sep 12 13:26:50 1997 Douglas C. Schmidt - - * ace/Mem_Map.cpp (close): Removed the following code in the - close() method that appears to be redundant with the code in - unmap(): - - if (this->file_mapping_ != this->handle_ - && this->file_mapping_ != ACE_INVALID_HANDLE) - ACE_OS::close (this->file_mapping_); - - Also cleaned up the close() code so that it doesn't try to close - the handle multiple times, even if close() is called more than - once. Thanks to Beged-Dov for reporting - this. - - * tests/Async_Timer_Queue_Test.cpp: Improved the structure of the - program and finished implementing the new feature that makes it - possible to avoid blocking SIGQUIT. - - * ace/Timer_Queue_T: Added support for an ACE_Sig_Set that can be - passed into the constructor of ACE_Async_Timer_Queue_Adapter. - This will enable us to selectively block only certain signals. - - * ace/Signal: Added a new constructor for ACE_Sig_Set that takes - ACE_Sig_Set * and also improved the documentation of the - constructor interfaces. - -Fri Sep 12 13:46:04 1997 David L. Levine - - * ace/OS.[hi],Log_Msg.h,config-lynxos.h, - include/makeinclude/platform_lynxos.GNU: added LynxOS port, - provided by Dave Mayerhoefer . Note how few - files were affected. What's even more amazing is the very small - number, 8, of very minor code changes to OS.[hi] and Log_Msg.h. - This is a tribute to the maturity of - - - * ace/Service_Object.h: Moved the ACE_Service_Type class into the - Service_Object.h file since this is "publically" visible to - applications. - - * ace/Service_Types.h: Improved the documentation of the - ACE_Service_Type subclass implementations. - - * ace/Service_Types: Changed the name next_ to link_ to be - consistent with the accessor name. - - * ace: Renamed Service_Record.{h,i,cpp} to Service_Types.{h,i,cpp} - to reflect the recent change in names. - - * ace/Service_Object.h: Renamed ACE_Service_Type to - ACE_Service_Type_Impl and ACE_Service_Record to ACE_Service_Type - in order to emphasize the use of the Bridge pattern. Thanks to - Eric Newton for motivating this. - - * ace/Svc_Conf.y: Removed the warning about Service name being - different from Module name. I'm not sure why this was - complaining in the first place. Thanks to Eric Newton for - pointing this out. - - * netsvcs/lib/README: The entry point for the time service client - is _make_ACE_TS_Clerk_Processor and not - _make_ACE_TS_Clerk_Connector. Thanks to Ivan for pointing this - out. - -Thu Sep 11 10:59:12 1997 - - * ace/Connector.cpp (handle_output): Increased the idle time - before we check the status of a non-blocking connection from 1 - ms to 35 ms when ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS is - defined (i.e., Win32.) This is very odd but wait a whole lot - longer seems to solve the problem. - - * ace/Log_Msg.cpp (close): On Win32, ACE_Log_Msg_Manager needs to - delete main thread's ACE_Log_Msg instance also. - -Thu Sep 11 10:37:00 1997 Carlos O'Ryan - - * ace/ACE.cpp: - * ace/INET_Addr.cpp: - * ace/Log_Msg.h: - * ace/Memory_Pool.h: - * ace/OS.h: - * ace/OS.i: - * ace/Parse_Node.cpp: - * ace/Strategies_T.h: - * bin/clone.cpp: - * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h: - I checked the use of MAXNAMELEN vs. MAXPATHLEN; all buffers - intended to keep full filenames should have at least - MAXPATHLEN+1 chars. - Only buffers that will keep basenames (without any directories) - should have MAXNAMELEN+1 bytes. - I also added a new macro ACE_MAX_FULLY_QUALIFIED_NAME_LEN which - is the maximum number of characters for a fully qualified - internet hostname. - There remain one obscure usage of these macros in ace/Malloc.h - and Local_Naming_Space_T.{h,cpp}, but a quick fix broke - something, I will try again soon. - -Thu Sep 11 08:52:36 1997 David L. Levine - - * ace/OS.cpp (thr_key_detach): check to see if the - ACE_TSS_Cleanup lock has been constructed, and not - destructed, before attempting to use it. Statics are evil. - - * ace/Log_Msg.cpp (~ACE_Log_Msg): release guard before calling - ACE_Log_Msg_Manager::close (), because that deletes the lock. - - * ace/Managed_Object.{h,cpp} (get_object): changed type of "id" - to int because it will often be passed an enum. Pass "id" by - value to get_object (int id), for preallocated objects. - - * ace/Object_Manager.{h,cpp}: added ACE_LOG_MSG_INSTANCE_LOCK, - and ACE_PREALLOCATE_OBJECT macro. - - * include/makeinclude/wrapper_macros.GNU: ignore shared_libs_only - in modules that only build a static lib. Fixed shared_libs_only - by removing OBJDIRS, unless BIN is undefined, and VDIR. Removed - SHOBJ from both shared_libs_only and static_libs_only because - they're unused. - - * include/makeinclude/rules.local.GNU: added lib*.*_pure* to - clean.local target, to remove Purified libraries. - - * examples/Connection/non_blocking/Makefile, - examples/Service_Configurator/IPC-tests/server/Makefile: - removed -L./ from LDFLAGS because it's redundant: - wrapper_macros.GNU adds it. - -Wed Sep 10 22:58:10 1997 Douglas C. Schmidt - - * ace/Thread_Manager.cpp (exit): Reordered the code so that it - will keep the lock held long enough to copy out the thread exit - hook but will release the lock before calling this hook. - -Wed Sep 10 11:04:08 1997 David L. Levine - - * ace/config-sunos5.5-g++.h: added - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. - - * include/makeinclude/wrapper_macros.GNU: added PIC= with - static_libs_only, and added list of supported make flags. - - * include/makeinclude/wrapper_macros.GNU: added support for - debug=0, etc. Also, made debug, optimize, and profile - flags independent instead of exclusive. Thanks to Per - Andersson for suggesting this. - - * include/makeinclude/platform_*.GNU: replaced "CFLAGS += - $(DCFLAGS) with debug=1 so that debugging can easily be - disabled. Thanks to Per Andersson and James CE Johnson - for noticing this deficiency. - - * include/makeinclude/platform_vxworks5.x_g++.GNU: removed - "-I. -I$(ACE_ROOT)" from CFLAGS because it duplicates the - INCLDIRS set in wrapper_root.GNU. - -Wed Sep 10 10:35:06 1997 David L. Levine - - * ACE version 4.3.5, released Wed Sep 10 10:35:06 1997. - -Wed Sep 10 10:25:41 1997 David L. Levine - - * ace/Thread_Manager.cpp (exit): copy the thread exit hook before - releasing the guard, and call it after releasing the guard. - - * examples/Shared_Malloc/test_malloc.cpp (spawn): added (char *) - cast of slave_name () to avoid compilation warnings on Solaris. - -Wed Sep 10 00:43:04 1997 Nanbor Wang - - * ace/Makefile: Added Managed_Object to template sources. - - * ace/Object_Manager.{h,cpp}: * ace/Managed_Object.{h,cpp}: - Separate ACE_Managed_Object to a new set of file. - -Tue Sep 9 23:41:56 1997 Douglas C. Schmidt - - * tests/Reactors_Test.cpp (main): Check to see if wait() returns - -1 and then test to see what's gone wrong! - - * ace/OS.h: Added a "fake" #define for SIGALRM so that programs - will *compile* on platforms like Chorus. Thanks to Wei Chiang - for reporting this. - - * examples/Shared_Malloc/test_malloc.cpp (spawn): HP/UX doesn't - seem to like const char *const argv[] being given an initializer - list. I've fixed this to be just plain ol' char *argv[]. - Thanks to Sandro Doro for reporting this. - - * ace/Handle_Set.i (clr_bit): Replaced SOCKET with ACE_SOCKET so - this will compile on UNIX. - -Tue Sep 09 17:16:21 1997 - - * ace/Proactor: Updated Proactor to bring it upto date with the - recent changes to the Timer_Queue. - - * ace/Handle_Set.i (clr_bit and set_bit): These methods now change - the size_ member of the class on Win32. This is necessary since - the ACE_Handle_Set::operator fd_set *() accessor has been - optimized for size_ == 0. - -Tue Sep 09 09:14:07 1997 David L. Levine - - * ace/OS.cpp (cleanup_tss): On WIN32 and with ACE_HAS_TSS_EMULATION, - delete the ACE_TSS_Cleanup instance instead of registering it for - cleanup via the ACE_Object_Manager's at_exit (). This should allow - applications to use ACE_Log_Msg in their at_exit () hooks. Thanks - to Wei Chiang for reporting this problem. - - * ace/Object_Manager.{h,cpp}: added guard of internal structures. - (dtor): call at_exit hooks before calling cleanup_tss, now that - the ACE_TSS_Cleanup instance is no longer registered for an at_exit - call. (at_exit): set errno instead of returning different values - on error. Added ACE_Managed_Object template class, intended for - use in replacing static instances. - - * ace/Thread_Manager.cpp (exit): release guard before running the - thread exit hooks. This should help avoid deadlocks, in case - one of those hooks needs to operate on the Thread_Manager. - - * ace/CORBA_Handler.{h,cpp},Dump.{h,cpp},Object_Manager.{h,cpp}: - preallocate locks for CORBA_Handler and Dump in ACE_Object_Manager. - Statics are evil. - - * ace/Synch.{h,cpp},OS.cpp,Object_Manager.{h,cpp}: removed - ACE_TSS_Cleanup_Lock and replaced it with a preallocated mutex - in OS.cpp. Thanks to Nanbor for reporting problems at shutdown - with the old ACE_TSS_Cleanup_Lock static instance. - - * include/makeinclude/platform_sunos5_sunc++.GNU: when building - libraries only, don't use CC to create individual .shobj/*.so - files. The .so files are not needed to build libraries, because - libraries are built with -G. (They are needed to avoid upsetting - the ACE make rules, so they're created as links to their - corresponding .o files.) The .so files are still needed when - building executables in order to get all template instantiations. - - * include/makeinclude/platform_sunos5_g++.GNU: removed unused - SOLINK definitions. - -Mon Sep 8 18:38:22 1997 Douglas C. Schmidt - - * tests/Handle_Set_Test.cpp: It is possible for the order to get - the handles (using the iterator) will not agree with insert - order in ACE_Unbounded_Queue. It's best to use - ACE_Unbounded_Set. Thanks to Arturo for this fix. - -Mon Sep 8 17:43:43 1997 Darrell Brunsch - - * ace/Timer_{List,Wheel,Hash,Heap}_T.cpp: The iter() method now - returns a pointer to an iterator that is in a reset state - instead of an unknown one. - -Mon Sep 8 14:05:15 1997 Nanbor Wang - - * ace/ACE.cpp (read_adapter): Removed ACE_Thread_Control object in - this function. This is now taken care of by ACE_Thread_Manager. - (register_stdin_handler): This function no longer uses - ACE_Stdin_Args to pass in thread manager into read_adapter. - - * ace/ACE.h (ACE): Removed class ACE_Stdin_Args, because it is no - longer needed. - -Mon Sep 08 11:49:02 1997 David L. Levine - - * tests/run_tests.sh: moved log file checks out to separate file, - run_tests.check. - - * tests/run_tests.vxworks: added one-button test for VxWorks. - Check it out, Darrell. - - * ace/Filecache.cpp: commented out unused constants [RW]COPY_FLAGS. - -Mon Sep 08 08:26:52 1997 David L. Levine - - * ACE version 4.3.4, released Mon Sep 08 08:26:52 1997. - -Sat Sep 6 10:41:17 1997 Carlos O'Ryan - - * ace/Malloc.h: - sizeof() must be casted to int in ACE_CONTROL_BLOCK_ALIGN_LONGS - otherwise unsigned int arithmetic is used, thus obtaining - unexpected results. - -Sat Sep 06 09:07:02 1997 David L. Levine - - * OS.{h,cpp}: added ACE_Cleanup base class and - ace_cleanup_destroyer adapter. - - * Object_Manager.*: added at_exit () interface for ACE_Cleanup objects. - - * Singleton.{h,cpp},Token_Invariants.{h,cpp},Token_Manager.{h,cpp}: - base on ACE_Cleanup, so that simpler ACE_Object_Manager::at_exit () - can be used. - - * performance-tests/Misc/Makefile: moved $(BIN) files from FILES - to SRC so that they don't get put into libPerf. - -Sat Sep 6 02:36:31 1997 Nanbor Wang - - * tests/test_config.h (set_output): Added openning flag ios::trunc - explicitly if we are not appending to the opening ofstream. - This is required by standard CPP iostream libraries on NT (i.e., - we can't use ios::out alone when ofstream.open a file.) - -Sat Sep 6 00:21:33 1997 Douglas C. Schmidt - - * ace/Synch_T.h: Added new constructors: - - ACE_Guard(ACE_LOCK& l) : lock_(&l) - { this->owner_ = this->acquire(); } - - ACE_Read_Guard(ACE_LOCK& m) : ACE_Guard(&m) - { this->owner_ = this->acquire_read(); } - - ACE_Write_Guard(ACE_LOCK& m) : ACE_Guard(&m) - { this->owner_ = this->acquire_write(); } - - Remove default argument to current Guard classes. - - ACE_Guard(ACE_LOCK&l, int block) - ACE_Read_Guard(ACE_LOCK& m, int block) - ACE_Write_Guard(ACE_LOCK&m, int block) - with the current semantic. - - This change allows OS platforms with - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION or ACE_HAS ??? PRAGMA - ???, to> invoke common case constructor in a more efficient - way. Thanks to Arturo for this. - - * ace/Synch_T.h: ACE_Guard's destructor should be: - - ~ACE_Guard() { this->release(); } - - and not - - ~ACE_Guard() { if (this->owner_ != -1) this->release(); } - - because ACE_Guard::release has this test. Thanks to Arturo for - reporting this. - - * ace/ARGV.cpp: Declared the char* parameters for the ACE_ARGV - class constructors as const. Since they are copied in the - constructors, this is a safe thing to do. This makes it easier - to pass the result of string::c_str() to it. Thanks to Stephen - Coy for this suggestion. - - * ace/Thread_Manager.cpp: We were missing a Guard in the - ACE_Thread_Manager::at_exit() method. - - * ace/config-sunos5.5-sunc++-4.x.h: It appears that we need to set - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS for Solaris 2.5 since otherwise - wierd things happen randomly. This is based on the following man - page entry for pthread_exit(): - - Do not call pthread_exit() from a cancellation cleanup handler - or destructor function that will be invoked as a result of - either an implicit or explicit call to pthread_exit(). - - * ace/Thread_Manager.cpp (run_thread_exit_hooks): Once the cleanup - hook(s) are called we set the value of the cleanup hook variable - to 0 to avoid false matches later on. - -Fri Sep 5 21:57:44 1997 Nanbor Wang - - * ace/Containers.i (is_empty): - * ace/Malloc.cpp (instance): Commented out ACE_TRACE in these - routines. They were causing recursive call if we used TRACE. - Thanks to Craig Perras for solving - this. - - * ace/Handle_Set.i (fd_set *): Added conditional compilation code - for Win32 platforms. This is because we don't maintain - on Win32 and, therefore, can't depend on it. - -Fri Sep 5 19:05:02 1997 Douglas C. Schmidt - - * tests/Thread_Manager_Test.cpp (main): moved delete - signal_catcher into the ACE_HAS_THREADS part of the main() - function. - - * ace/Reactor.cpp (check_handles): When handle_error was optimized - with fstat we put NULL value to second argument. It requires a - value to SCO OpenServer to work. Therefore, I added struct stat - temp and changed ACE_OS::fstat(handle, NULL) by - ACE_OS::fstat(handle, &temp); Thanks to Arturo for fixing this. - - * examples/Threads/process_manager.cpp (sig_handler): Fixed a bug - where the thread was exiting if no more children existed. - Thanks to Avraham Nash for reporting - this. - - * ace/Handle_Set: Added the following performance enhancements: - - . Assignment operator to optimize size == 0. - - . min_handle to manage the case when the Handle_Set start in - handle different of zero. - - . A new iterator algorithm tuned for select function calls. - - Thank to Arturo for these enhancements. - - * ace/config-aix-4.1.x.h: Added ACE_LACKS_TIMESPEC_T. Thanks to - Rob Head (rhead@virtc.com) for reporting this. - - * ace/OS.cpp (fork_exec): Changed the logic so that we don't - create a new console window on Win32. This isn't done on UNIX, - so there's no point in doing it here. Thanks to Jeff Richard - for pointing this out. - - * ace/Reactor.cpp: The call to - ACE_Reactor_Handler_Repository::open() in the constructor of - ACE_Reactor should check for == -1! Thanks to Brian Mendel for - reporting this. - - * ace/Reactor.cpp (remove_handler): Fixed a braino where the - conditional compile for NSIG should have been > 0 rather than == - 0. Thanks to fixing this codeKaren Amestoy - for reporting this fix. - -Fri Sep 05 16:17:50 1997 David L. Levine - - * performance-tests/Misc/preempt.cpp: added command line options, - and explanation on how to interpret the results. - -Thu Sep 04 10:26:11 1997 David L. Levine - - * ace/OS.cpp: (tss_open): removed paren from around type in "new" - statement, because GHS (and ANSI C++) compilers will choke on it. - Thanks to Brian Mendel for reporting - this. - - * ace/Thread_Manager.cpp: (ACE_Thread_Descriptor ctor): zero out - cleanup_hook_ in cleanup_info_ because we read it later on. - (dump): added guard because thr_table_ is accessed. (wait): - hacked in thr_yield () to give waited threads a chance to clean - up before continuing. - - * ace/OS.h (ACE_Cleanup_Info): added default ctor. - - * ace/Log_Msg.cpp (close): delete main thread's Log_Msg instance, - on Solaris if ACE_HAS_EXCEPTIONS is not defined, because main - thread TSS dtors apparently don't get called. - - * ace/Token_Manager.{h,cpp}: register ACE_Token_Manager singleton - for deletion with ACE_Object_Manager. - - * ace/Token_Invariants.{h,cpp}: register ACE_Token_Invariant_Manager - singleton for deletion with ACE_Object_Manager. - - * ace/Naming_Context.cpp (close) moved deletion of "name_options_" - from dtor to close (), because when Service_Repository is closed, - it calls close () instead of deleting the service. - - * ace/Process_Strategy.cpp (handle_signal): suppress printouts during - shutdown, to prevent using ACE_Log_Msg while it's being deleted. - - * ace/Timer_List.cpp: replace ACE_Recursive_Thread_Mutex with - ACE_SYNCH_RECURSIVE_MUTEX, for non-threaded platforms. - - * tests/Reactors_Test (~Test_Task): moved ASSERT after the printout, - so we can see why it failed. (svc): added printout with thread ID. - (main): deleted reactor at end of test to prevent leak. - - * tests/SPIPE_Test (client): increased sleep time to 10 sec, - because a long delay is needed with Purify. - - * tests/UPIPE_Test (connector): added 5 second sleep to give - acceptor a chance to start up. - - * include/makeinclude/wrapper_macros.GNU: added -max_threads=100 to - Quantify options. - - * include/makeinclude/rules.local.GNU: added *.sym to clean target. - -Thu Sep 04 09:39:08 1997 David L. Levine - - * ACE version 4.3.3, released Thu Sep 04 09:39:08 1997. - -Thu Sep 04 08:48:13 1997 David L. Levine - - * include/makeinclude/wrapper_macros.GNU: added shared_libs_only - and static_libs_only build options. Only static_libs_only - has been tested successfully. - - * include/makeinclude/rules.lib.GNU: added INSTALL support for - shared_libs_only and static_libs_only. - - * include/makeinclude/platform_vxworks*.GNU: use static_libs_only. - - * ace/OS.cpp: moved tss_open ()/tss_close () calls from invoke () - to ace_thread_adapter. - - * examples/Threads/auto_event.cpp,manual_event.cpp, - process_manager.cpp,reader_writer.cpp,tss2.cpp: - cast spawn entry point to ACE_THR_FUNC. - - * examples/Threads/task_four.cpp (Invoker_Task): rearranged - initializers to match declaration order. - - * examples/Threads/thread_specific.cpp (worker): use - ACE_OS::printf () instead of printf (), and print out the - ACE_hthread_t instead of the ACE_thread_t. - - * examples/IPC_SAP/SPIPE_SAP/client.cpp,consumer_msg.cpp, - consumer_read.cpp,producer_msg.cpp,producer_read.cpp,server.cpp: - moved #include of shared.h inside ACE_HAS_STREAM_PIPES protection - to avoid compilation warnings on unsupported platforms. - - * examples/Reactor/Ntalker/ntalker.cpp (main): removed unused "argc". - - * examples/*/*.cpp,netsvcs/clients/Tokens/mutex/test_mutex.cpp: - added args to main (). - -Wed Sep 3 21:38:18 1997 Carlos O'Ryan - - * ace/config-irix6.x-sgic++.h: - IRIX uses pthread_sigmask to manage per-thread signal mask, - thanks to Gonzalo Diethelm (gonzo@ing.puc.cl) for pointing out - this one. - - * ace/OS.h: - Removed an initial '#' for a comment line, thanks to Gonzalo - Diethelm (gonzo@ing.puc.cl) for pointing out this one. - - * ace/Timer_Hash_T.cpp: - * ace/Timer_Hash_T.h: - * ace/Timer_Heap_T.cpp: - * ace/Timer_Heap_T.h: - * ace/Timer_List.cpp: - * ace/Timer_List_T.cpp: - * ace/Timer_List_T.h: - * ace/Timer_Queue_T.cpp: - * ace/Timer_Queue_T.h: - * ace/Timer_Wheel_T.cpp: - * ace/Timer_Wheel_T.h: - In the word of its author: Modified the iterators kept in each - of these classes so that they are constructed dynamically on the - heap after the Queue has been properly initialized. Otherwise, - the iterators try to iterate over a non-initialized queue, and - fail miserably (usually dumping core). - Once more thanks to Gonzalo Diethelm (gonzo@ing.puc.cl) for this - changes. - - * tests/UPIPE_SAP_Test.cpp: - Gonzalo improved the error message. - - * ace/README: - Gonzalo updated the documentation for some macros. - -Wed Sep 03 15:21:46 1997 David L. Levine - - * ace/OS.h: define ACE_TSS macros with ACE_HAS_TSS_EMULATION, - and renamed some ACE_TSS_Emulation methods. - - * ace/OS.i: allow TSS_Emulation storage to be on thread stack, - instead of always dynamically allocating it. - - * ace/OS.cpp (ACE_Thread_Adapter::invoke): allocate TSS_Emulation - storage on thread stack. (ACE_TSS_Cleanup::exit): only call - a TSS destructor if the thread's value is non-zero. - - * ace/Thread_Manager.cpp: support TSS_Emulation. - - * ace/Thread_Manager.cpp (resize): zero out unused cleanup_hooks - in thr_table_; (run_thread_exit_hooks): check for zero cleanup - hook before calling. - - * ace/Synch_T.*: allow ACE_HAS_TSS_EMULATION _or_ - ACE_HAS_THREAD_SPECIFIC_STORAGE. - - * ace/Object_Manager.{h,cpp}: allocate main thread's TSS_Emulation - storage in the ACE_Object_Manager instance. - - * ace/Log_Msg.h: befriend ACE_OS::cleanup_tss () instead of - ACE_Object_Manager, because the cleanup path is now indirect - from the ACE_Object_Manager. - - * ace/Log_Msg.cpp: use TSS_Emulation on VxWorks, so - VxWorks-specific code was removed. - - * ace/Task.cpp: removed unused #include of ace/Dynamic.h. (It had - been used for template instantiations, but they were moved.) - Also, removed unused #include of ace/Object_Manager.h. - - * ace/Svc_Handler.{h,cpp}: register Svc_Handler singleton for - deletion with the ACE_Object_Manager. - - * tests/Process_Strategy_Test (Options): added a destructor so that - the dynamically allocated concurrency_strategy_ can be deleted. - -Wed Sep 3 08:05:26 1997 Steve Huston - - * ace/Message_Block.h: Corrected comment on release(void) - the - underlying ACE_Data_Block's refcount is decremented; the - ACE_Message_Block is always deleted. - -Tue Sep 2 18:26:22 1997 Douglas C. Schmidt - - * ace/Task: Revised the ACE_Task_Base::svc_run() method to - register a thread exit hook (ACE_Task_Base::cleanup()) - - * ace/Task: Added a static method called cleanup() that can serve - as a thread exit hook to ensure that close() is always called - when a task exits a thread. - - * ace/Thread_Manager: Added the first-cut implementation of the - thread exit hooks. This one is butt-simple -- just allowing a - single hook per-thread, but that should be enough to get us over - the hump... - - * ace/OS.h: Moved the object_info_t type from Object_Manager.h and - renamed it to ACE_Cleanup_Info since we will use it with the - Thread_Manager and the Object_Manager. - - * ChangeLog-97b: Emptied out the ChangeLog-97b file until - we move the ChangeLog to this file... - - * ace/OS.h: Moved the typedef from the - ACE_Object_Manager into global scope so that it can also be used - by the ACE_Thread_Manager. - - * ace/DEV_IO: Moved the get_remote_addr() and get_local_addr() - from the DEV class to the DEV_IO class, which seems to be more - consistent with how they should be used. - - * ace/FILE_IO: Added the get_remote_addr() and get_local_addr() - methods to FILE_IO. Now we should be able to use this with the - Connector pattern. Thanks to Stephen Coy - for reporting this. - - * ace/DEV_Connector*h, ace/FILE*.h: Added "traits" for PEER_ADDR - and PEER_STREAM. Now we should be able to use this with the - Connector pattern. Thanks to Stephen Coy - for reporting this. - - * tests/Async_Timer_Queue_Test.cpp (main): Replaced the use of - fputs() with read() so that it will be signal-safe. Thanks to - Carlos for pointing out the need for this. - - * ace/Task: All the complex ACE_Task_Exit logic has been moved out - of the Task file and into the Thread_Manager file. This will - both simplify and generalize the behavior of cleanups on thread - exit. - -Tue Sep 2 14:42:52 1997 Nanbor Wang - - * ace/config-chorus.h (ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR): - Added this directive for Chorus uses g++. Thanks to David - Levine for pointing this out. - -Mon Sep 01 21:31:25 1997 David L. Levine - - * ChangeLog-97b,Makefile,bin/create_ace_build: ChangeLog is no longer - a symbolic link, but instead is the most recent ChangeLog file. - ChangeLog-97b was moved to ChangeLog. - - * ace/Timer_Queue_T.cpp (schedule): added ACE_UNUSED_ARGs for act - and interval. - - * ace/OS.h: changed ACE_SEH_EXCEPT and ACE_SEH_FINALLY from null - to "while (0)" on all platforms except ACE_WIN32. Thanks to - Nanbor for this bit of macro wizardry. - - * ace/OS.i (tss_base): cast VxWorks TCB spare field to a void **& - instead of a void **, because the function returns a reference - to it. - - * ace/OS.cpp: protected definition of - ACE_TSS_Emulation::tss_collection_ on VxWorks, where it's not used. - - * ace/OS.cpp (ACE_Thread_Adapter::invoke) don't exit the thread - with TSS_EMULATION, except on WIN32. (thr_create) On VxWorks, - use thread adapter as entry point instead of func (via macros). - - * ace/config-vxworks*.h: added ACE_HAS_TSS_EMULATION, with - ACE_DEFAULT_THREAD_KEYS set to 16, and ACE_LACKS_UNIX_SIGNALS. - - * tests/Async_Timer_Queue_Test.cpp: added template instantiations. - - * tests/IOStream_Test.cpp: no longer need to dynamically allocate - the ACE_SOCK_IOStreams with the recent ACE_Thread_Manager changes. - That was causing occasional problems with unsafe deletion of the - underlying ostreams. Thanks to James Johnson for consulting on - this intermittent (nasty) problem. - - * tests/SPIPE_Test.cpp: (main) added ACE_UNUSED_ARG of client - and server. - - * tests/Thread_Manager_Test (worker): added ACE_UNUSED_ARG (thr_mgr) - if ACE_LACKS_UNIX_SIGNALS, and added template instantiations. - - * tests/Thread_Manager_Test.cpp: dynamically allocate the - signal_catcher so that we can destroy it before the main - thread's TSS is cleaned up. - - * tests/TSS_Test.cpp: dynamically allocate TSS_Error so that we - can ensure its deletion before that of ACE_Object_Manager. - Also, makde the code a little easier to change the number of threads. - - * include/makeinclude/wrapper_macros.GNU: added Purify options to - ignore SIGINT and set max threads to 100. - -Mon Sep 1 10:53:39 1997 Douglas C. Schmidt - - * ace/Handle_Set: Added an assignment operator that is optimized - for the case when the right-hand side is 0. - - * ace/OS: The ACE_THR_C_FUNC macro was confusing for Win32. We've - replaced this with the original UNIX typedef and will just use - LPTHREAD_START_ROUTINE for Win32. - - * tests/Thread_Manager_Test.cpp (main): Revised this test so that - we don't have race conditions for suspend() and resume(). - - * tests/Tokens_Test.cpp (run_test): Removed the use of - THR_SUSPENDED and resume_all() since this is broken due to race - conditions and other hazards implicit in using suspend() and - resume() on threads. - - * ace/Handle_Set.cpp: There were several ACE_INLINE methods in the - Handle_Set.cpp file. I've removed the ACE_INLINE flag. - - * tests/SPIPE_Test.cpp: If ACE doesn't have STREAM pipes on a - platform (or we aren't on NT) then don't try to run this test. - Thanks to James CE Johnson for reporting - this. - - * ace/config-sunos5.[45]-g++.h: ACE defines _REENTRANT in - config.h. Application using classes of ACE can conflict by - using compilation option as -D_REENTRANT. I fixed this by - surrounding the define as: - - #if !defined (_REENTRANT) - #define _REENTRANT - #endif /* _REENTRANT */ - - Thanks to Jean-Marc Strauss for - reporting this. - - * ace/Timer_Queue_T.h: We need to #include "ace/Signal.h" since - our Async_Timer_Queue_Adapter needs it. Thanks to Neil Cohen - for reporting this. - - * ace/Reactor.cpp (check_handles): Optimized the check for invalid - handles by using fstat() rather than select() on non-Win32 - platforms. Thanks to Arturo for suggesting this optimization. - -Mon Sep 1 17:52:10 1997 Darrell Brunsch - - * ace/Timer_Heap_T.cpp: Changed cancel (id ...) to check for - previously expired/cancelled timers - -Mon Sep 01 08:43:37 1997 David L. Levine - - * ace/Synch.cpp: added #include of Object_Manager.h. - Thanks to Edan Ayal for reporting this. - -Mon Sep 1 00:46:05 1997 Nanbor Wang - - * ace/README: Added explanation for ACE_HAS_STL_MAP_CONFILICT. - - * ace/OS.h: Added conditional compilation directive - ACE_HAS_STL_MAP_CONFLICT. This is used when users want to - compile ACE with STL library and the STL map class conflicts - with map structure in . - - * ace/config-unixware-2.1.2-g++.h: - * ace/config-unixware-2.01-g++.h: - * ace/config-osf1-4.0-g++.h: - * ace/config-irix5.3-g++.h: - * ace/config-hpux-10.x-g++.h: - * ace/config-linux-pthread.h: - * ace/config-linux-lxpthreads.h: - * ace/config-linux.h: - * ace/config-freebsd.h: - * ace/config-freebsd-pthread.h: - Added ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR flag for all - config files which apparently use g++. - - * ace/config-vxworks-g++.h: - * ace/config-vxworks5.x-g++.h: - * ace/config-sunos4-g++.h: - * ace/config-sunos5.4-g++.h: - * ace/config-sunos5.5-g++.h: - Moved ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR closer to - other template-related directives. - -Sun Aug 31 22:56:30 1997 Douglas C. Schmidt - - * ACE version 4.3.2, released Sun Aug 31 22:56:30 1997. - -Sun Aug 31 22:36:08 1997 Douglas C. Schmidt - - * tests/Async_Timer_Queue_Test.cpp: Need to #include "Timer_List.h" - rather than "Timer_Queue.h". - - * ace: Added ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT for all - config.h files. - - * ace/Handle_Set.cpp (count_bits): Continued to optimize this - method. Now, if ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT enabled - it will use a very fast loop that only runs for as many bits - that are enabled in the bitset. This approach also doesn't have - to access the Global Offset Table in shared libraries, which is - a win. Thanks to Arturo for contributing this. - - * tests/Async_Timer_Queue_Test.cpp: Generalized this test to use - the new ACE_Async_Timer_Queue_Adapter. - - * ace/Timer_Queue_T: Added the new ACE_Async_Timer_Queue_Adapter, - which makes it possible to encapsulate any of the ACE Timer - Queue mechanisms into a asynchronous signal-handling context. - - * ace/OS.i: If the platform doesn't support ualarm() (and it - doesn't lack UNIX signals) then we'll use alarm() rather - than ualarm(). Clearly, this isn't as good as ualarm(), - but it's better than nothing. - - * ace/OS.i: I'd missed replacing - - ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS - - with - - ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS - - in OS.i. Thanks to James CE Johnson for - pointing this out. - -Sun Aug 31 09:58:35 1997 Douglas C. Schmidt - - * Princess Diana was killed today in a senseless auto accident in - Paris, France. This is a very tragic ending to a very promising - life ahead of her. - -Sun Aug 31 15:08:00 1997 David L. Levine - - * tests/Async_Timer_Queue_Test.cpp: fixed and added some - ACE_UNUSED_ARG's. - - * netsvcs/clients/Tokens/invariant/invariant.cpp (run_mutex, - run_reader_writer), - netsvcs/clients/Tokens/mutex/test_mutex.cpp (run_test), - netsvcs/clients/Tokens/rw_lock/rw_locks.cpp (run_thread): - removed unused argument "vp". - - * ace/ACE.i (log2): moved "log" declaration outside of the - for loop because its used after the loop. - - * ace/Task.cpp (instance) only register for destruction with - ACE_Object_Manager when creating a new instance_. - - * ace/Thread_Manager.cpp (ACE_Thread_Control::exit) with TSS - emulation, don't exit the thread. Instead, - ACE_Thread_Adpater::invoke () will do it after cleaning up TSS. - - * ace/Synch{h,cpp}: (ACE_TSS_Cleanup_Lock) register for - destruction with ACE_Object_Manager. - - * ace/OS.*: major cleanup of ACE_TSS_Emulation, esp. how it - interacts with ACE_TSS_Cleanup::exit (). - -Sat Aug 30 17:30:24 1997 Steve Huston - - * Removed these config files: - config-hpux-10.x-aCC.h - config-hpux-10.x-decthreads.h - config-hpux-10.x-nothread.h - config-hpux-10.x-hpc++.h should be used with HP compilers on - HP-UX 10.x. - -Sat Aug 30 14:58:42 1997 Douglas C. Schmidt - - * ace/Signal.cpp (ACE_Sig_Action): Added a new constructor that - also takes an ACE_Sig_Set & *and* registers the handler... - - * ace/Handle_Set.cpp (count_bits): Added a newly optimized - algorithm for cases where - ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT. Thanks to Arturo for - this suggestion. - - * ace/config-sco-5.0.0*.h: Added ACE_HAS_LONG_FDMASK for all the - SCO files. Thanks to Arturo for suggesting this. - - * ace/Signal: Added a new mutator method to reassign an - ACE_Sig_Set to an ACE_Sig_Action. - - * ace/Handle_Set.i: If the size of the fd_set is 0 then operator - fd_set *() just returns 0. This will help to optimize the - performance of the Reactor. Thanks to Arturo for suggesting - this. - - * ace/Handle_Set.cpp (count_bits): Added yet another improvement - to remove the "i" iterator. Thanks to Arturo for this! - - * ace/Log_Msg.cpp (log): Used the new ACE_Log_Record::priority() - method in place of the type() method so that the priorities are - handled correctly. - - * ace/Log_Record: Added two new methods that get/set the - "priority" of an ACE_Log_Record. This value computed as the - base 2 log of the value of the corresponding ACE_Log_Priority - enumeral (which are all powers of two). We need this mapping - function so that we can use the priorities as parameters to the - putpmsg() function (which can only map between 0-255). Thanks - to Per Andersson for finding this stuff! - - * ace/ACE: Added a new method to compute the base2 logarithm of a - number. - - * Replaced all uses of ACE_Thread_Control since this is now - handled by the ACE_Thread_Manager. - - * ace/Thread_Manager.cpp (spawn_i): Make sure to pass "this" to - the ACE_Thread_Adapter if we're constructing it in the - ACE_Thread_Manager::spawn_i() method. - - * ace/OS.i (cond_timedwait): Added a special check to see if - timeout != 0, in which case we just call ACE_OS::cond_wait(). - Therefore, VxWorks can now use ACE_OS::cond_timedwait(), as long - as the timeout == 0! This simplifies certain internal ACE code. - Thanks to David Levine for pointing this out. - - * ace/Handle_Set.cpp (count_bits): Changed the code from - - for (int i = 0; i < sizeof (u_long); i++) - { - rval += ACE_Handle_Set::nbits_[n & 0xff]; - n >>= 8; - } - - to - - for (int i = 0; n != 0; i++) - { - rval += ACE_Handle_Set::nbits_[n & 0xff]; - n >>= 8; - } - - in order to speed it up in the "best case." Thanks to Arturo - Montes for reporting this. - - * ace/Thread.cpp (spawn_n): Added a test to make sure that the - thread_ids is != 0 before we assign into this. - -Fri Aug 29 22:45:21 1997 Nanbor Wang - - * ace/config-vxworks-g++.h: - * ace/config-vxworks5.x-g++.h: - * ace/config-sunos4-g++.h: - * ace/config-sunos5.4-g++.h: - * ace/config-sunos5.5-g++.h: - Added flag ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR to these - config files. - - * ace/README: Added explanation of flag - "ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR." - When calling a template class'es destructor explicitly, if you - must use "ptr->FOO::~FOO ();" but not - "ptr->FOO::~FOO ();" then, you must add this flag to - your config file. - - * ace/OS.h (ACE_DES_FREE_TEMPLATE): Added this new macro to cope - with the fact that compilers require different syntax when - calling destructor of template classes explicitly. This macro - takes four arguments, POINTER, DEALLOCATOR, CLASS, and - TEMPLATE_PARAMETER. To deallocate a pointer allocated by - ACE_NEW_MALLOC and you need to call FOO class'es - destructor, you'll write: - - ACE_DES_FREE_TEMPLATE (ptr, alloc->free, FOO, ); - - * ace/Containers.cpp: Changed to use ACE_DES_FREE_TEMPLATE to iron - out differences among compilers. - -Fri Aug 29 15:31:50 1997 David L. Levine - - * ace/OS.*,Synch.{h,cpp},Object_Manager.cpp: started adding - support for TSS emulation. - - * ace/OS.h: declare class ostream if - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * tests/Async_Timer_Queue_Test.cpp (parse_commands): fixed - sscanf format specifiers to match argument types; (main): - fixed ACE_ERROR_RETURN parens; protected bulk of code with - ACE_HAS_UALARM so that the test will build cleanly on - platforms without it. - -Fri Aug 29 00:43:27 1997 Douglas C. Schmidt - - * ace/Synch.cpp (wait): Simpified the call to - ACE_OS::cond_timedwait() to avoid an extra test. Thanks to - Arturo for pointing this out. - - * ace/TTY_IO: Added native support for TSETA. Thanks to Arturo for - this. - - * ace/Strategies_T.cpp: Finished integrating the ACE_DLL_Strategy - implementation, which is used in TAO. Thanks to Satheesh Kumar - MG for motivating this. - - * ace/Synch_T.h: Clarified the constructor for ACE_TSS that takes - a TYPE * as an argument. Note that this only initializes the - TSS value in the *calling* thread, but not any other threads - that may come along later on. Thanks to Bob Laferriere - for helping to clarify this. - - * ace/Synch_T.h: Removed stray semi-colons from some of the - ACE_SYNCH_* macros. Thanks for Wei Chiang for reporting this. - -Fri Aug 29 11:40:10 1997 Darrell Brunsch - - * ace/OS.cpp: Added cast for ace_thread_adapter. - - * ace/OS.h: Changed name of ACE_Thread_Adapter's constructor's - fourth parameter from tm to tmgr since tm conflicted with - another tm. - - * ace/Thread_Manager.cpp: In spawn_i, changed the last parameter - given to spawn to thread_args. Also had to add a cast for - ace_thread_adapter. - -Fri Aug 29 06:44:05 1997 Nanbor Wang - - * ace/OS.h (ACE_DES_FREE): Added this macro which will call - designate destructor before freeing the memory. This is a - matching macro that should go with ACE_NEW_MALLOC and - ACE_NEW_MALLOC_RETURN which allocate memory using designate - allocator then call the user specified constructor explicitly. - - * ace/Containers.cpp: Many memory deallocations of container's - nodes were changed to use the new macro which deletes objects - correctly. - - Thanks very, very much to Ivan Murphy for torturing various - test programs and reporting those tests which fail the - excruciation. - -Fri Aug 29 01:26:38 1997 - - * ace/ReactorEx.cpp: Added two new methods to ReactorEx - - schedule_wakeup() and cancel_wakeup(). Also fixed some bugs - related to our local copy of network_events_ not getting updated - properly. Thanks to Edan Ayal for pointing out - the two missing functions. - -Thu Aug 28 20:12:23 1997 Douglas C. Schmidt - - * ace/Thread_Manager.cpp: Added a new ace_thread_manager_adapter() - function, which is similar to the ace_thread_adapter function - used in ACE_OS::thr_create(). However, the new function ensures - that threads spawned by an ACE_Thread_Manager are automatically - registered and deregistered from the Thread Manager. - - * ace/ACE.h (inherit_log_msg): Factored out the functionality to - inherit the logging features if the parent thread has an - ACE_Log_Msg instance in thread-specific storage. This function - is called in several places (e.g., OS.cpp and - Thread_Manager.cpp), so it pays to factor it out. - - * ace/OS.h (ACE_Thread_Adapter): Added a new data member that - keeps track of which thread entry point function we will pass to - the underlying OS thread creation routine. The default value is - ace_thread_adapter, but this can be overridden to do different - things... - - * ace/OS, - ace/Thread: Extended thr_create() so that if an - ACE_Thread_Adapter is passed to it this is used in lieu of the - func and arg parameters. This reduces the amount of dynamic - allocation and indirection required with the new - ACE_Thread_Manager. - - * ace/Task.h: Removed the ACE_Thread_Control data member from the - ACE_Task_Exit class since it now belongs to the - ACE_Thread_Manager instead... - - * ace/OS.cpp: Move the ACE_Thread_Adapter out of the OS.cpp file - and made it a first-class citizen of ACE. We can put this - to good use in the new ACE_Thread_Manager. - - * ace/OS.cpp: The ACE_Thread_Adapter is now the default behavior - in ACE. If you don't want to use it for whatever reason, - you'll need to set the ACE_NO_THREAD_ADAPTER macro. - - * ace/config-sco-5.0.0-fsu-pthread.h: Added - ACE_LACKS_CONST_TIMESPEC_PTR. Thanks to Arturo for this. - - * ace/Synch.cpp (wait): Removed the reference assignment and just - take the address of this->mutex_.lock_. Also, removed the - additional check for abstime == 0 in order to speed up the - common case. Thanks to Arturo for these suggestions. - -Thu Aug 28 20:02:03 1997 Douglas C. Schmidt - - * ACE version 4.3.1, released Thu Aug 28 20:02:03 1997. - -Thu Aug 28 00:21:09 1997 Douglas C. Schmidt - - * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added reasonable - values to the default constructor. Thanks to Stephen Coy - for reporting this. - - * ace/config-irix6.x-sgic++-*.h: Added ACE_HAS_UALARM. Thanks to - Amos Shapira for reporting this. - - * ace/config-aix-4.*.h: Added ACE_HAS_UALARM. Thanks to Cary - Clark for reporting this. - - * ace/config-hpux-10.x*.h: Added ACE_HAS_UALARM. Thanks to Cary - Clark for reporting this. - - * ace/config-osf1*.h: Added ACE_HAS_UALARM. Thanks to Thilo - for reporting this. - - * ace/config-mvs.h: Added ACE_HAS_UALARM. Thanks to Chuck Gehr - for reporting this. - - * tests/Async_Timer_Queue_Test.cpp: Added a new test that will - illustrate how to implement an asynchronously invoked - Timer_Queue using UNIX SIGALRM signals. - -Thu Aug 28 19:32:07 1997 - - * examples/Reactor/ReactorEx: Added two new applications - (test_registry_changes.cpp and test_console_input.cpp) to show - some more features of ReactorEx. test_registry_changes.cpp shows - how to monitor the Registry using ReactorEx. - test_console_input.cpp shows how to use ReactorEx to get - notified when input shows up on the console. - -Thu Aug 28 18:07:37 1997 Darrell Brunsch - - * ace/Timer_{List,Heap,Wheel,Hash}_T.cpp: Changed the behavior - of the iterator to automatically initialize when the iterator - is constructed. - -Thu Aug 28 10:43:35 1997 David L. Levine - - * ace/Task.{h,cpp} (ACE_Task_Exit::instance) added call to - ACE_Object_Manager::at_exit () to clean up the singleton at - program termination. - -Thu Aug 28 03:25:52 1997 Nanbor Wang - - * tests/Task_Test.cpp (Barrier_Task): - * tests/TSS_Test.cpp (main): Added an array to collect thread - handles in order to clean them up. Thanks to Ivan Murphy - for pointing this out. - - * ace/Thread_Manager.{h,cpp} (spawn_n): - * ace/Task.{h,cpp} (activate): - Added an extra argument ACE_hthread_t thread_handles[] with - default value 0. We need this argument to collect handles of - spwaned/activated threads. On NT, we have to join terminated - threads explicitly to prevent handles leak. Thanks to Ivan - Murphy for digging this out. - -Wed Aug 27 10:48:25 1997 Douglas C. Schmidt - - * ace: Changed all occurrences of ACE_LACKS_RLIMIT_PROTO to - ACE_LACKS_RLIMIT_PROTOTYPE, ACE_LACKS_POSIX_PROTO to - ACE_LACKS_POSIX_PROTOTYPES, and ACE_LACKS_SYSV_MSQ_PROTOS to - ACE_LACKS_SYSV_MSQ_PROTOTYPES to be more consistent. - - * ace/config-sunos5.x*.h: Added ACE_HAS_UALARM to all the Solaris - config files. However, also had to add ACE_LACKS_UALARM_PROTOTYPE - since Solaris strangely doesn't provide this prototype. - - * ace/OS.h: Added an ACE_Time_Value version of ACE_OS::ualarm(). - - * ace/Signal: Added a new constructor for ACE_Sig_Action that - takes an ACE_Sig_Set parameter. - - * ace/Signal: Added a sigset() accessor method. - - * ace/config-unixware-2.1.2-g++.h: Added ACE_HAS_UALARM. Thanks - to Ganesh Pai for reporting this. - - * ace/OS.h: Added a default value of 0 to ACE_OS::time(). - - * ace/Synch.i (ACE_Thread_Mutex_Guard): Rearranged the code so - that we can inline the acquire(), tryacquire(), and release() - methods properly. Thanks to David Levine for pointing this out. - - * ace/OS.h: Added ACE_OS support for the ualarm() method. If your - platform supports ualarm() please send me email so I can set the - ACE_HAS_UALARM flag in your config.h file. - - * tests/Makefile: Added an asynchronous timer queue test. - - * examples/IOStream/server/iostream_server.cpp: Added a new macro - to work around the fact that some C++ compiles don't grok - template typedefs. Thanks to Oleg Krivosheev - for pointing this out. - - * ace/OS, - ace/Task.cpp: - Installed a bunch of patches for FSU pthreads. Thanks to Arturo - Montes for sending this. - - * Makefile: Added a line to the release script that will - automatically generate an ACE-INSTALL text file from the - ACE-INSTALL.html file. Thanks to Oleg Krivosheev - for suggesting this. - - * performance-tests/Misc/Makefile: Added $(BIN) to the FILE target - so that "make depend" will work. Thanks to David Levine for - pointing this out. - - * ace/Synch.i: Eliminated unnecessary assignment to this->owner_. - Thanks to Chris for pointing this out. - - * ace/OS.i (msgctl): Added a "struct" to the definition of - msqid_ds. Thanks to Steve Hickman for - reporting this. - -Thu Aug 28 01:07:21 1997 - - * examples/Reactor/ReactorEx/test_directory_changes.cpp: Added a - new example application. This application tests the working of - ReactorEx when users are interested in changes in the - filesystem. - -Wed Aug 27 22:06:23 1997 Nanbor Wang - - * *.{mak,mdp,dsw,dsp}: Updated ACE's library names on Win32 as - below. Only Microsoft's Win95 and Windows NT are effected. - - Version Dynamic Library Static Livrary - ------------------ -------------------- ----------------- - Debug aced.lib, aced.dll acesd.lib - Release ace.lib, ace.dll aces.lib - Debug w/ UNICODE aceud.lib, aceud.dll acesud.lib - Release w/ UNICODE aceu.lib, aceu.dll acesu.lib - - Thanks to John Morey for suggesting this and - Darrell for updating VC 5.0's makefiles. - - * ace/config-freebsd[-pthread].h (ACE_HAS_UALARM): FreeBSD does has - ualarm. - -Wed Aug 27 10:52:59 1997 Chris Cleeland - - * ace/Synch_T.h (CTOR): Eliminated unnecessary assignment to - this->owner_. - -Wed Aug 27 09:32:57 1997 David L. Levine - - * ace/Singleton.cpp (instance): removed full qualification of - "instance_" in ACE_NEW_RETURN macro, because it confused - the Sun C++ 4.2 preprocessor. - - * ace/Singleton.cpp: added support for ACE_HAS_SIG_C_FUNC platforms, - e.g., on MVS. At least I tried to. The cleanup function, - on ACE_HAS_SIG_C_FUNC platforms only, doesn't call the object's - destructor. It just deallocates the storage. That should be - good enough; I don't think it's worth trying to do more than that. - - * ace/Synch.cpp (close_singleton): removed call to - ACE_Allocator::close_singleton (), because this method is - only called if ACE_HAS_THREADS. - - * ace/Object_Manager.cpp (dtor): added call to - ACE_Allocater::close_singleton (), and protected call to - ACE_Static_Object_Lock::close_singleton () with ACE_HAS_THREADS. - - * tests/Time_Value_Test.cpp: disabled ACE_U_LongLong test - on ACE_WIN32 platforms, because that class is never used - there. Thanks to Nanbor for finding this. - - * performance-tests/Misc/preempt.cpp,Makefile: added preempt - test, which tests for thread preemption. - -Tue Aug 26 13:59:01 1997 Douglas C. Schmidt - - * netsvcs/lib/Server_Logging_Handler_T.cpp: Changed the symbol - "SS" to "SST" to avoid a namespace collision with UnixWare. - Thanks to Ganesh Pai for pointing this out. - - * ace: Added a new config file to sco using FSU pthreads. Thanks - to Arturo Montes for sending this. - - * include/makeinclude: Added a new platform macros file to sco - using FSU pthreads. Thanks to Arturo Montes - for sending this. - -Tue Aug 26 22:06:14 1997 - - * examples/Reactor/ReactorEx: Added two new applications for - testing some of the new features of ReactorEx. Added - documentation and renamed some of the older test files to make - it easier to comprehend the examples. - -Tue Aug 26 11:47:29 1997 - - * ace/OS.i (mutex_trylock): Changed this method to make it deal - correctly with abandoned mutexes. Also added a new mutex_trylock - method that allows the user to know if the mutex was abandoned - (through an extra out parameter). Also fixed - ACE_OS::cond_timedwait(), ACE_OS::cond_wait(), - ACE_OS::event_wait(), ACE_OS::event_timedwait() and - ACE_OS::sema_wait() to remove extra checks for WAIT_ABANDONED, - since we are not dealing with mutexes in these methods. Thanks - to Ivan Murphy for pointing this - out. - -Tue Aug 26 11:06:45 1997 David L. Levine - - * ace/OS.h,config-vxworks5.x-g++.h: - split ACE_HAS_RENAMED_MAIN into ACE_MAIN and - ACE_HAS_NONSTATIC_OBJECT_MANAGER. - - * ace/ACE.cpp: only create the ACE_Object_Manager_Destroyer - if not ACE_HAS_NONSTATIC_OBJECT_MANAGER. - - * ace/Object_Manager.{h,cpp}: dynamically allocated the - contained ACE_Unbounded_Queue to so that it can be deallocated - before the ACE_Allocator is destroyed. - - * ace/Singleton.{h,cpp}: register all ACE_Singletons for - cleanup with the ACE_Object_Manager. - - * ace/Synch.{h,cpp}: renamed ACE_Static_Object_Lock::atexit () to - close_singleton (), and removed the unused atexit hook. - - * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::close): delete the - main thread's Log_Msg. - - * ace/config-vxworks-ghs-1.8.h: added ACE_HAS_NONSTATIC_OBJECT_MANAGER. - - * tests/Time_Value_Test.cpp: added tests of ACE_U_LongLong. - - * tests/Atomic_Op_Test.cpp (main): added arguments to main (). - - * tests/Barrier_Test.cpp (main): delete thread_handles array - to prevent memory leak. - - * examples/Reactor/Misc/test_signals_2.cpp (main): changed - type of second arg from "char *" to "char *[]". - -Mon Aug 25 14:13:57 1997 Carlos O'Ryan - - * ace/OS.h: - Changed the return type of sendmsg_timedwait from sszie_t to - ssize_t, this should only affect platforms where - ACE_LACKS_TIMEDWAIT_PROTOTYPES, further it was definitely wrong - before. - Thanks to ARTURO MONTES for pointing - out this one. - -Mon Aug 25 10:15:06 1997 David L. Levine - - * ace/Message_Queue.cpp (notify): fixed ACE_TRACE message. - - * examples/ASX/UPIPE_Event_Server/event_server.cpp, - examples/Connection/misc/test_upipe.cpp, - examples/Connection/non_blocking/test_*.cpp, - examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp, - examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp, - examples/Misc/test_dump.cpp, - examples/Reactor/FIFO/client.cpp, - examples/Reactor/Misc/test_*.cpp, - examples/Reactor/Proactor/test_multiple_loops.cpp, - examples/Reactor/Proactor/test_timeout.cpp, - examples/Reactor/ReactorEx/test_timeout.cpp, - examples/Reactor/ReactorEx/test_exceptions.cpp, - examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp, - examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp, - examples/Shared_Malloc/test_multiple_mallocs.cpp, - examples/System_V_IPC/SV_Message_Queues/*MQ_*.cpp, - examples/System_V_IPC/SV_Semaphores/Semaphores_?.cpp, - examples/Threads/process_mutex.cpp, - examples/Threads/recursive_mutex.cpp, - examples/Threads/tss1.cpp, - examples/Threads/thread_specific.cpp, - examples/Threads/token.cpp, - examples/Threads/wfmo.cpp, - tests/Simple_Message_Block_Test.cpp, - tests/Hash_Map_Manager_Test.cpp: - added arguments to main () to support redeclaring it on VxWorks. - - From now on, we should always declare main () with arguments, e.g., - int - main (int, char *[]) - -Sun Aug 24 10:27:33 1997 Douglas C. Schmidt - - * tests/Future_Test.cpp (Scheduler): Removed the non-existent - friend class Method_ObjectWork. Thanks to Sandro Doro - for reporting this problem. - - * ace/Message_Block.h: Clarified in the comments that the length() - of a Message_Block is 0 until the wr_ptr() is explicitly set. - Thanks to Amos Shapira for pointing out - the need for this. - -Sat Aug 23 14:43:27 1997 Douglas C. Schmidt - - * ACE version 4.3, released Sat Aug 23 14:43:27 1997. - -Sat Aug 23 14:40:32 1997 Douglas C. Schmidt - - * Released the long-awaited ACE 4.3. Good night sweet prince: - And flights of angels sing thee to thy rest. - -Sat Aug 23 00:44:09 1997 Douglas C. Schmidt - - * netsvcs/lib/Server_Logging_Handler.cpp: Make sure that we - explicitly instantiate ACE_Svc_Handler whether or not we're building with threads - since otherwise we get link errors. - -Fri Aug 22 20:58:49 1997 Nanbor Wang - - * ace/OS.cpp (ACE_TSS_Cleanup): Changed the lock for - ACE_TSS_Cleanup from a static object to a singleton to avoid the - nasty detruction order problem. This only effects Win32. - - * ace/Synch.{h,cpp}: Added a new singleton lock - "ACE_TSS_Cleanup_Lock" for Win32 platform. This object is - expect to be put under ACE_Object_Manager's control and will - probably gone/changed in the near future. - -Fri Aug 22 18:48:17 1997 Carlos O'Ryan - - * ACE-install.sh: - I updated the information on IRIX. Now we know for a fact it - compiles on IRIX 6.x, but we are not certain on IRIX 5.X. - - * bin/auto_compile_wrapper: - I have tried to make it clear that auto_compile_wrapper must be - tailored on each site. The email address is invalid and the - script should just crash the - - * ace/OS.i (cond_timedwait): - It used to always dereference the timeout parameter, which could - be 0 (heading for a - Sthreads use timestruc_t instead of timespec_t, thanks to - Ganesh Pai for pointing out this one and to - Steve Huston for explaining to us what - was going on. - -Fri Aug 22 08:46:39 1997 David L. Levine - - * include/makeinclude/platform_vxworks*.GNU: - unset SHLIB to fix builds without PRELIB. - - * netsvcs/lib/Logging_Strategy.cpp, - examples/Threads/task_three.cpp: include fstream.h and - iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * examples/ASX/UPIPE_Event_Server/event_server.cpp, - examples/Log_Msg/test_log_msg.cpp, - examples/Reactor/Misc/test_time_value.cpp, - examples/Logger/Accepter-server/server_loggerd.cpp: - #include iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc): - replaced an iostream printout with an ACE_DEBUG call. - - * examples/Misc/test_read_buffer.cpp, - test_dump.cpp, - Mem_Map/IO-tests/test_io.cpp: - replaced bare OS calls with ACE_OS calls. - - * examples/Reactor/Misc/notification.cpp (Thread_Handler): - added cast of svc_run to ACE_THR_FUNC. - -Thu Aug 21 22:38:19 1997 Carlos O'Ryan - - * bin/auto_compile: - This tool will checkout ACE_wrapper from CVS, use - bin/create_ace_build to update a clone directory, compile ace - and tests in that clone directory and then run run_tests.sh. - If there is any problem it will report it to email. - - * bin/auto_compile_wrapper: - The former needs some configuration information and a proper - enviroment, hence it may not be invoked directly from your - crontab. This tool is used for that purpose. - - * apps/Gateway/Gateway/Makefile: - * apps/JAWS/server/Makefile: - * examples/Connection/non_blocking/Makefile: - * examples/IPC_SAP/DEV_SAP/reader/Makefile: - * examples/IPC_SAP/DEV_SAP/writer/Makefile: - * examples/Service_Configurator/IPC-tests/server/Makefile: - * netsvcs/clients/Naming/Client/Makefile: - * netsvcs/clients/Naming/Dump_Restore/Makefile: - * performance-tests/Synch-Benchmarks/Makefile: - No need to defines LIBS=-lACE here, it is already done in - wrapper_macros.GNU. Thanks to Cary Clark for - pointing out this one. - - * bin/create_ace_build: - New flag -a to create all symlinks using absolute paths, it - helps when the build directory is a symlink too. - - * include/makeinclude/platform_irix6.x-sgic++.GNU: - ACE now compiles with little or no warnings, I kept the linker - warnings deactivated though. - -ptall does not work any more. I added a comment on that. - - * ace/OS.h: - * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: - * apps/JAWS/clients/Blobby/Blob_Handler.cpp: - * apps/JAWS/server/HTTP_Server.cpp: - * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp: - * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp: - * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp: - * examples/Reactor/Dgram/CODgram.cpp: - * examples/Reactor/Dgram/Dgram.cpp: - * examples/Reactor/Misc/test_demuxing.cpp: - * examples/Reactor/Misc/test_reactors.cpp: - * examples/Reactor/Misc/test_signals_2.cpp: - * examples/Threads/barrier2.cpp: - * examples/Threads/process_manager.cpp: - * examples/Threads/task_three.cpp: - * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: - * netsvcs/clients/Tokens/collection/collection.cpp: - * netsvcs/clients/Tokens/mutex/test_mutex.cpp: - * performance-tests/Misc/childbirth_time.cpp: - * tests/Reactor_Exceptions_Test.cpp: - * tests/Reactors_Test.cpp: - * tests/SOCK_Test.cpp: - New macro ACE_NOTREACHED. Some compilers will issue warnings on - unreached statements with things like: - int foo() - { - if (bar) { - return 0; - } else { - return 1; - } - return 0; // warning here - } - but if we remove the last return some other compiler will issue - warnings on leaving the function with no return value. - This macro tries to deal with that, all we have to do is to - write the last line like: - int foo() - { - if (bar) { - return 0; - } else { - return 1; - } - ACE_NOTREACHED(return 0); // No warning now!!! - } - IMHO it also serves as a form of documentation. - -Thu Aug 21 21:00:35 1997 - - * ace/Auto_Ptr: Changed auto_ptr implementation to be as close - to the C++ specification as possible. Things that are still - missing are: - (a) std namespace - (b) member templates implementations - (c) making the constructors explicit - - * ace/OS.h (ACE_BIT_STRICTLY_ENABLED): Added new macro to check if - a bit is strictly enabled in a word. This is necessary when the - bit would be a combination of bits, and therefore, just - comparing against != 0 (like ACE_BIT_ENABLED does) is not enough - and comparing == BIT is necessary. - -Thu Aug 21 19:28:28 1997 James C Hu - - * include/makeinclude/rules.local.GNU (depend.local): If TAO_ROOT - is not set, don't try using it in sed. - - * bin/g++dep: Check the existence of the TAO_ROOT environment - variable before adding it to the relative pathname replacement - strategy. - -Thu Aug 21 16:29:02 1997 David L. Levine - - * ace/OS.h: added THR_JOINABLE and THR_SCHED_FIFO/RR/DEFAULT - to STHREADS, WTHREADS, and non-threaded platforms. On VxWorks - only, set NSIG to _NSIGS + 1. - - * ace/config-vxworks*.h: removed ACE_HAS_POSIX_SEM now that we - emulate it for VxWorks. - - * tests/Priority_Task_Test.cpp: use THR_SCHED_FIFO unconditionally - now that it's defined on all platforms. - - * include/makeinclude/platform_chorus.GNU, - platform_hpux_gcc.GNU, - platform_linux*.GNU, - platform_m88k.GNU, - platform_osf1_4.0_g++.GNU, - platform_sco*.GNU, - platform_sunos*_g++.GNU, - platform_unixware_g++.GNU, - g++ only: replaced PRELIB with "true" because it's not - needed for template instantiation. The old PRELIB no longer - worked without -lACE being added to LIBS in individual Makfiles. - The only reason to leave PRELIB defined to something is so that - the shared object definitions will be correct in rules.lib.GNU. - That should be fixed after 4.3 is released. - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: - PRELIB no longer needed with explicit template instantiation. - -Thu Aug 21 12:38:26 1997 Steve Huston - - * ace/config-hpux-10.x.h: Removed extraneous #endif - -Thu Aug 21 12:21:16 1997 Nanbor Wang - - * ace/OS.h (THR_JOINABLE): Defined this macro for Win32 as 0. - -Wed Aug 20 22:36:52 1997 Douglas C. Schmidt - - * ACE version 4.2.44, released Wed Aug 20 22:36:52 1997. - -Wed Aug 20 18:28:28 1997 Steve Huston - - * ace/config-hpux-10.x.h: Made some definitions dependent on the - HP-UX version that is compiling the code. - - * ace/Filecache.(cpp h): Moved the definition of ACE_Filecache_Object - from .cpp to .h to help AIX xlC's template instantiator along. - - * apps/Gateway/Peer/Peer.(cpp h): Moved the definition of Peer_Handler - from .cpp to .h to help AIX xlC's template instantiator along. - - * include/makeinclude/platform_(hpux hpux_aCC hpux_gcc).GNU: Added - a compiler option to define HPUX_VERS with the current OS version. - Used in the config-hpux-10.x.h file. - -Wed Aug 20 13:44:16 1997 Carlos O'Ryan - - * ace/config-unixware-2.1.2-g++.h: - Unixware does not define timespec_t. Thanks to Ganesh Pai - for pointing out this one. - -Wed Aug 20 11:37:44 1997 David L. Levine - - * include/makeinclude/rules.bin.GNU,platform_vxworks5.x_g++.GNU: - added POSTLINK to build symbol table. - -Wed Aug 20 07:43:14 1997 Douglas C. Schmidt - - * ACE version 4.2.43, released Wed Aug 20 07:43:14 1997. - -Tue Aug 19 08:25:28 1997 Steve Huston - - * tests/Barrier_Test.cpp: Added THR_JOINABLE to the flags for - creating threads - allows join to work on platforms that create - threads detached by default (i.e. AIX). - - * tests/Process_Strategy_Test.cpp: If the final ACE_OS::kill() fails, - don't ACE_OS::wait() for the process. - - * ace/config-aix-4.2.x.h: Added ACE_HAS_BROKEN_POSIX_TIME. Commented - out ACE_HAS_AIX_BROKEN_SOCKET_HEADER. Added ACE_HAS_PTHREAD_T, - and will now not use tid_t for any ACE types. Rearranged things - to start clarifying items. - - * ace/config-hpux-10.x.h: Removed ACE_HAS_SETKIND_NP and adjusted - other, more meaningful, threads-related definitions to match what - HP 10.10 and 10.20 have for threads. This matches changes to OS.* - - * ace/OS.(h i cpp): Removed use of ACE_SETKIND_NP in an effort to - simplify the variety of threads-capability definitions. The only - platforms which used ACE_HAS_SETKIND_NP were HP-UX (see above) and - OSF/1 V3.2 (which has the same threads package as HP-UX). OSF/1 - V3.2 may require some adjustments per this change - it probably - should be changed to match HP-UX. OSF/1 V4 (aka Digital UNIX) - is not affected by this change. - - * ace/Log_Msg.cpp: Changed the 't' format (thread ID) to call - thread_self() directly on AIX. - -Mon Aug 18 21:39:33 1997 Douglas C. Schmidt - - * ACE version 4.2.42, released Mon Aug 18 21:39:33 1997. - -Mon Aug 18 20:22:14 1997 Carlos O'Ryan - - * apps/Gateway/Peer/Makefile: - No need to define LIBS=-lACE here, its already done in - wrapper_macros.GNU. Thanks to Cary Clark - for helping in this effort. - -Mon Aug 18 19:54:36 1997 Nanbor Wang - - * ace/OS.{h,i} (open, mutex_init, sema_init, event_init, mmap): - Added an extra argument LPSECURITY_ATTRIBUTE with default value - 0 to all these methods so that we can modify objects' security - attributes when needed. Thanks to Ivan Murphy for pointing this - out. - -Mon Aug 18 19:50:13 1997 Carlos O'Ryan - - * examples/Service_Configurator/Makefile: - * examples/Service_Configurator/IPC-tests/server/Makefile: - * apps/Gateway/Gateway/Makefile: - * examples/Connection/non_blocking/Makefile: - $(SOEXT) must be used instead of just .so, the former does not - work on all platforms, notably HP-UX. Thanks to Cary Clark - for helping in this effort. - -Mon Aug 18 19:46:27 1997 Carlos O'Ryan - - * ace/OS.i: - Added support for the missing netdb reentrant functions, even - under IRIX 6.2 with no threads. Thanks Paul Roman - for reporting this. - -Mon Aug 18 12:53:16 1997 David Levine - - * tests/Barrier_Test.cpp (tester): VxWorks doesn't support - thr_join(). Therefore, we need to work around it for now. - Maybe Wind River will fix it at some point. - -Mon Aug 18 12:38:52 1997 Steve Huston - - * ace/config-aix-4.2.x.h: Removed ACE_HAS_SVR4_TIME, added - ACE_LACKS_TIMESPEC_T. - -Mon Aug 18 12:00:31 1997 Carlos O'Ryan - - * ace/config-mvs.h: - MVS does not define timespec_t either. Thanks to Chuck - Gehr for reporting this. - -Mon Aug 18 10:41:05 1997 Carlos O'Ryan - - * ace/OS.h: - * ace/README: - On some platforms timespec_t is not defined. We added a new - config macro (ACE_LACKS_TIMESPEC_T) to handle that and we do a - typedef to solve the problem. - - * ace/config-freebsd-pthread.h: - * ace/config-freebsd.h: - * ace/config-linux-lxpthreads.h: - * ace/config-linux-pthread.h: - * ace/config-linux.h: - These are *some* config files that needed changes due to the new - timespec_t stuff. - -Mon Aug 18 09:34:11 1997 David L. Levine - - * ace/OS.cpp (ACE_Thread_Adapter): rearranged initializers to - match declaration order. - - * ace/Log_Record.h: declare "class ostream" if - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION Log_Record.h. - - * ace/IOStream.h,Log_Msg.cpp,Log_Record.cpp, - tests/test_config.h: include iostream.h instead of ace/stdcpp.h - if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * ace/config-vxworks*.h: added ACE_LACKS_TIMESPEC_T. - -Sun Aug 17 20:58:56 1997 Douglas C. Schmidt - - * ACE version 4.2.41, released Sun Aug 17 20:58:56 1997. - -Sun Aug 17 17:02:53 1997 Carlos O'Ryan - - * ace/config-irix6.x-sgic++-nothreads.h: - * ace/config-irix6.x-sgic++.h: - * include/makeinclude/platform_irix6.x-sgic++.GNU: - Finally a single config.h and platform_macros.GNU file can be use - for all the IRIX 6.X versions. - On SGI machines we need a higher value for - ACE_DEFAULT_BASE_ADDR, we used 1024*1024*1024, which works on - our site, but your mileage may vary. - - * include/makeinclude/platform_irix6.2_sgic++.GNU: - * include/makeinclude/platform_irix6.4_sgic++.GNU: - * ace/config-irix6.2-sgic++-nothreads.h: - * ace/config-irix6.2-sgic++.h: - * ace/config-irix6.4-sgic++-nothreads.h: - * ace/config-irix6.4-sgic++.h: - These files are no longer needed, see above. - - * ace/README: - * ace/ACE.cpp: - * ace/OS.h: - * ace/OS.i: - * ace/Profile_Timer.cpp: - * ace/Profile_Timer.h: - We no longer use timestruct_t in ACE, it is a SYSVism; we use - timespec_t instead. Hence we have no need for the config - macro ACE_HAS_SVR4_TIME, but we keep it there for future - reference. - - * tests/Reader_Writer_Test.cpp: - On IRIX using ACE_Thread::yield() degraded performance for - multiprocessor machines, but worse, the test will not behave as - expected: instead of interleaving read/write locks over the - RW_Mutex it will make all the write locks first and then the read - locks. The test uses ACE_OS::sleep() for yielding the CPU, - and it uses different pauses for each thread (see code for - details). Further, it yields the CPU *before* taking the - lock, to give other threads a chance. - -Sat Aug 16 18:17:10 1997 Douglas C. Schmidt - - * ACE version 4.2.40, released Sat Aug 16 18:17:10 1997. - -Sat Aug 16 18:13:22 1997 Douglas C. Schmidt - - * ace/ReactorEx.cpp (add_network_events_i): Revised the code to - use the ACE_BIT_CMP_MASK and ACE_SET_BITS macros to simplify the - code. - - * ace/OS.h: Added a new macro called ACE_BIT_CMP_MASK which checks - if a "bit-wise" & with a word == a particular mask. - - * ace/OS.cpp (thr_create): If we're in the Pthreads implementation - then we assume that ACE_thread_t and ACE_hthread_t are the same. - If this *isn't* correct on some platform, please let us know. - Thanks to Carlos O'Ryan . - - * ace/Auto_Ptr.cpp: Reverted the changes of ACE_Auto_Ptr to - auto_ptr since we want to be Standard C++ Library compliant. - However, we only define auto_ptr if ACE_HAS_STANDARD_CPP_LIBRARY - is *not* enabled. - - * Removed the INSTALL file since this is redundant with the HTML - version of this file (ACE-INSTALL.html). Thanks to David Levine - for doing the legwork to merge this. - -Sat Aug 16 15:11:24 1997 Darrell Brunsch - - * ace/Auto_Ptr.h: Put in an #include (for auto_ptr) if - the standard C++ library is being used. - - * ace/Auto_Ptr.*: Changed the checks for ACE_HAS_STANDARD_CPP_LIBRARY - to also check to see if it is defined to 0 (which means the same - as it not being defined). - - * ace/ReactorEx.cpp: Changed the use of auto_ptr to work with - the one in the Standard C++ library. - - * ace/config-win32-common.h: Added ACE_HAS_BROKEN_NESTED_TEMPLATES - and ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER for the MSVC versions - that need them. - - * ace/Registry.cpp: changed some variable names from iterator to - iter to prevent conflicts with another variable - - * ace/Registry.cpp: - STL/bstring.h: - - Changed references of NPOS to Istring::npos - -Sat Aug 16 14:17:07 1997 Carlos O'Ryan - - * ace/Auto_Ptr.i: - * ace/Auto_Ptr.cpp: - Some code was only included if ACE_HAS_STANDARD_CPP_LIBRARY was - defined; but the intention was exactly the opposite. - -Sat Aug 16 14:33:26 1997 David L. Levine - - * README,FAQ,Makefile: changed references from INSTALL file - to ACE-INSTALL.html. - -Fri Aug 15 19:51:52 1997 - - * ace/Auto_Ptr.h: A rarely used piece of ACE code has changed - names because of name conflicts with the Microsoft Standard C++ - Library. The change is from auto_ptr to ACE_Auto_Ptr. A perl - script ($ACE_ROOT/bin/auto_ptr.perl) is provided for users to - change their code accordingly. - - The following files were effected: - - ace: ACE.cpp Auto_Ptr.cpp Auto_Ptr.h Auto_Ptr.i OS.h - ReactorEx.cpp Service_Config.cpp Service_Object.h - - examples/Threads: future1.cpp future2.cpp test_future1.cpp - test_future2.cpp - - tests: Future_Test.cpp - -Fri Aug 15 17:41:28 1997 Douglas C. Schmidt - - * ACE version 4.2.39, released Fri Aug 15 17:41:28 1997. - -Fri Aug 15 13:33:04 1997 Nanbor Wang - - * ace/OS.h (ACE_DEFAULT_GLOBALNAME_W): Moved pathname delimiter - from ACE_DEFAULT_{LOCAL|GLOBAL}NAME_* to - ACE_DEFUALT_NAMESPACE_DIR on NT. We need to append local/global - name to get a unique mutex name for naming service. NT won't - let us put a backslash in lock name. ;( - -Fri Aug 15 14:50:26 1997 Steve Huston - - * ace/Makefile: Moved ARGV from the TEMPLATES section to the FILES - section; now builds on AIX. - - * ace/config-hpux-10.x.h: Don't redefine _HPUX_SOURCE. Move the - ACE_HAS_REENTRANT_FUNCTIONS and ACE_CTIME_R_RETURNS_INT to the - build-with-threads section. Thanks to Neil Cohen - for helping to flush these problems out. - - * tests/Makefile: If building on AIX, wipe out the tempinc directory - before each compilation to keep the driver from compiling all - prior programs' template instantiations in every link step. - -Fri Aug 15 13:07:26 1997 Douglas C. Schmidt - - * ace/Signal.cpp (remove_handler): Added some additional - parameters to ACE_Sig_Action usages in order to get this stuff - to compile with G++ on SunOS 4.1.4. Thanks to Kumar Neelakantan - for reporting this. - - * ACE version 4.2.38, released Thu Aug 14 23:07:26 1997. - -Fri Aug 15 13:33:04 1997 Nanbor Wang - - * ace/Naming_Context.cpp (ACE_Naming_Context): Moved the deletion - of name_options_ from close to dtor of this class so that we can - reconfigure the naming context. - -Fri Aug 15 10:28:14 1997 Darrell Brunsch - - * ace/OS.cpp: Changed uname() for Win32 so it returns information - for Windows 95 and NT. - -Thu Aug 14 18:06:37 1997 Chris Cleeland - - * ace/OS.[hi] (strsplit_r): Added a new method which splits a - string separated by tokens, similar to the way that perl's - split() works. This is different from the strtok() family b/c - for the string ":/foo:/bar::boo", strtok() would return "/foo", - "/bar", "boo", while strsplit_r() returns "", "/foo", "/bar", - "", "boo". This method is also properly re-entrant, and thus - safe to use among multiple threads. - - * ace/ACE.cpp (ldfind): Fixed this so that it now properly deals - with paths containing empty components intended to indicate - 'current directory'. - -Thu Aug 14 17:30:36 1997 Steve Huston - - * ace/config-hpux-10.x.h - Add ACE_LACKS_CONST_STRBUF_PTR, remove - ACE_HAS_POSIX_SEM, clarify comments regarding setting of - _CMA_NOWRAPPERS_ - thanks to Cary Clark for - helping in this effort. - -Thu Aug 14 16:14:47 1997 David L. Levine - - * ace/High_Res_Timer.cpp (print_ave,print_total): fixed format - specification for total_secs to be lu instead of lld. - -Thu Aug 14 14:06:37 1997 Chris Cleeland - - * ace/ARGV.cpp: Completed the explicit template instantiations for - this component. - -Thu Aug 14 11:27:03 1997 Edward Everett Anderson - - * ace/ARGV.* (argv): - - * Added another behavior to ACE_ARGV -- a user can iteratively - build the parameter set with add(). Made the class more - consistent so that accessors work no matter which constructor is - used. - -Thu Aug 14 10:14:37 1997 Darrell Brunsch - - * Made several changes to allow ACE to work with the new standard - C++ header files, such as and the built in STL. Thanks - to Matthias Kerkhoff for these changes. - The default is to use the old headers, unless the - ACE_HAS_STANDARD_CPP_LIBRARY is defined as 1. - - * ace/config-win32-common.h: - ace/config-win32.h: - - - Added ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB flag to - distinguish compilers who have the standard C++ library - declared in the namespace std and those who use the global - namespace for it - - - Enabled ACE_HAS_SIG_ATOMIC_T and ACE_HAS_TYPENAME_KEYWORD for - MSVC 5 - - - Changed the semantics of ACE_HAS_STANDARD_CPP_LIBRARY from - [defined/undefined] to [(undefined or defined as 0)/defined != 0] - to allow the choice between the old iostream and standard C++ - library for those platforms that support both - - - Don't define the ACE_LACKS_IOSTREAM_FX when building with MSVC - 5.0 and the standard C++ library. - - - If __ACE_INLINE__ is defined as 0, config-win32-common.h - undefines __ACE_INLINE__ to decrease the size of libraries and - executables. - - * ace/IOStream.cpp: Moved the #ifdef ACE_LACKS_ACE_IOSTREAM up to the - proper place - - * ace/IOStream.h: - ace/IOStream_T.h: - ace/Log_Msg.cpp: - ace/Log_Msg.h: - ace/Log_Record.cpp: - ace/Log_Record.h: - examples/ASX/Message_Queue/*.dsp: - examples/OS/Process/*.dsp: - examples/Threads/*.dsp: - examples/Threads/barrier2.cpp: - examples/Threads/task_three.cpp: - netsvcs/lib/Logging_Strategy.cpp: - - Updated to including stdcpp.h instead of , - , , etc. - - * ace/OS.h: Updated to use stdcpp.h instead of including the - normal C headers. Moved the includes into stdcpp.h to allow - switching between the old and new versions - - * ace/Registry.h: Changed to use the standard C++ headers for STL - and added a typedef Name_Component and Binding to - ACE_Registry::* to help some unresolved problems. - - * tests/Hash_Map_Manager_Test.cpp: - tests/test_config.h: - - Updated to #include ace/stdcpp.h instead of and - - - * ace/stdcpp.h: Updated to include more of the new standard C++ - header files, and also promote some of the iostream classes to - the global namespace. - - * ace/ace.dsp: - - - Added some folders like Templates and Documentation - - Added some files that were missing to the project - - Enabled function level linking for debug projects - - Set it to "Not using MFC" - - Removed wsock32.lib from the project settings (since - config-win32-common.h will tell the linker to use the correct - winsock library) - - Removed some other unnecessary libraries (OLE) from the - project. - -Wed Aug 13 23:02:45 1997 Douglas C. Schmidt - - * ACE version 4.2.37, released Wed Aug 13 23:02:45 1997. - -Wed Aug 13 13:26:27 1997 Douglas C. Schmidt - - * tests/Barrier_Test.cpp (main): Fixed the test of the ACE_Barrier - class so that it doesn't leak handles. This also illustrates - the use of the ACE_Thread::join() and - ACE_Thread_Manager::spawn_n() methods. Thanks to Ivan Murphy - for pointing this out. - - * ace/Thread_Manager.cpp (spawn_n): Note that if we get a null - thread_ids parameter we shouldn't try to index into it! - - * include/makeinclude/rules.local.GNU (OBJDIRS): Added - so_locations to the list of directories cleaned up during a make - clean/realclean. Thanks to Amos Shapira for reporting this. - - * ACE version 4.2.36, released Wed Aug 13 07:30:10 1997. - - * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added a - -Wl,-woff,133 to LDFLAGS to make the linker shutup about branch - instructions that might degrade performance - (what does this mean?). Thanks to Amos for this. - - * tests/test_config.h: Fixed a typo (ourput_file() should be - output_file()). How on earth did this ever work?! Thanks to - Amos Shapira for reporting this. - - * ace/Message_Queue.cpp: Added a couple of new ACE_UNUSED_ARGs - Thanks to Amos Shapira for reporting this. - - * ace/OS.cpp (gethrtime): ACE_OS::gethrtime should cast its return - value to ACE_hrtime_t instead of (u_long long). Thanks to - Amos Shapira for reporting this. - -Wed Aug 13 14:51:47 1997 Darrell Brunsch - - * ace/SString.[i,cpp]: moved some inline methods from the .i into - the .cpp so the Win32 Unicode Release compiles with inlining. - -Wed Aug 13 01:14:08 1997 Nanbor Wang - - * tests/test_config.h (ACE_NEW_THREAD): Removed - ACE_Log_Msg::set_flags/clr_flags from this macro because - ACE_Log_Msg::flags is a static variable. We really don't need - to reset them when creating new threads. Once VxWorks can also - inherit ACE_Log_Msg's properties, we no longer need this macro. - - * ace/Log_Msg.h: Added trace_depth() functions. They are required - for inheriting ACE_Log_Msg's properties. - - * ace/OS.cpp: Changed ACE_Thread_Adapter implementation so that - newly created threads will inherit properties from their parent - threads. This is the default behavior and is valid on all - platform except VxWorks. If you don't want it and would like to - arrange the properties propagation yourself, you must define - ACE_THREADS_DONT_INHERIT_LOG_MSG in your ace/config.h file. Now, - creating a new thread will go thru ace_thread_adapter on all - platform except VxWorks. If ACE_THREADS_DONT_INHERIT_LOG_MSG is - defined but your platform defines ACE_HAS_THR_C_FUNC or - ACE_WIN32, creating new threads still need to use - ace_thread_adapter. This change also fixes a previous problem - which let threads access another thread's TSS. - -Tue Aug 12 21:57:30 1997 David L. Levine - - * etc/ACE-guidelines.html: added. - -Tue Aug 12 16:54:33 1997 Douglas C. Schmidt - - * Added Chuck Gehr's explanation of how to build ACE for MVS to - the ACE-INSTALL.html file at http://www.cs.wustl.edu/~schmidt/. - - * ace/OS.i: changed the name of ACE_U_LongLong::dump() to - ACE_U_LongLong::output(). Also moved some of the code that was - inlined in the class definition into the *.i file. - - * netsvcs/lib/Server_Logging_Handler.cpp: Added a template - specialization for ACE_Atomic_Op to - make things link with SGI and other systems that have long - different than int. Thanks to Amos Shapira for reporting this. - - * ace/Reactor.cpp (close): Removed the #ifdefs around - notify_handler_.open () and notify_handler_.close() since this - is now supposed to be available on all build configurations. - Thansk to Stefan Ericsson for reporting this. - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - Removed a static variable that seemed to be causing problems for - SGI C++. Also, removed the now unnecessary "inherited" from - Handle_Thr_Acceptor. - - * examples/ASX/UPIPE_Event_Server/Peer_Router.h, - * netsvcs/lib/Log_Message_Receiver.h: Added an - ACE_UNIMPLEMENTED_FUNC macro for the assignment operator to work - around silly "features" of SGI C++... - - * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added some - additional patches to suppress warning code. Thanks to Torbjorn - Lindgren for this fix. - - * include/makeinclude/platform_mvs.GNU: Changed all occurrences of - "MVSLIB" to "ACELIB". Thanks to Chuck Gehr for reporting this. - -Tue Aug 12 15:03:42 1997 Steve Huston - - * ace/Timer_Hash_T.cpp, Timer_Wheel_T.cpp: Replaced references to - ACE_High_Res_Timer::gettimeofday with ACE_OS::gettimeofday. - The High Res version is deprecated, and doesn't work correctly - on HP-UX. - -Tue Aug 12 07:51:02 1997 Douglas C. Schmidt - - * ACE version 4.2.35, released Tue Aug 12 07:51:02 1997. - -Mon Aug 11 22:30:39 1997 David L. Levine - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: disabled - automatic template instantiation, because we use explicit - template instantiation, via a #pragma, with Green Hills. - Thanks to Brian Mendel for - finding the compiler options. - -Mon Aug 11 17:45:44 1997 Nanbor Wang - - * ace/OS.cpp (ace_thread_adapter): Changed the code so that TSS - ACE_Log_Msg will get created and put into cleanup stack first no - matter there is other ACE_Log_Msg instances or not. This fixed - the "order of destruction" problem on Win32 platform. Thanks to - Irfan for digging this out and helping solving it. - -Mon Aug 11 07:25:29 1997 - - * examples/Reactor/ReactorEx/test_reactorEx.cpp: Updated this - example to use the new Proactor and Asynch IO interfaces. - - * ace/Connector.cpp (activate_svc_handler): Fixed the "leak" of - svc_handler in case of error. Thanks to Wei Chiang - for reporting this. - -Mon Aug 11 01:11:26 1997 Douglas C. Schmidt - - * ACE version 4.2.34, released Mon Aug 11 01:11:26 1997. - -Mon Aug 11 01:06:02 1997 Douglas C. Schmidt - - * ace/Message_Queue.cpp (enqueue_tail_i): Inadvertantly - added "signal_dequeue_waiters()" where I meant - "signal_enqueue_waiters()." - - * include/makeinclude/wrapper_macros.GNU: Fixed a typo in the - wrapper_macros.GNU file that was causing link errors. - -Sun Aug 10 11:35:06 1997 Douglas C. Schmidt - - * ace/Message_Queue.cpp: To make sure that we have correctly - signaled waiters the signal_enqueue_waiters() and - signal_dequeue_waiters() methods now check the return value from - the semaphore release if ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is - enabled. - - * include/makeinclude/wrapper_macros.GNU (VLDLIBS): Added a - new macro called ACELIB that can be used to make it easier - to enable static linking for ACE, i.e.: - - ACELIB = -Bstatic -lACE -Bdynamic - - or - - ACELIB = $(ACE_ROOT)/ace/libACE.a - - Can be added to the individual platform_macros.GNU file. This - allowed us to remove special code for MVS in wrapper_macros.GNU. - Thanks to Chuck Gehr for this fix. - - * netsvcs/lib: Added some comments after the #endifs. - - * ace/Filecache.cpp (insert_i): Updated the code so that we use - ACE_NEW_RETURN rather than operator new. This macro will - protect against failed allocations. - -Sat Aug 9 22:08:50 1997 Douglas C. Schmidt - - * ace: Added two new config files: - - config-irix6.x-sgic++.h - config-irix6.x-sgic++-nothreads.h - - This should hopefully consolidate the SGI platform - configuration. Thanks to Torbjorn Lindgren for - this fix. - - * include/makeinclude: Added two new platform macro files: - - platform_irix6.x-n32_sgic++.GNU: - platform_irix6.x-32_sgic++.GNU - - This should hopefully consolidate the SGI platform macros. - Thanks to Torbjorn Lindgren for this fix. - - * ace/Filecache.cpp: Fixed the syntax of the SGI pragma stuff. - Thanks to Torbjorn Lindgren for reporting this. - - * ace/Name_Request_Reply.h: Changed MAX_NAME_LEN to MAX_NAME_LENGTH - to avoid problems with Solaris 2.6. Thanks to Thanh Ma - for reporting this. - -Sat Aug 9 12:10:35 1997 Nanbor Wang - - * ace/config-win32-common.h (ACE_HAS_WINSOCK2): - * ace/config-win32.h (ACE_HAS_WINSOCK2): Rearranged definition of - this so that users can overwrite the default setting and choose - older Winsock if they want. No action needed for most NT - useres. Thanks to jmorey@tbi.com (John Morey) for pointing this - out. - -Sat Aug 09 11:28:36 1997 Steve Huston - - * ace/Profile_Timer.i: ACE_HAS_GETRUSAGE and !ACE_HAS_PRUSAGE - platforms now use ACE_OS::gettimeofday rather than - ACE_High_Res_Timer::gettimeofday in start() and stop() methods. - - * tests/Sigset_Ops_Test.cpp: adjusted test for sigismember() with - out-of-range signum to separately test return value and errno. - Also, returns non-zero from program on failed test. - -Fri Aug 08 17:39:43 1997 Douglas C. Schmidt - - * ACE version 4.2.33, released Fri Aug 08 17:39:43 1997. - -Fri Aug 08 02:50:31 1997 Douglas C. Schmidt - - * ace/Message_Queue: Factored out the code that differs depending - on whether we are using the optimized ACE_Message_Queue - implementation (i.e., VxWorks and NT). This change makes it - easier to maintain the code. Thanks to Darrell for helping with - this. - - * ace/Log_Msg.cpp (close): Fixed a couple of typos in this code, - in particular, we need to make sure that we don't call - ACE_Log_Msg_Manager::close() if we aren't multi-threaded. - - * ACE version 4.2.32, released Fri Aug 08 02:50:31 1997. - -Fri Aug 8 13:17:21 1997 Chris Cleeland - - * ace/OS.* (strtoul): Added the OS function strtoul() to turn - strings into unsigned longs. - -Fri Aug 8 12:26:54 1997 Steve Huston - - * ace/Log_Msg.cpp: Fixed some comments and removed unused code - I erroneously added August 6. - - * ace/config-hpux-10.x.h: Fixed to not always compile tracing code. - - * tests/test_config.h: ACE_END_TEST and ACE_END_LOG macros direct - log output back to stderr when shutting off the file output. - - * tests/TSS_Test.cpp: Removed ACE_Thread_Control object from the main - thread - it served no purpose and didn't work on HP-UX (due to - a documented pthread_exit restriction). Also changed a 'delete - ptr' to a call on operator delete (void *). - -Fri Aug 8 09:17:21 1997 Chris Cleeland - - * ace/Service_Repository.h (operations.): Improved documentation - on find(). - -Fri Aug 8 00:01:43 1997 Nanbor Wang - - * ace/Log_Msg.cpp (close): Moved ACE_Log_Msg::close() out of - ACE_MT_SAFE block so it always exists. This function only takes - care of non-VxWorks platforms. - - (instance): Removed at_exit() call since the instances will be - taken of by TSS_Cleanup. - - * ace/Object_Manager.cpp (~ACE_Object_Manager): Removed condition - compilation so it always calls ACE_Log_Msg::close(). - -Thu Aug 7 23:36:26 1997 Douglas C. Schmidt - - * ace/Reactor.h: Added the renew() method and the notify_handler_ - data member to all compilation cases, not just for - multi-threading. - - * ace/Service_Config.h: Clarified the fact that argv[0] is the - program name. Thanks to Chris Cleeland for pointing this out. - - * ace/config-mvs.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION flag - thanks to Chuck Gehr. - - * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on - exceptions and turned off implicit template instantiation. - Thanks to Amos Shapira for reporting the - former. - - * ace/config-irix6.2-sgic++.h: Also added the - ACE_HAS_TEMPLATE_SPECIALIZATION flag and changed the - platform_irix6.2.GNU file to not implicitly initialize - templates. If this breaks something, please let me know. - - * ace/config-irix6.2-sgic++.h: Added the ACE_HAS_EXCEPTIONS flag. - Thanks to Amos Shapira for reporting this. - However, there is some question as to whether this will work. - If it doesn't, please let me know. - - * ace/Reactor: Moved the ACE_Reactory_Notify class out from the - ACE_MT_SAFE section into the main code since this should work - for non-threaded builds, as well. Thanks to Stefan Ericsson - for reporting this. - - * ace/config-chorus.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION - flag. Thanks to Wei Chiang for this. - -Thu Aug 7 19:09:35 1997 Steve Huston - - * tests/Hash_Map_Manager_Test.cpp - split definition of Dumb_String - class to a new header, Hash_Map_Manager_Test.h. This makes AIX - C Set ++ happy. - - * tests/Process_Strategy_Test.cpp - split definitions of Options - and Counting_Service classes to Process_Strategy_Test.h for AIX - C Set ++'s benefit. - -Thu Aug 7 15:27:28 1997 Darrell Brunsch - - * ace/OS.h: Fixed typo in the definition of ACE_SYNCH_1 and - ACE_SYNCH_2 for ACE_HAS_OPTIMIZED_MESSAGE_QUEUE - -Thu Aug 7 13:05:20 1997 Chris Cleeland - - * ace/Strategies_T.h: Changed the argument to ACE_DLL_Strategy - from ACE_Service_Config to ACE_Service_Repository, which is more - concrete. - - * bin/g++dep (REL): Added sed rule so that TAO's dependencies are - set relative to $TAO_ROOT as well as $ACE_ROOT when the '-r' - option is utilized. - - * include/makeinclude/platform_linux_lxpthread.GNU (CCFLAGS): The - -Wall option can now be used. It only generates two warnings - throughout all of ACE! - - * include/makeinclude/rules.local.GNU (depend.local): Modified - this target so that TAO's dependencies are set relative to - $TAO_ROOT as well as $ACE_ROOT. - -Thu Aug 7 12:03:48 1997 James C Hu - - * ace/Filecache.{h,cpp}: Fixed unused variable found by Amos - Shapira. Fixed TEMPLATE_SPECIALIZATION dependency, sort of. Do - not attempt to use Filecache if you do not support - TEMPLATE_SPECIALIZATION. - -Thu Aug 07 00:19:12 1997 Douglas C. Schmidt - - * ACE version 4.2.31, released Thu Aug 07 00:19:12 1997. - -Wed Aug 6 22:20:54 1997 Douglas C. Schmidt - - * ace/Synch_T.h: Replaced all uses of ACE_Null_Condition_Mutex - with ACE_Null_Condition, which is much more straightforward... - - * ASNMP: Added Mike MacFaden's changes for IRIX. - -Wed Aug 6 16:37:51 1997 James C Hu - - * ace/Hash_Map_Manager.cpp: Changed implementation back to use a - single sentinel_ rather than an array of them. - - * ace/Filecache.{h,cpp}: Total re-implementations. Fewer locks - acquired and released when there is a cache hit. - -Wed Aug 06 12:55:26 1997 Steve Huston - - * ace/Log_Msg.(h cpp): - (ACE_Log_Msg_Manager) - Removed most of the non-VxWorks - pieces - there's just a lock left; the instances_ was removed - (ACE_Log_Msg) - Use ACE_Object_Manager to remove per-thread - instances of ACE_Log_Msg rather than using ACE_Log_Msg_Manager. - The use of an ACE_Unbounded_Set to hold the ACE_Log_Msg pointers - in previous versions caused some non-tail recursion problems when - tracing was enabled. - Uses an instance count to know when it's safe to free the dynamically - allocated class-static memory. - - * ace/Trace.(h cpp): Added new static member function: - int is_tracing(void) - returns 1 if tracing is enabled, else 0. - - * ace/Object_Manager.(h cpp): Added a flag to indicate the object is - being destroyed - during destruction, ACE_Object_Manager now refuses - to register any new memory pointers. Also turns tracing off during - destruction - ACE_Log_Msg makes use of ACE_Object_Manager, so we - don't want ACE_Log_Msg instance being deleted, then created for a - ACE_TRACE, then deleted, then created,... - -Wed Aug 06 03:35:41 1997 Douglas C. Schmidt - - * ACE version 4.2.30, released Wed Aug 06 03:35:41 1997. - -Wed Aug 6 00:13:27 1997 Nanbor Wang - - * netsvcs/lib/Server_Logging_Handler.cpp: We only need to - instantiate ACE_Svc_Handler when - ACE_HAS_THREADS. Otherwise, we'll have duplicate symbols - defined on platforms that do not support threads. - -Tue Aug 5 19:52:36 1997 Douglas C. Schmidt - - * ace/Containers: Added a new reset method for ACE_Unbounded_Set. - Thanks to Arturo Montes for - reporting this. - - * ace: Changed most uses of ACE_LACKS_COND_T to - ACE_HAS_OPTIMIZED_MESSAGE_QUEUE to make it possible to toggle - between the emulated condition variable implementation of - ACE_Message_Queue and the semaphore implementation. We need - this until we fully test out the semaphore implementation of - ACE_Message_Queue. - - * ace/Object_Manager.cpp (ACE_Object_Manager): Only call the - ACE_Log_Msg::close() method if ACE_MT_SAFE is enabled! Thanks - to Satoshi Ueno for reporting this. - - * ace/Malloc.h: Added a fix for misalignment of data in the - ACE_CONTROL_BLOCK_ALIGN_LONGS macro. Thanks to Fred LaBar - for this fix. - - * ace/ACE.cpp: (enter_recv_timedwait,enter_send_timedwait): Always - give val a default value of 0 to make Purify happy. Thanks to - David Levine for reporting this. - - * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp, - netsvcs/clients/Tokens/manual/manual.cpp, - netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp: - Removed unreachable statements. Thanks to Cherif Sleiman - for reporting this deficiency and - testing the fix. - -Tue Aug 5 16:41:06 1997 Darrell Brunsch - - * ace/Synch_T.h: Added some more ACE_LACKS_COND_T changes for compilers - without template typdefs. - -Tue Aug 5 11:50:43 1997 Nanbor Wang - - * ace/Message_Queue.h: Fixed typos for the case when - ACE_LACKS_COND_T. - -Tue Aug 05 11:02:11 1997 - - * tests/Atomic_Op_Test.cpp (main): Made sure that on platforms - without threads, we don't try to run this test. - -Tue Aug 05 09:15:40 1997 David L. Levine - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: removed - -no_prelink from LDFLAGS because ghs 1.8.8 doesn't support it. - Thanks to Cherif Sleiman for - reporting this. - - * ace/Service_Record.cpp: added #include "ace/Stream_Modules.h" - to support template instantiation on GreenHills, at least. - Thanks to Cherif Sleiman for - reporting this deficiency and testing the fix. - - * ace/config-vxworks-ghs-1.8.h: added - ACE_LACKS_LINEBUFFERED_STREAMBUF. Thanks to Cherif Sleiman - for reporting this. - -Mon Aug 4 22:47:54 1997 Douglas C. Schmidt - - * ace/Message_Queue: Fixed consistency problems in naming notfull - vs. not_full. Thanks to David Levine for finding this. - - * ace/Message_Queue: Added specialized support for cases where - ACE_LACKS_COND_T (e.g., VxWorks and NT). This scheme uses - ACE_Thread_Semaphores in this case, which should be more - efficient). - - * ace/Synch_T.h: Added a new set of macros and typedefs for - ACE_SYNCH_SEMAPHORE. - - * examples/ASX/Message_Queue: Cleaned up all the Message_Queue - examples. - - * examples/ASX/Message_Queue/buffer_stream.cpp: Added a - NUL-terminator to the program so that it won't break. Thanks to - Darrell for finding this. - - * ace/Reactor.cpp (wait_for_multiple_events): Fixed some - stylistic problems in the Reactor. - - * ace/Synch.cpp (ace_static_object_lock_atexit): Changed from: - - extern "C" static void - - to: - - extern "C" void - - Thanks to Chuck Gehr for this. - -Mon Aug 4 14:03:22 1997 Steve Huston - - * tests/Enum_Interfaces_Test.cpp: return non-zero if test fails. - -Mon Aug 4 12:03:29 1997 Darrell Brunsch - - * tests/Semaphore_Test: Redid to test timed waits in a more - reasonably fashion. - -Mon Aug 4 11:43:09 1997 Douglas C. Schmidt - - * ace/OS: Continued to cleanup the problems with inconsistent - variants of sendmsg() and writev() on VxWorks. Thanks to Cherif - Sleiman for reporting this. - - * ace/OS.i (sema_wait): Fixed the implementation on NT so that - errno = ETIME. - - * tests/Semaphore_Test.cpp: Cleaned up the programming style a - bit. - - * ace/OS (writev): Removed the ACE_WRITEV_TYPE from the - ACE_OS::writev() method and instead put this as a cast on the - internal call to ::writev(). This is much cleaner and should - fix a bug introduced last night. Thanks Cherif Sleiman - for reporting this. - - * ace/Synch: Added a new release() method to ACE_Semaphore that - enables a caller to release multiple waiters. Thanks to Darrell - Brunsch for noticing this. - -Mon Aug 4 12:03:29 1997 Darrell Brunsch - - * tests/Semaphore_Test: Redid to test timed waits in a more - reasonably fashion. - -Sun Aug 03 23:47:13 1997 Douglas C. Schmidt - - * ACE version 4.2.29, released Sun Aug 03 23:47:13 1997. - -Sun Aug 3 22:18:33 1997 Douglas C. Schmidt - - * tests/Atomic_Op_Test.cpp: Added template specialization so that - David won't have to ;-) - - * ace/ACE: Added a new, complete set of send/recv operations with - timeouts. These implement the following methods: - - read, readv, write, writev, recv, recvfrom, recvmsg, send, sendto, sendmsg. - - The implementation provides two flavors: MIT pthread support, an - ACE portable support. To use MIT pthread support, you must to - define ACE_HAS_READ_TIMEDWAIT, ACE_HAS_READV_TIMEDWAIT, - ACE_HAS_WRITE_TIMEDWAIT, ACE_HAS_RECV_TIMEDWAIT, - ACE_HAS_RECVFROM_TIMEDWAIT, ACE_HAS_RECVMSG_TIMEDWAIT, - ACE_HAS_SEND_TIMEDWAIT, ACE_HAS_SENDTO_TIMEDWAIT and - ACE_HAS_SENDMSG_TIMEDWAIT respectively. See the config.h file - for SCO UNIX for an example. - - This new approach is not only more powerful (since it takes - advantage of OS-level mechanisms when they exist), but it also - greatly improves the modularity of the code and provides a - wider range of supported functionality. Thanks to Arturo - Montes for this new feature. - - * ace/ACE.cpp: Added comments to the ACE_Object_Manager_Destroyer - class. - - * ace/OS.h: Redid all the function prototypes for class ACE_OS so - that it's easier to read the arguments. - - * ace/config-sco-5.0.0-mit-pthread.h: Added the new macros that - enable timed reads and writes. Thanks to Arturo Montes - for this new feature. - - * ace: Added a corresponding #endif /* FOO */ for all #if defined - (FOO) in ACE. - - * ace: Changed all uses of ACE_IOStream_T to ACE_IOStream to - be more consistent with other uses of templates in ACE. - Thanks to Thilo for reporting this (and thanks to David - for not being offended ;-)). - - * ace/OS.i (operator/): Removed "const" from both the OS.h and - OS.i files for ACE_U_LongLong::operator/. It is redundant, - potentially confusing, and gives warnings on some compilers! - -Sun Aug 03 21:20:12 1997 - - * tests/Atomic_Op_Test.cpp: Added new test to test the Atomic - Operations Class in ACE. On platforms like Win32, ACE uses - template specialization to use native implementations provided - by the OS to accelarate these operations. - - * ace/config-win32-common.h (ACE_HAS_INTERLOCKED_EXCHANGEADD): - Added macro to config file. This macro is automatically set true - for NT4.0 systems or greater. - - * ace/Atomic_Op.i: On Win32 platforms, this code will be included - as template source code and will not be inlined. Therefore, we - first turn off ACE_INLINE, set it to be nothing, include this - code, and then turn ACE_INLINE back to its original setting. All - this nonsense is necessary since the generic template code that - needs to be specialized cannot be inlined, else the compiler - will ignore the specialization code. Also, the specialization - code *must* be inlined or the compiler will ignore the - specializations. - - The creation of this new file is necessary for non-Win32 - platforms to continue to inline the code as before. - - * ace/Synch_T.cpp: This file must include Atomic_Op.i if - ACE_INLINE has not be turned on. If it is, this file must be - included by Synch_T.h. - - * ace/Synch.cpp: Moved the specialization code from Synch.cpp to - Atomic_Op.i. This is necessary, otherwise the compiler will - ignore the specialization. - -Sun Aug 03 10:51:34 1997 David L. Levine - - * ace/config-osf1-4.0*.h: added #define ACE_HAS_LONGLONG_T. - Thanks to Thilo for reporting that OSF1-4.0 does. - -Sat Aug 02 23:51:19 1997 Douglas C. Schmidt - - * ACE version 4.2.28, released Sat Aug 02 23:51:19 1997. - - * ace/TTY_IO.cpp (control): Fixed a bug when using 8 bits for - character due to ISTRIP flag setting for device. Thanks to - Arturo Montes for reporting this bug. - - * ACE-categories: Updated the list of ACE classes to reflect - recent changes. - - * ASNMP: Added the new ACE+SNMP release courtesy of Mike - MacFaden . This builds cleanly on Solaris, - but it looks like there are a bunch of non-portable features - that won't compile cleanly on all the other platforms. - Therefore, until Mike or others get this stuff fully portable, - it won't be build by default in the top-level ACE Makefile. - - * ace/OS.h (class ACE_U_LongLong): Reformatted this a bit. - - * ace/SV_Semaphore_Simple.i: Removed the #include of - SV_Semaphore_Simple.h since it seems unnecessary and is causing - problems for TAO. - - * ace/IOStream_T.h (ACE_IOStream_T): Removed the unneeded ';' at - the end of the ACE_UNIMPLEMENTED_FUNC macros since this was - causing compiler errors. - -Sat Aug 02 13:11:22 1997 David L. Levine - - * ace/Synch.cpp (ACE_Static_Object_Lock::instance): commented - out call to ::atexit () because it causes shutdown problems - on DEC CXX, HP/UX, and AIX. Many thanks to James Johnson - for tenaciously tracking this one down, to Thilo and Steve - for assisting, and to all who reported the problem. - - * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::open,close): neutered - on VxWorks, only, so that it will compile. - -Fri Aug 1 21:33:18 1997 Nanbor Wang - - * netsvcs/lib/netsvcs.mak: Added post compilation command that - copies DLL to ace/ directory because netsvcs/main.exe must have - this file in search path. - - * ace/Read_Buffer.cpp (ACE_Read_Buffer): Used ACE_OS::fdopen - instead of ::fdopen because it caused compilation error on NT. - -Fri Aug 1 17:25:04 1997 Chris Cleeland - - * include/makeinclude/platform_irix6.4_sgic++.GNU (CCFLAGS): Used - -ptnone and -no_prelink in order to get SGI to compile properly. - - * ace/config-irix6.4-sgic++.h (ACE_HAS_EXCEPTIONS): Added - ACE_HAS_EXCEPTIONS to this config. - - * ace/IOStream_T.h (ACE_IOStream_T): Wrapped send, recv, send_n, - and recv_n with the ACE_UNIMPLEMENTED_FUNC macro. - -Fri Aug 1 17:08:32 1997 Nanbor Wang - - * ace/ace.mak: Put OS.cpp back into the makefile. - - * ace/config-win32-common.h: Commented out checking of - ACE_HAS_WINSOCK2 when we are using NT 4.0 and above. The - original check prevented us from using winsock2. - - * ace/Thread_Manager.cpp: - * ace/Service_Repository.cpp: - * ace/ReactorEx.cpp: - * ace/Reactor.cpp: - * ace/Proactor.cpp: - * ace/Malloc.cpp: - * ace/Synch.{h,cpp}: Changed the lock held by - ACE_Static_Object_Lock from ACE_Thread_Mutex to - ACE_Recurssive_Thread_Mutex. - - * ace/Timer_Heap_T.cpp (ACE_Timer_Heap_T): Something was missing - here..... - -Fri Aug 1 13:39:13 1997 Douglas C. Schmidt - - * ace/TTY_IO.cpp (control): Removed the special M_UNIX code for - SCO_OpenServer. Thanks to Arturo Montes - for reporting this. - - * ace/Read_Buffer.cpp (ACE_Read_Buffer): Mistakenly used int - rather than ACE_HANDLE for one of the constructors in - ACE_Read_Buffer. - - * ace/OS.cpp (readv): Fixed a braino that manifests itself on - Chorus because I put the ACE_READV_TYPE in the wrong place. - Thanks to Wei Chiang for reporting this. - -Fri Aug 1 14:31:22 1997 Darrell Brunsch - - * tests/Timer_Queue_Test.cpp: removed casts from pointers to ints - (when a act was compared with a number) and instead used a cast - on the integer values. This gets rid of warnings on platforms - where the sizeof a pointer is larger than the sizeof an int. - -Fri Aug 01 12:10:28 1997 - - * ace/Synch_T: Changed parameter passing for ACE_Atomic_Op from - const TYPE to const TYPE &. - - * ace/Synch.cpp: These specializations have been added to - ACE_Atomic_Op to make the implementation faster on Win32 that - has OS support for doing this quickly through methods like - InterlockedIncrement and InterlockedDecrement. - - * ace/SV_Semaphore_Complex.cpp (open): Fixed more compiler - warnings: - - IOStream.cpp Naming_Context.cpp Read_Buffer.cpp - SV_Semaphore_Complex.cpp SV_Semaphore_Complex.i - -Fri Aug 1 11:57:45 1997 Chris Cleeland - - * ace/Containers.h (ACE_Fixed_Set): Eliminated declaration for - unnecessary ACE_Fixed_Set(size_t) CTOR. - - * ace/OS.h: Simplified the typedef of ACE_hrtime_t so that it's an - unsigned long long whenever ACE_HAS_LONG_LONG_T is defined. - -Fri Aug 01 10:12:26 1997 David L. Levine - - * ace/config-osf1-4.0.h: added ACE_HAS_TEMPLATE_SPECIALIZATION. - Thanks to Thilo for verifying that this is supported with DEC CXX. - - * ace/config-irix6.4-sgic++*.h: added ACE_TEMPLATES_REQUIRE_SOURCE - and ACE_REQUIRES_FUNC_DEFINITIONS. - - * ace/OS.h,README: added ACE_REQUIRES_FUNC_DEFINITIONS support. - - * ace/{Free_List.h,Remote_Tokens.h,Synch_T.h,Timer_*_T.h}: - wrapped unimplemented template class copy constructors and - assignment operators with ACE_UNIMPLEMENTED_FUNC. - - * tests/Service_Config_Test.cpp: removed templates to avoid - problems with finicky compilers, and added check of destruction - ordering. - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: added - -no_prelink to LDFLAGS. - -Fri Aug 01 00:14:46 1997 Douglas C. Schmidt - - * ACE version 4.2.27, released Fri Aug 01 00:14:46 1997. - -Thu Jul 31 21:51:01 1997 David L. Levine - - * ace/Log_Msg.cpp (open): fixed memory leak. - -Thu Jul 31 21:41:10 1997 Douglas C. Schmidt - - * tests/Service_Config_Test.cpp (run_test): You won't shout as I... - - * ace/Object_Manager.cpp (instance): ... fiddle about ;-) - -Thu Jul 31 17:39:56 1997 - - * ace: The following files were modified to avoid the - "unreferenced formal parameter" and other warnings from the - compiler: - - ACE.cpp Asynch_IO.cpp Asynch_IO.h INET_Addr.cpp OS.cpp OS.h OS.i - Proactor.cpp Reactor.cpp ReactorEx.cpp ReactorEx.i - SOCK_Dgram_Bcast.cpp Service_Config.cpp - -Thu Jul 31 16:46:44 1997 David L. Levine - - * ace/config*.h: replaced "ACE_REQUIRES_TEMPLATE_SPECIALIZATION" - with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION". - - * ace/config-vxworks-ghs-1.8.h,config-irix6.4-sgic++*.h: added - ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA. - - * all .cpp files that had "ACE_REQUIRES_TEMPLATE_SPECIALIZATION": - replaced with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION" and - added #pragma instantiate for Edision Design Group compilers, - e.g., SGI and Green Hills. - -Thu Jul 31 16:25:33 1997 Douglas C. Schmidt - - * ace/Synch.i (acquire): Added the timed acquire() interface to - ACE_Semaphore. - -Thu Jul 31 11:10:17 1997 Darrell Brunsch - - * tests/run_tests.bat: Redid this file completely making it - much smarter about running tests. Instead of just blindly - executing the tests, it checks the return values to see if - an error occured and also outputs relevant errors from the - log file if the test was unsuccessful. - - It's a remarkable example of batch programming wizardry. - -Thu Jul 31 10:39:04 1997 Darrell Brunsch - - * ace/INET_Addr.cpp: initialized error variable in - gethostname to stop warnings when inlining is on. - -Thu Jul 31 09:46:50 1997 Darrell Brunsch - - * ace/Timer_Heap_T.cpp: changed cancel(id) to check the timer - id to make sure it is in range (not negative and not larger - than the current size of the heap) - -Thu Jul 31 07:32:26 1997 David L. Levine - - * Malloc_T.{i,cpp},Timer_Queue_T.i: replaced LOCK with ACE_LOCK. - Thanks to Thilo for supplying patches. - - * ace/config-sunos5.5-g++.h: #define ACE_MALLOC_ALIGN to be 8. - - * ace/Object_Manager.*: renamed cleanup () to at_exit (). - - * Log_Msg.{h,cpp},Object_Manager.cpp: let ACE_Object_Manager - clean up the global ACE_Log_Msg_Manager. - - * Service_Config_Test.cpp: added test of - ACE_Object_Manager::at_exit (). - -Wed Jul 30 20:30:25 1997 Douglas C. Schmidt - - * ace/SOCK_Dgram.h: Added an = 0 to the flags parameter to recv(). - Thanks to Michael MacFaden for pointing out the inconsistency. - - * ace/OS.cpp (thr_create): Added support for the SCHED_IO policy, - which is supported by MIT Pthreads. Thanks to Arturo Montes - for this fix. - - * ace/SOCK_Dgram.h: Added a comment to clarify how to delete the - elements of the iovec array. Thanks to Mike MacFaden for - clarifying this. - - * ace/Reactor.h: Changed the comment for schedule_timer() to use - delta_timer rather than delay. - - * ace/Connector: Updated the timer cancellation id to be long - rather than int. - - * examples/Reactor/Misc/notification.cpp: Timers are now working - happily on Chorus, so we can revert the Chorus-specific patches. - Thanks to Wei Chiang for reporting this. - - * ace/SOCK_Dgram.cpp (recv): The timed recv() method must return - -1 on a timeout to meet its documented specification. Thanks to - Joseph Cross for reporting this - problem. - - * ace/OS.i (readv): Added a fix for Chorus, which has a different - readv() prototype than normal operating systems. Thanks to Wei - Chiang for reporting this. - -Wed Jul 30 20:02:21 1997 James C Hu - - * ace/Hash_Map_Manager.{h,cpp}: changed the *_i methods to use - shared_find() method to ease template specialization efforts. - Also, added a new shared_find() method. Added a parameter to - each to allow the passing in of the calculated hash value. - -Wed Jul 30 16:43:34 1997 - - * ace/config-win32-common.h: If _DEBUG is not set (that is, we are - building the Release version), we will turn on __ACE_INLINE__. - Thanks to Matthias Kerkhoff for - suggesting this. - -Wed Jul 30 06:53:30 1997 Matthias Kerkhoff - - * The use of the following configuration #defines in the entire - ACE distribution has been changed: - - - ACE_HAS_WINNT4 - - ACE_HAS_MFC - - ACE_HAS_STRICT - - ACE_MT_SAFE - - ACE_HAS_DLL - - ACE_HAS_SVC_DLL - - ACE_HAS_WINSOCK2 - - ACE_HAS_ORBIX - - ACE_HAS_MT_ORBIX - - In previous ACE-versions, code blocks depending on one of these - defines have been guarded by an #if defined(ACE_XXX_OPTION). - Therefore it has been necessary to define the default - configuration unconditionally in config-win32.h. - - The #if statements in the source files have been changed to - - #if defined(ACE_XXX_OPTION) && (ACE_XXX_OPTION != 0) - - while the default configuration in config-win32.h will only be used, - if it has not been overridden from the compilers command line (i.e.) : - - #if !defined(ACE_XXX_OPTION) - #define ACE_XXX_OPTION 1 - #endif - -Wed Jul 30 14:46:33 1997 Nanbor Wang - - * ace/Malloc.cpp: - * ace/Proactor.cpp: - * ace/ReactorEx.cpp: - * ace/Reactor.cpp: - * ace/Service_Repository.cpp: - * ace/Thread_Manager.cpp: - * ace/Synch.{h,cpp}: Changed ACE_Static_Object_Lock::get_lock () - to instance () to emphasize that it's a singleton. - - * ace/Containers.cpp: Fixed the problem caused by - ACE_Unbounded_Stacknotkeeping its size currectly. Thanks for - Matthias Kerkhoff for sending us the - patch. - - * ace/OS.cpp (exit): Corrected a bug in ACE_TSS_Cleanup::exit (). - It innocently uses default ctor to copy info_arr. And things - get out of hand when info_arr[] gets destructed. Thanks very - much for Matthias Kerkhoff for digging - this out and sending us the patch. - -Wed Jul 30 13:36:55 1997 David L. Levine - - * ace/config-vxworks-ghs-1.8.h: added #ifdef ppc wrapper around - #define of ACE_HAS_POWERPC, because GreenHills #defines that. - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: replaced - indlib.o LIBS with newer ghsbltin.o and ghsmath.o. - - * ace/OS.h: use the same ACE_UNUSED_ARG definition with ghs as - with other compilers. - - * ace/Object_Manager.*: revised interface, but still in flux. - cleanup () should work for process-wide registration, but is - untested. - -Wed Jul 30 11:13:57 1997 Chris Cleeland - - * ace/config-linux*.h (ACE_HAS_LONGLONG_T): These configs - file incorrectly had ACE_HAS_LONGLONG rather than - ACE_HAS_LONGLONG_T. - - * ace/OS.cpp (gethrtime): Added 'volatile' keyword to insure that - the automatic variables 'most' and 'least' don't get put into - registers. Putting this in stopped the SIGSEGV that was occurring - in Linux. - -Wed Jul 30 06:53:30 1997 Douglas C. Schmidt - - * ACE version 4.2.26, released Wed Jul 30 06:53:30 1997. - -Wed Jul 30 04:36:39 1997 Nanbor Wang - - * ace/Containers.{h,cpp}: Added back new parameterized allocation - strategy version. Finally. - - * ace/Synch.cpp (atexit): Moved ACE_Allocator here because only - here, we can be sure that no other user defined memory - activities are going on. This is becoming even more - interesting now.... Perhaps we should move all - close_singleton's here? - - * ace/Service_Config.cpp (close_singletons): Removed - ACE_Allocator::close_singleton () from this function because we - still need ACE_Allocator to "free" static objects' memory. - - * ace/Synch.{h,cpp}: Added a new class ACE_Static_Object_Lock - which provides a lock when instantiating static objects. - - * ace/Thread_Manager.cpp: Removed ace_thread_manager_lock_, - * ace/Service_Repository.cpp: Removed ace_service_repository_lock_, - * ace/ReactorEx.cpp: Removed ace_reactorex_lock_, - * ace/Reactor.cpp: Removed ace_reactor_lock_, - * ace/Proactor.cpp: Removed ace_proactor_lock_, - * ace/Malloc.cpp: Removed ace_malloc_lock_, - and replace them with a global single lock - ACE_Static_Object_Lock::get_lock (). - -Tue Jul 29 16:25:48 1997 Chris Cleeland - - * ace/OS.cpp (thr_create): Explicitly flagged 'stack' and 'size' - as unused arguments. - - * ace/Memory_Pool.cpp (handle_signal): Explicitly flagged siginfo - as an unused argument, and moved the decl of offset into the - conditional block in which it's used. - - * ace/OS.i (dlerror): Added explicit cast of the return value to - (char*) because on Linux dlerror() returns const char*, while on - Solaris it's char*. - - * ace/config-linux-lxpthreads.h: Created new flag - ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS that can be used when only - certain functions are missing POSIX prototypes. This eliminates - more warnings with -Wall - - * ace/ACE.cpp (max_handles): Added return statement for the - RLIMIT_NOFILE case. - (count_interfaces): Removed unused variables. - -Tue Jul 29 15:10:35 1997 Darrell Brunsch - - * ace/OS.i: Changed sema_wait to take in a const ACE_Time_Value - -Tue Jul 29 12:41:27 1997 Douglas C. Schmidt - - * ace/config-sco-5.0.0-mit-pthread.h: Added the - ACE_LACKS_PWD_FUNCTIONS macro. Thanks to Arturo Montes - for reporting this. - -Tue Jul 29 13:10:00 1997 Nanbor Wang - - * ace/Signal.h: Moved inclusion of "Containers.h" to the bottom of - this file so everything is defined properly before use. - -Tue Jul 29 12:36:24 1997 - - * tests/Message_Queue_Test.cpp (main): Removed dynamic allocation - of the string array. - -Tue Jul 29 12:15:49 1997 Darrell Brunsch - - * ace/Proactor.cpp - * ace/Reactor.cpp: - * ace/ReactorEx.cpp: Changed the default Timer Queue to - Timer Heap instead of Timer List. - -Tue Jul 29 07:59:04 1997 David L. Levine - - * Makefile,TAO/Makefile: change mode of updated ChangeLog-* - file to 644 after updating it, when building a release - with TIMESTAMP enabled. - - * ace/OS.cpp (sched_params): added some more initializations - to 0 to avoid Purify warnings about unitialized memory reads. - - * ace/Object_Manager.cpp (~ACE_Object_Manager): removed unused - variable "i". Thanks to Amos Shapira - for reporting this. - - * ace/Service_Record.{h,i} Parse_Node.{h,cpp} (handle,open_handle): - removed "const" from ACE_SHLIB_HANDLE return value. Thanks - to the several people who noted compiler warnings from this. - - * ace/Naming_Context.cpp: added delete of this->name_options_; - (dtor,fini): call this->close (). - - * tests/IOStream_Test.cpp (client,server): use ACE_NEW_RETURN - instead of new. - -Tue Jul 29 01:53:18 1997 Nanbor Wang - - * ace/OS.h: Added two new macros ACE_NEW_MALLOC_RETURN and - ACE_NEW_MALLOC. Theses are similiar to ACE_ALLOCATOR_RETURN and - ACE_ALLOCATOR that allow memory allocation using user defined - functions. However, these two macros will call specified - constructor after memory is being allocated. - - * ace/Containers.{h,cpp}: Decoupled memory allocation strategy for - ACE_Unbounded_Stack, ACE_Unbounded_Set, ACE_Unbounded_Queue. - Users can now specified their own memory allocation strategies - if needed. If not specified, the default ACE_Allocator will be - used. - -Tue Jul 29 00:56:54 1997 Douglas C. Schmidt - - * ACE version 4.2.25, released Tue Jul 29 00:56:54 1997. - -Mon Jul 28 16:23:26 1997 David L. Levine - - * include/makeinclude/rules.nested.GNU: added missing - semicolon at end of last statement. Thanks to Amos - Shapira for providing this fix. - - * ace/OS.h (VxWorks only): only #include before - for GreenHills. Thanks to Dave Moore - for reporting a problem without this - fix with g++/VxWorks 5.3.1 for PowerPC target. - Also, commented out g++ string.h hack. It no longer appears - to be necessary. - - * tests/README: added VxWorks 5.3.1 test status. - - * tests/SPIPE_Test.cpp (main): fixed #ifdefs so that it compiles. - - * ace/OS.i: (strtok_r): replaced NULL with 0. NULL is #defined - as (void *) 0 on VxWorks, so it causes compile warnings. - Thanks to Dave Mayerhoefer for reporting - this problem. - - * ace/Object_Manager.{h,cpp},Makefile: added this class to - shutdown ACE library services, and reclaim their storage, - at program termination. - - * ace/ACE.cpp: added hook to call ACE_Object_Manager destructor - in this file. It's in this file so that it's sure to be - linked in to executables that statically link libACE.a. - - * ace/Service_Config.{h,cpp}: (close): delete ACE_STATIC_SVCS - instance, which is now saved in static_svcs_. Also, removed - LM_SHUTDOWN call, because the logger apparently gets shutdown - now with everything else (with ACE_Object_Manager). - - * ace/Object_Manager.* (delete_at_exit,delete_array_at_exit): - made these (inline) static functions, with return values. - - * tests/IOStream_Test.cpp (client,server): explicitly destroy - (and create) ACE_SOCK_IOStream instances, because they don't - get destroyed on Solaris. They're on the stack of separate - threads, so maybe the problem is related to not cleaning up - TSS on Solaris. Thanks to James CE Johnson - for some efficient debugging work, and for verifying that the - original code works properly on Linux. - -Mon Jul 28 21:59:09 1997 Nanbor Wang - - * ace/ace.mak: Added file Object_Manager.cpp. - - * ace/OS.h: Added #define RTLD_LAZY when - ACE_HAS_SVR4_DYNAMIC_LINKING and RTLD_LAZY is not defined. - FreeBSD 2.2.1 "forgot" to put in this definition. Thanks to - Satoshi Ueno for reporting this. - -Mon Jul 28 13:27:21 1997 Douglas C. Schmidt - - * ace/Object_Manager: Made a few minor stylistic updates. - - * netsvcs/servers/main.cpp (main): Updated this test program to - utilize the new ACE_Service_Object_Ptr class. - - * ace/Service_Object.h: Added a new smart pointer call - ACE_Service_Object_Ptr, which generalizes functionality that was - previously in the ./netsvcs/server/main.cpp file. Thanks to Wei - Chiang for this suggestion. - - * examples/Threads/process_manager.cpp (parse_args): Removed the - unused n_processes global variable. Thanks to Amos Shapira for - reporting this. - - * tests/SPIPE_Test.cpp (main): Cleaned up the #ifdef structure - to remove compiler warnings. Thanks to Amos Shapira for - this. - - * tests/Handle_Set_Test.cpp (test_performance): Removed an unused - ACE_HANDLE handle definition. Thanks to Amos Shapira for - reporting this. - - * ace/OS.i (sema_init): Swapped else and #endif to avoid - a compile error when ACE_LACKS_NAMED_POSIX_SEM is false. - Thanks to Wei Chiang for reporting this. - - * ace/OS.cpp (rwlock_init): Added a cast to (const void *) to keep - certain compilers from complaining. Thanks to Thilo and - Amos Shapira for reporting this. - - * ace/OS.i (sema_wait): *tv should have been &tv. Thanks to Thilo - for reporting this. - -Mon Jul 28 13:57:21 1997 James C Hu - - * ace/config-irix6.4-sgic++.h: Added template specialization #def. - -Sun Jul 27 20:47:01 1997 David L. Levine - - * tests/Handle_Set_Test.cpp: Instantiate templates with - ACE_HANDLE instead of int. - - * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main): use - ACE_OS::fprintf () instead of cerr. - -Sun Jul 27 20:10:26 1997 Douglas C. Schmidt - - * ACE version 4.2.24, released Sun Jul 27 20:10:26 1997. - -Sun Jul 27 16:03:30 1997 Nanbor Wang - - * tests/Handle_Set_Test.cpp (test_boundaries): Changed class of - queue from ACE_Unbounded_Queue to - ACE_Unbounded_Queue so it declares the right data - type. - - * ace/Synch.cpp (ACE_Process_Mutex): - * ace/OS.cpp (rwlock_init): - * ace/ACE.cpp (unique_name): Memories for placing unique_name are - now declared using ACE_UNIQUE_NAME_LEN. When calling - ACE::unique_name, the length is also specified using - ACE_UNIQUE_NAME_LEN because using "sizeof (buffer)" also caused - problem if we are using UNICODE. - - * ace/OS.h: Added a new directive ACE_UNIQUE_NAME_LEN to specified - the maximum length of an "unique name." - -Sun Jul 27 15:32:08 1997 David L. Levine - - * tests/Handle_Set_Test.cpp (main): uncommented - test_duplicates () and test_performance () calls, and added - ACE_Unbounded_Queue_Iterator specialization. - -Sun Jul 27 14:25:33 1997 Douglas C. Schmidt - - * tests/Handle_Set_Test.cpp (test_boundaries): Added a better test - to ensure that the ACE_Handle_Set_Iterators are working - correctly. This works by inserting the handles in a queue and - then making sure that they are the same values we receive from - the iterator. - - * ace/Handle_Set.i (operator): Fixed a subtle bug in the - ACE_Handle_Set_Iterator implementation. We need to make - sure that we increment the handle_index_ to the beginning - of the next word whenever we've examined all the bits in - the current word. Thanks to David Levine for noticing this - problem. - -Sun Jul 27 09:06:29 1997 David L. Levine - - * include/makeinclude/rules.lib.GNU: replaced hard-coded ".so" - with "$(SOEXT)". - - * include/makeinclude/rules.local.GNU: added/completed support - for "$(SOEXT)", and "$(VSHDIR)" instead of always hard-coding - them as ".so" and ".shobj/". - - * include/makeinclude/wrapper_macros.GNU: added support for - override of "$(VSHDIR)" in platform_macros.GNU. - - * apps/JAWS/clients/{Blobby,Caching}/Makefile, - apps/JAWS/stress_testing/Makefile, - apps/Orbix-Examples/Event_Comm/{Consumer,Supplier}/Makefile, - examples/ASX/Event_Server/Event_Server/Makefile, - examples/ASX/UPIPE_Event_Server/Makefile, - examples/Logger/simple-server/Makefile, - examples/Mem_Map/IO-tests/Makefile, - examples/Naming/Makefile, - examples/Reactor/Multicast/Makefile, - examples/Service_Configurator/Misc/Makefile, - examples/Shared_Malloc/Makefile: - replaced hard-coded ".shobj" with "$(VSHDIR)" in LDLIBS definitions. - - * include/makeinclude/platform_vxworks5.x_{g++,ghs}.GNU: - added overrides of .so build rules to change them .o builds. - - The above changes allow builds of modules that specify .shobj/*.so - on VxWorks, by mapping those objects to .obj/*.o. - -Sun Jul 27 03:07:35 1997 Nanbor Wang - - * ace/ACE.cpp (unique_name): Added __TEXT macro to the format - string in sprintf to avoid a nasty problem when using UNICODE on - NT. - -Sat Jul 26 21:12:07 1997 David L. Levine - - * ace/ReactorEx.cpp: added a couple of ACE_UNUSED_ARG's. - - * examples/Logger/simple-server/Logging_Handler.cpp (handle_input): - replace use of cerr with stderr (by using default arg of - ACE_Log_Record::print ()). - - * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): use - ACE_OS::printf () instead of cout. - - * examples/Shared_Malloc/test_persistence.cpp: added #include - of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - -Sat Jul 26 15:55:43 1997 - - * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed (T *) to - (T*). VC++ did not like the former. - - * The entire ACE distribution was updated to use the new singleton - methods. The old singleton methods in Service_Config have been - deprecated and users are encouraged not to use these methods - anymore. It may not be supported in future releases. The - replacement is the instance() methods in the individual classes. - For example, ACE_Service_Config::reactor() is replaced by - ACE_Reactor::instance(). A perl script has been added - (ACE_wrappers/bin/Service_Config.perl) to allow users to change - their code over to the new methods. - - These changes will hopefully help in reducing the compile-time - dependencies in ACE source files and allow smaller custom ACE - libraries to be compiled. - - Thanks to Matthias Kerkhoff for making - these changes. - -Sat Jul 26 15:44:45 1997 Douglas C. Schmidt - - * ace/Malloc_T.cpp (ACE_Cached_Allocator): I think we want to - say "sizeof (T)" rather than "sizeof (T *)". - - * ace/FILE_IO.i (recv_n): There is a minor bug fix to be made in - FILE_IO.i. The method ACE_FILE_IO::recv_n() should call - ACE::read_n(), not ACE::recv_n(). Similarly, the method - ACE_FILE_IO::send_n() should call ACE::write_n(), not - ACE::send_n(). The functions ::recv() and ::send() are intended - only for *socket* I/O, and return failure conditions when - applied to *file* I/O. Thanks to David Brackman - for reporting this. - - * ace: Changed all LOCK names to ACE_LOCK to avoid clashes - with macros in the KAI C++ compiler. Thanks to Jeff - R. Hayes for pointing this out. - - * ace/Malloc_T.i: Added ACE_INLINE to some methods that weren't - getting inlined. - - * ace/OS.i: Added an implementation of timed semaphores for the - POSIX threading APIs. Also cleaned up the return values from - sema_wait() so that it always returns -1 if an error occurs - (originally, it was returning -2, which is confusing). Also - cleaned up the rd_lock() and wr_lock() methods in the same way. - -Sat Jul 26 16:00:05 1997 David L. Levine - - * Malloc_T.cpp (ACE_Cached_Allocator): fixed typo, sizeof (T*) - instead of sizeof (*T). - - * Proactor.cpp (instance): fixed signature in non-WIN32 - version. (run_event_loop): added ACE_UNUSED_ARG (tv). - -Fri Jul 25 12:08:47 1997 David L. Levine - - * ace/OS.[hi]: finished VxWorks (non-POSIX) semaphore implementation. - - * ace/Process.cpp (spawn): with GreenHills compiler only (for - VxWorks), call ACE_NOTSUP_RETURN instead of spawning via execve. - GreenHills 1.8.8 loses its lunch on the ACE_OS::execve () call. - Thanks to Dave Mayerhoefer for reporting - this problem. - - * tests/Mem_Map_Test.cpp (create_test_file): delete array "mybuf" - to prevent memory leak. - - * tests/Message_Queue_Test.cpp (main): delete "buffer" - elements at end of test to prevent memory leaks. - - * performance-tests/Misc/context_switch_time.cpp: use - ACE_Sched_Params for platform-independent thread priority - assignment. Also, modified Yield_Test so that only one thread - writes the test's timer. - - * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc): - replaced an iostream printout with an ACE_DEBUG call. - - * examples/ASX/UPIPE_Event_Server/event_server.cpp: added - #include of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * examples/IPC_SAP/FILE_SAP/client.cpp: require 2 args instead - of 1; mask file mode with 0777 (octal); and use - ACE_OS::printf () instead of cout. - -Fri Jul 25 00:46:22 1997 - - * ace/Synch: Added documentation for Condition variables. Thanks - to Jeff for pointing out the lack of - documentation. - -Thu Jul 24 11:48:05 1997 David L. Levine - - * Makefile,TAO/Makefile: added a filter to exclude backup and - [.]#* files from releases. Thanks to Carlos O'Ryan - for reporting this problem. - - * include/makeinclude/platform_*.GNU: inserted CVS/RCS - keyword string. - - * performance-tests/Misc/basic_perf.cpp (per_iteration): - added support for ACE_U_LongLong. - - * performance-tests/Misc/childbirth_time.cpp: - (prof_fork,prof_native_thread): added ACE_UNUSED_ARGs - for unsupported platforms. (prof_ace_os_thread): added - (ACE_THR_FUNC) cast of first arg to ACE_OS::thr_create () call. - - * performance-tests/Misc/test_naming.cpp (find): replaced cerr - statement with an ACE_DEBUG. - - * examples/Misc/test_read_buffer.cpp: replaced bare OS calls - with ACE_OS calls. - -Thu Jul 24 11:35:37 1997 Darrell Brunsch - - * ace/Timer_Heap_T.cpp: Fixed a problem with reschedule() - corrupting the free list in Timer Heap. Thanks to - James Crawford , Silvano Peruzzi - , and Stuart Powell - for the fix. - -Wed Jul 23 23:29:15 1997 - - * ace/Message_Block.cpp (size): Changed the comparison from - (length < this->max_size_) to (length <= this->max_size_). - Thanks to Paul for suggesting this change. - -Wed Jul 23 21:54:23 1997 David L. Levine - - * examples/Shared_Malloc/test_malloc.cpp (spawn): cast argv - argument to (char *const *) for call to ACE_OS::execv (). - -Wed Jul 23 16:40:39 1997 Nanbor Wang - - * ace/ACE.cpp (get_ip_interfaces): ACE'ified codes for NT. UNIX - part will come later. - - * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed to use raw - memory allocation method for memory pool. - - * ace/OS.h (ACE_TEXT_STRING): Added this #define macro to switch - between ACE_WString and ACE_CString according to the usage of - UNICODE. - -Wed Jul 23 14:43:11 1997 David L. Levine - - * tests/Timer_Queue_Test.cpp(main): delete timer_id array at - the end of the test to avoid a memory leak. - -Wed Jul 23 13:40:39 1997 Nanbor Wang - - * ace/Process.cpp (ACE_Tokenizer::next): Moved checking of string - termination after checking delimiter and preserve_designator so - that we can use this class to tokenize multiple null terminated - strings cascaded together (using \0 as delimitor.) Notice tne - combined strings must be terminated with two null chars. I need - to use this class in ACE::get_ip_interfaces. - - * ace/Malloc_T.{h,i}: Changed the implementation of - ACE_Cached_Mem_Pool_Node from using union to a plain pointer. - This is because some C++ compilers don't allow union member to - have copy constructor. Thanks to Tim to dig this out. - -Wed Jul 23 12:58:04 1997 Steve Huston - - * ace/CORBA_Ref.cpp: Added #include "ace/Log_Msg.h" to catch the - ACE_DEBUG macro. diff --git a/ChangeLog-98a b/ChangeLog-98a deleted file mode 100644 index ba7038cadbc..00000000000 --- a/ChangeLog-98a +++ /dev/null @@ -1,2640 +0,0 @@ -Sat Jan 10 13:20:08 1998 Nanbor Wang - - * tests/Conn_Test.cpp: Moved template instantiation codes around - to avoid warnings. - -Sat Jan 10 01:36:08 1998 Irfan Pyarali - - * ace/SString: Made the following changes to make the ACE string - class look more like the STL string class: - - - Added npos to all classes. - - - Added non-const reference operator[]. - - - Changed operator= and operator+= to return *this. - - - Added STL like find and rfind routines - - - Made the three classes be a similar as possible. - - - Changed the implementation of strstr to use the C library - strstr function. - - - Added constructors from single characters. - - - Made substring a const method. - -Fri Jan 9 19:11:39 1998 Nanbor Wang - - * tests/Map_Manager_Test.cpp (test_hash_map_manager): Added - ACE_UNUSED_ARG to eliminate warnings. - - * ace/Hash_Map_Manager.cpp (rbegin): Added more static cast to - eliminate warning messages. - -Fri Jan 9 11:35:53 1998 Douglas C. Schmidt - - * examples/Service_Configurator/IPC-tests/server/server_test.cpp: - Fixed a syntax error. Thanks to John Mulhern - <9107@MN3.LAWSON.lawson.com> for reporting this. - - * ace/Log_Msg.cpp (log): Changed abort_prog == 0 to abort_prog so - that STDERR would be printed correctly. - - * ACE-categories: Added all the ACE files into the ACE-categories - listing. Thanks to Andres Kruse for motivating this. - - * include/makeinclude/platform_sunos5_egcs.GNU (CXX): Removed - -pipe from CC and CXX. It was already in CCFLAGS. - -Fri Jan 09 11:56:44 1998 Irfan Pyarali - - * ace/config-win32.h (ACE_ORBIX_HAS_NAMESPACES): By default, you - will get the proper namespace usage for Orbix. If you don't - like this, comment out the #define ACE_ORBIX_HAS_NAMESPACES line - or #undef ACE_ORBIX_HAS_NAMESPACES in your config.h file after - including this config-win32.h. - -Fri Jan 09 07:04:47 1998 David L. Levine - - * include/makeinclude/platform_sunos5_g++.GNU: removed - -pipe from CC and CXX. It was already in CCFLAGS. - - * include/makeinclude/platform_vxworks5.x_g++.GNU: added - target-dependent support for symbol table extractor, and - disabled symbol table extraction (POSTLINK) by default. - Thanks to Keith Nicewarner for - reporting problems with this on PPC604 targets. - - * ace/config-linux-common.h: added ACE_HAS_STDCPP_STL_INCLUDES - and removed ACE_LACKS_ACE_IOSTREAM. Thanks to James CE Johnson - for reporting these. - - * tests/run_tests.vxworks: added Env_Value_Test. - -Fri Jan 09 00:14:20 1998 Nanbor Wang - - * apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp: - * apps/Gateway/Gateway/Config_Files.cpp: Defined - ACE_BUILD_SVC_DLL flag. All declarations of an exported class - must be declared with the same exporting flag. - - * apps/Gateway/Peer/Options.h: Updated the path of include file - Event.h. - -Thu Jan 08 22:11:57 1998 Nanbor Wang - - * ace/Env_Value_T.i (ACE_Convert): Added static cast for int and - short conversion funcions. - -Thu Jan 08 21:37:30 1998 Douglas C. Schmidt - - * ACE version 4.4.17, released Thu Jan 08 21:37:30 1998. - -Thu Jan 8 19:50:43 1998 Douglas C. Schmidt - - * ace/Task: Added a virtual destructor for ~ACE_Task_Base. Thanks - to Oleg Krivosheev for suggesting this. - - * ace: Added a new config-sunos5.5-egcs.h for the EGCS compiler. - Thanks to Oleg Krivosheev for contributing - this. - - * include/makeinclude: Added a new platform macros file for the - EGCS compiler on Solaris 2.x. Thanks to Oleg Krivosheev - for contributing this. - - * include/makeinclude/platform_sunos5_g++.GNU (CXX): Added the - -pipe flag. - - * man: Updated all the manual pages. - - * ace/Log_Msg: Added changes to allow the logging of custom built - log records. The main reason for these changes is to allow code - to handle the logging of out of memory conditions without - allocating any additional memory. Thanks to Patrick - J. McNerthney for this feature. - - * ace/Log_Msg: Added a new method called log_priority_enabled(), - which returns true if the priority is enabled (gee, is *that* - what it does? ;-)). Thanks to Patrick J. McNerthney - for this feature. - - * examples/Service_Configurator/IPC-tests/server/server_test.cpp - (main): Revised the driver program so that it doesn't create an - explicit ACE_Service_Config object. Thanks to John Mulhern - <9107@MN3.LAWSON.lawson.com> for reporting this. - - * apps/Gateway/{Gateway,Peer}/Options.cpp: Oops, ACE_BUILD_DLL - should be ACE_BUILD_SVC_DLL, yikes! Thanks to Jeff Hellzen - for reporting this. - - * apps/Gateway/{Peer,Gateway}/Options.{h,cpp}: Added a missing - #define ACE_BUILD_DLL and a missing ACE_Svc_Export. Thanks to - Jeff Hellzen for reporting this. - - * ace/Select_Reactor.cpp (suspend_i): The clr_bit call was - mistakenly made on the write mask, rather than the read mask. - Thanks to Billy Quinn for reporting this. - -Thu Jan 08 16:02:33 1998 Nanbor Wang - - * ace/Hash_Map_Manager.{h,cpp}: Added STL-styled iterator - functions. - - * tests/Map_Manager_Test.cpp: - * tests/Hash_Map_Manager_Test.cpp: - * tests/Conn_Test.cpp: - * ace/Local_Name_Space.cpp: - * ace/Filecache.cpp: Added missing template instantiation codes. - -Thu Jan 08 11:05:15 1998 - - * ace/ace_dll.dsp: - * ace/ace_lib.dsp: - Added the new Shared_Memory.cpp file to the project. - -Wed Jan 07 20:40:45 1998 David L. Levine - - * ace/OS.h: protect #define of AF_FILE, because Linux/RedHat 5.0 - #defines it in /usr/include/socketbits.h. Thanks to James CE - Johnson for reporting this. - - * tests/test_config.h (set_output): "if (! test_dir)" instead of - "if (test_dir)" so the output filename ends up non-null. - - * ace/Shared_Memory.{h,cpp},Makefile (~ACE_Shared_Memory): made - virtual and non-line. Added file Shared_Memory.cpp to contain - the definition. - -Wed Jan 07 17:59:57 1998 Nanbor Wang - - * ace/Free_List.i (add): Only delete freeed item when we hit the - high water mark, not the other way around. Thanks to Stuart - Myles for pointing this out. - -Wed Jan 7 17:46:09 1998 James C Hu - - * examples/Timer_Queue/Thread_Timer_Queue_Test.h: - * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: - * examples/Timer_Queue/Reactor_Timer_Queue_Test.h: - * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: - * examples/Timer_Queue/Driver.h: - * examples/Timer_Queue/Driver.cpp: - Added virtual destructors to classes that needed them. - -Wed Jan 7 16:28:16 1998 Douglas C. Schmidt - - * ace/Event_Handler_T.cpp: Reordered the initializers in the - ACE_Event_Handler_T constructor so G++ doesn't complain. Thanks - to Oleg Krivosheev for reporting this. - - * ace/Shared_Memory.h: Added a virtual destructor to the - ACE_Shared_Memory abstract base class so that EGCS won't - complain. Thanks to Oleg Krivosheev for - reporting this. - - * ace/Event_Handler_T.h: Had to include the *.cpp file into .h - when ACE_TEMPLATES_REQUIRE_SOURCE is defined. Thanks to Oleg - Krivosheev for reporting this. - -Wed Jan 07 14:31:34 1998 Douglas C. Schmidt - - * ACE version 4.4.16, released Wed Jan 07 14:31:34 1998. - -Wed Jan 7 13:38:28 1998 Douglas C. Schmidt - - * tests/test_config.h (set_output): Added an environment variable - to specify where to put the log directory: ACE_TEST_DIR. Thanks - to Keith Nicewarner for reporting this. - - * ace/Service_Repository.cpp (close): Removed a fragment of - redundant code. Thanks to Eric Newton and Alex - Chan for reporting this. - -Tue Jan 06 17:19:13 1998 Nanbor Wang - - * ace/Containers.{h,cpp} (ACE_Unbounded_Set[_Iterator]): Added - STL-styled iterator functions. Changed the internal - representation of ACE_Unbounded_Set within iterators from a - reference to a pointer. We need this to compare if two - iterators are refering to the same set or not. - -Tue Jan 6 14:11:54 1998 Carlos O'Ryan - - * tests/Reader_Writer_Test.cpp: - Reverted to revision 4.21 since the latest one (4.23) fails; - thanks to Irfan for this solution. - -Tue Jan 06 10:37:49 1998 David L. Levine - - * ace/OS.i (rw_trywrlock_upgrade): moved the #if 0 up a bit so - that it builds on Linux/non-glibc. For some reason, its - preprocessor was getting confused. - - * ace/OS.i (nanosleep): convert nanoseconds to microseconds - by dividing by 1000, not multiplying. Thanks to - Mitch Kuninsky for reporting this. - - * ace/config-mvs.h: added ACE_LACKS_LONGLONG_T because MVS doesn't - support it. Thanks to Chuck Gehr for - confirming that. - -Mon Jan 5 01:20:51 1998 Nanbor Wang - - * ace/Map_Manager.{h,cpp}: Made operator == and != and their - arguments const. - -Sun Jan 04 19:45:47 1998 David L. Levine - - * ace/IPC_SAP.cpp (enable,disable): moved return 0 at end - to inside the #endif, to avoid warning about unreachable - return statement on ghs/VxWorks. Thanks to Brian Mendel - for reporting this. - - * ace/OS.i (rw_trywrlock_upgrade): moved return 0 inside the - #if 0 block to avoid warning about unreachable return statement - on ghs/VxWorks. Thanks to Brian Mendel for reporting this. - - * ace/OS.i (rw_trywrlock_upgrade): added ACE_UNUSED_ARG (rw) - to temporary code. - - * ace/Basic_Types.{h,i},README: replaced ACE_HAS_LONGLONG_T with - ACE_LACKS_LONGLONG_T. ACE_HAS_LONGLONG_T was no longer - being used on many platforms with the scheme in Basic_Types.h. - From now on, we'll assume that a platform has long long - (unless ACE_LACKS_LONGLONG_T is #defined), which should help - porting to new platforms. - - * ace/config-aix-4.{1,2}.x.h,config-dgux-4.11-epc.h, - config-linux-{common,kcc}.h,config-lynxos.h,config-m88k.h, - config-osf1-*.h,config-sunos5.*.h,config-tandem.h: - removed ACE_HAS_LONGLONG_T. - - * ace/config-chorus.h,config-psosim-g++.h,config-vxworks*.h: - added ACE_LACKS_LONGLONG_T. - - * ace/Basic_Types.{h,i} (ACE_U_LongLong): fixed operator/, and - added operator% and operator--. - - * ace/High_Res_Timer.*: changed type of global_scale_factor_ from - u_long to ACE_UINT32. Removed some hacks now that ACE_U_LongLong - has operator%. - - * tests/Time_Value_Test.cpp: added tests of ACE_U_LongLong - operator/ and operator%. - - * ACE-INSTALL.html: added link to Cygus repo patches. Thanks - to Achint Sandhu for providing the URL. - - * ace/OS.{h,i}: added ACE_OS::putenv (). - - * tests/Env_Value_Test.cpp: use ACE_OS::putenv (). - - * tests/Env_Value_Test.cpp: expect (unsigned long) -10 for - TEST_VALUE_NEGATIVE converted to an unsigned long. - Thanks to Jack Erickson for - verifying that it _should_ return (unsigned long) -10. - - * ace/OS.i (strtoul): on Linux with glibc, use ::strtol instead of - ::strtoul and cast the result to an unsigned long. Its ::strtoul - always seems to return 0 for a negative number, at least on - RedHat 4.2/Linux 2.0.30/Alpha with glibc 2.0 (0.961212-5). - - * ace/config-linux-common.h: factored out - ACE_LACKS_SOME_POSIX_PROTOTYPES from glibc and non-glibc - sections to common section. - - * etc/purify.solaris2: added suppression of MIU from putenv. - -Sun Jan 04 17:19:31 1998 Douglas C. Schmidt - - * ACE version 4.4.15, released Sun Jan 04 17:19:31 1998. - -Sun Jan 4 10:11:53 1998 Douglas C. Schmidt - - * ace/OS.i (rw_trywrlock_upgrade): Temporarily comments out this - method since we need to finish implementing it correctly. - - * ace/OS.i (rw_trywrlock_upgrade): Fixed a minor bug where we - weren't releasing the lock correctly if there were competing - readers. - - * apps/Gateway/Gateway/Event_Channel.cpp (put): Uncommented the - code that sets the appropriate locking strategy for the Message - Blocks. - - * apps/Gateway/Gateway/Connection_Handler.h: Made the - remote_addr() and local_addr() accessor methods return - const-correct values. - - * build/SunOS5.5/ace/OS: Revised a bunch of #ifdefs so that we can - selectively enable the ACE rwlock emulation, even if we're - compiling with ACE_HAS_STHREADS in order to get the native - Solaris semaphores. - - * apps/Gateway/Peer/Makefile: Tweaked the Makefile rules to fix - some minor problems. Thanks to David Levine for showing the - way... - -Sun Jan 04 12:37:02 1998 David L. Levine - - * tests/Env_Value_Test.cpp: hacked to work with - ACE_HAS_NONSTATIC_OBJECT_MANAGER. With that, it uses ::putenv (), - which we should wrap in ACE_OS. Also, expanded TEST_THIS to - provide a more helpful log message than just the ASSERT output. - - * ace/config-vxworks5.x-g++.h: removed - ACE_HAS_TEMPLATE_SPECIALIZATION. - - * tests/Hash_Map_Manager_Test.cpp (main): added casts of i->ext_id_ - and i->int_id_ to (char *) to force g++/VxWorks to apply the - conversion from Dumb_String to char *. - -Sun Jan 04 09:51:59 1998 Nanbor Wang - - * apps/Gateway/Gateway/Options.{h,cpp}: Removed macros to export - this class out of DLL. They are no longer needed. - - * apps/Gateway/Gateway/Gateway.dsp: Updated source file listings. - -Sat Jan 3 22:25:15 1998 Douglas C. Schmidt - - * apps/Gateway/Gateway: Changed the name of the ACE_Event_Channel - class to Event_Channel since this class wasn't a part of the ACE - library. - - * apps/Gateway/Gateway/Event_Channel.h: Updated the inheritance - relationship for Event_Channel so that it inherits from - ACE_Event_Handler rather than ACE_Task. ACE_Task was - overkill... - - * apps/Gateway/Gateway: Removed the supplier_id from all the - files. We didn't use this anyway and it was just confusing. - Also, renamed Proxy_* to Connection_* to underscore the fact - that the Supplier_Handler and Consumer_Handler work atop - *connections*. The previous naming scheme was too abstract for - its own good. - -Sat Jan 03 14:16:40 1998 Nanbor Wang - - * ace/Map_Manager.cpp (ACE_Map[_Reverse]_Iterator): Fixed the - initial iterator position. - -Fri Jan 02 18:43:14 1998 Douglas C. Schmidt - - * ACE version 4.4.14, released Fri Jan 02 18:43:14 1998. - -Fri Jan 2 17:39:04 1998 Douglas C. Schmidt - - * apps/Gateway/Peer/Options.cpp (Options): Rearranged the order of - the parameters in the base/member initialization section to make - GCC happy. Thanks to David Levine for getting on me about this. - - * apps/Gateway/Gateway/Options.h: Changed DEFAULT_TIMEOUT - to MAX_TIMEOUT to be consistent. Thanks to David - Levine for reporting this. - -Fri Jan 2 17:25:05 1998 Nanbor Wang - - * tests/Map_Manager_Test.cpp: Added codes to test STL-styled - functions in ACE_Map_Manager. - - * apps/Gateway/Gateway/Proxy_Handler.cpp: - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: - * apps/Gateway/Gateway/Event_Channel.cpp: - * apps/Gateway/Peer/Peer.cpp: - * ace/Local_Name_Space.cpp: - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: - * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: - * examples/Connection/blocking/SPIPE-connector.cpp: - * examples/Connection/misc/test_upipe.cpp: - * examples/Connection/non_blocking/test_sock_connector.cpp: - * examples/Connection/non_blocking/test_spipe_connector.cpp: - * examples/Connection/non_blocking/test_tli_connector.cpp: - * examples/Connection/non_blocking/test_lsock_connector.cpp: - * netsvcs/clients/Tokens/manual/manual.cpp: - * netsvcs/lib/TS_Clerk_Handler.cpp: - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added some - more explicit template instantiations. - - * ace/Map_Manager.{h,cpp}: Added back comparison operators for - ACE_Map_Iterator and ACE_Map_Reverse_Iterator. - - * ace/Token_Invariants.cpp: - * ace/Token_Collection.cpp: - * ace/Token_Manager.cpp: Added missing ACE_Map_Reverse_Iterator. - - * ace/Map_Manager.h: Remove unnecessary method declarations from - ACE_Map_Iterator adn ACE_Map_Reverse_Iterator. - - * examples/Connection/non_blocking/test_tli_connector.cpp: - * examples/Connection/non_blocking/test_sock_connector.cpp: - * examples/Connection/non_blocking/test_lsock_connector.cpp: - * examples/Connection/non_blocking/test_spipe_connector.cpp: - * examples/Connection/misc/test_upipe.cpp: - * examples/Connection/blocking/SPIPE-connector.cpp: - * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: - * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: - * examples/ASX/Event_Server/Transceiver/transceiver.cpp: - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: - * apps/JAWS/clients/Caching/http_handler.cpp: - * apps/JAWS/clients/Blobby/Blob.cpp: - * apps/Gateway/Peer/Peer.cpp: - * apps/Gateway/Gateway/Event_Channel.cpp: - * apps/Gateway/Gateway/Proxy_Handler.cpp: - * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: - * tests/Reactor_Performance_Test.cpp: - * tests/Priority_Reactor_Test.cpp: - * tests/Map_Manager_Test.cpp: - * tests/Conn_Test.cpp: - * netsvcs/lib/TS_Clerk_Handler.cpp: - * ace/Token_Manager.cpp: - * ace/Token_Invariants.cpp: - * ace/Token_Collection.cpp: - * ace/Local_Name_Space.cpp: Added explicit template instantiation - for ACE_Map_Iterator_Base. - - * ace/Map_Manager.{h,cpp}: Added a new class ACE_Map_Iterator_Base - to abstract out most common functionalities from - ACE_Map_Iterator and ACE_Map_Reverse_Iterator. Added some - missing functions to both iterator classes. - -Fri Jan 2 12:39:45 1998 Carlos O'Ryan - - * ace/Map_Manager.h: - Another declaration removed from ACE_Map_Reverse_Iterator, - operator* is defined in the base class. - - * tests/Conn_Test.cpp: - * tests/Priority_Reactor_Test.cpp: - * tests/Reactor_Performance_Test.cpp: - The instantiation of ACE_Map_Manager *requires* instantiating - ACE_Map_Reverse_Iterator. - - * ace/OS.i: - Cannot use ACE_ASSERT in OS.i, at least it make SGI compiler - unhappy. - - * ace/Map_Manager.cpp: - Several methods for ACE_Map_Manager were not given their fully - qualified name. - - * ace/OS.i: - The error code should be stored in errno, not in "error". - -Fri Jan 2 17:02:36 1998 Chris Cleeland - - * tests/run_tests.sh: Added Env_Value_Test to the list of tests to - run. - - * tests/Env_Value_Test.cpp (main): Fixed wrong test for negative - values with unsigned longs. Thanks to David Levine and - Linux/Alpha for finding this. - - * tests/Env_Value_Test.cpp (main): Changed the definition of the - TEST_THIS macro to be all on one line. While ugly, this helps in - locating the line when ACE_ASSERT fails, since allowing the macro - to have multiple lines skews the line # reported by ACE_ASSERT. - - * ace/Env_Value_T.*: Fixed lots of little bugs that got past both - g++ and Solaris compilers, but were caught by the ever-skeptical - SGI compiler. This included providing a definition for the missing - 'varname(void)' method. - -Fri Jan 02 10:12:28 1998 Steve Huston - - * ace/config-hpux-10.x-g++.h: Added #define HPUX_10 to catch OS - version-dependent code correctly. - -Fri Jan 02 07:06:44 1998 David L. Levine - - * apps/Gateway/Gateway/Makefile: restored the .obj/*.o targets. - They don't affect the build of the shared lib and are used if - the unshared lib is built. - - * apps/Gateway/Gateway/Options.h: added missing , in enum definition. - - * apps/Gateway/Gateway/Options.cpp (Options ctor): reordered - initializers to match declaration order. - - * apps/Gateway/Gateway/Config_Files.cpp (read_entry): fixed syntax - error, missing "if" after "else". Added #include of Options.h. - - * ace/OS.i (rw_trywrlock_upgrade): added ACE_UNUSED_ARG (rw) with - STHREADS. - - * ace/Synch.i (tryacquire_write_upgrade): only define if - ACE_HAS_THREADS. - - * tests/test_config.h: hacked ACE_INIT_LOG to work on VxWorks. - VxWorks gets upset if its asked to unlink a nonexistant file. - - * ace/Basic_Types.*: if using ACE_U_LongLong, #define - ACE_USES_ACE_U_LONGLONG and use that in the .i and .cpp files - instead of repeating all of the complex preprocessor tests - in Basic_Types.h. Thanks to Carlos for suggesting this. - - * ace/Env_Value_T.cpp: added protection against multiple inclusion. - - * tests/Env_Value_Test.cpp: added ACE_Env_Value instantiation. - -Fri Jan 02 00:47:33 1998 Douglas C. Schmidt - - * ACE version 4.4.13, released Fri Jan 02 00:47:33 1998. - -Fri Jan 2 00:17:04 1998 Douglas C. Schmidt - - * Reader_Writer_Test.cpp: Changed from an ACE_RW_Mutex to an - ACE_RW_Thread_Mutex so that we can use the new - tryacquire_write_upgrade() method. - - * ace/Env_Value_T.h: Reformatted the file a bit to conform to - ACE coding conventions. - -Thu Jan 1 12:04:29 1998 Douglas C. Schmidt - - * apps/Gateway/Peer/Options.cpp (parse_args): Changed the option - to set the passive acceptor port from -p to -a. This is now - consistent with the option for active connector port number, - which is -c. - - * apps/Gateway/Gateway/Gateway.cpp (fini): Added a call to - ACE::remove_stdin_handler(), which removes the handler for - ACE_STDIN so the gatewayd will shutdown cleanly. - - * ace/ACE: Added a new method, remove_stdin_handler(), which is - the inverse of the register_stdin_handler() method. However, - I'm not sure how to make this work on NT! - - * examples/Reactor/Misc/notification.cpp: Removed some - CHORUS-specific, which should be a no-op with our new signal() - and sigaction() scheme. - - * ace/OS.i: Enhanced the signal() and sigaction() wrappers so that - they simply ignore signums of 0. This means that we don't need - to special case all this stuff throughout ACE anymore. - - * ace/OS.h: Changed all the #defines for various SIG* so that they - are all 0. This way, we can ensure that the signal() functions - in ACE_OS can correctly ignore these signals. This should clean - up a ton of platform-dependent code throughout ACE. - - * apps/Gateway/Gateway/File_Parser.cpp (getint): Added a new - special-case check for the '*' character, which indicates "use - the default value for this field." - - * apps/Gateway/Gateway/Options: Added a new option to provide a - default max retry timeout. - - * tests/Reader_Writer_Test.cpp: Enhanced the test so that it - exercises the new "upgrade" feature of RW_Thread_Mutexes. - - * ace/{OS,Synch}: Added new methods, - ACE_OS::rw_trywrlock_upgrade() and - ACE_RW_Thread_Mutex::tryacquire_write_upgrade() that - conditionally upgrade a read lock to a write lock. This only - works if there are no other readers present, in which case the - method returns 0. Otherwise, the method returns -1 and sets - errno to EBUSY. Note that the caller of this method *must* - already possess this lock as a read lock. - - * apps/Gateway/{Gateway,Peer}/Makefile: Removed the $(VLIB) macro - so that we don't try to build the lib*.a files by default. - Thanks to David Levine for explaining this. - - * apps/Gateway/Gateway: Added new Options.{h,cpp} files and - rearranged the program to centralize all options processing in - an Options Singleton. - - * apps/Gateway/Peer/Options.cpp (parse_args): Changed the - connector and acceptor options to use a more generalizable - format. Now we can set the Consumer and Supplier port numbers - independently. - - * apps/Gateway/Gateway/Event.h: This is currently where the macros - from the following bullets have been moved, so they can be - shared by the Peer and Gateway components. - - * ace/OS.h: Moved the ACE_DEFAULT_{GATEWAY,PEER}_SERVER_PORT - macros into the Gateway application, where they belong. - - * apps/Gateway/Peer/Options.cpp (parse_args): Changed the option - to set the passive acceptor port from -p to -a. This is now - consistent with the option for active connector port number, - which is -c. - - * apps/Gateway/Gateway/Gateway.cpp (fini): Added a call to - ACE::remove_stdin_handler(), which removes the handler for - ACE_STDIN so the gatewayd will shutdown cleanly. - - * ace/ACE: Added a new method, remove_stdin_handler(), which is - the inverse of the register_stdin_handler() method. However, - I'm not sure how to make this work on NT! - - * examples/Reactor/Misc/notification.cpp: Removed some CHORUS-specific - code, which should be a no-op with our new signal() and sigaction() - scheme. - - * ace/OS.i: Enhanced the signal() and sigaction() wrappers so that - they simply ignore signums of 0. This means that we don't need - to special case all this stuff throughout ACE anymore. - - * ace/OS.h: Changed all the #defines for various SIG* so that they - are all 0. This way, we can ensure that the signal() functions - in ACE_OS can correctly ignore these signals. This should clean - up a ton of platform-dependent code throughout ACE. - - * apps/Gateway/Gateway/Gateway.cpp (init): Revised the code a bit - to factor out platform-dependent signal handling stuff in the - right place. - - * apps/Gateway/Gateway/gatewayd.cpp: Cleaned up the gatewayd main - program so that it reuses more ACE components and so that it is - more portable. - -Thu Jan 01 18:24:56 1998 Nanbor Wang - - * apps/Gateway/Gateway/Gateway.dsp: Added new file Options.cpp. - - * apps/Gateway/Gateway/Options.cpp (ACE_BUILD_SVC_DLL): Added - #define ACE_BUILD_SVC_DLL. - - * netsvcs/lib/Base_Optimizer.i: Removed this file. - - * netsvcs/lib/Base_Optimizer.h: Added codes to include in the - source file conditionally if needed. - - * netsvcs/lib/Base_Optimizer.cpp: Moved template implementation - from .i file. Removed ACE_INLINE keyword. - - * netsvcs/lib/Server_Logging_Handler.cpp: Added explicit template - instantiation macros. - -Thu Jan 01 17:13:06 1998 David L. Levine - - * apps/Gateway/Peer/Peer.cpp (Peer_Connector::open): added - return 0 statement at end. - - * apps/Gateway/Gateway/Options.cpp (Options ctor): reordered - initializers to match declaration order. - - * apps/Gateway/Gateway/Makefile: removed LOBJ and SHOBJ macros - because they're not needed. And, restored BUILD so that static - lib will be built if requested. - - * include/makeinclude/rules.lib.GNU: added OBJEXT macro, defaulted - to "o", and use it in VOBJS definition. - - * include/makeinclude/wrapper_macros.GNU: if building shared libs - only, set OBJEXT to "so" and VDIR to .shobj/, so that only shared - objects will be built. - - * apps/Gateway/Peer/Peer.cpp: added template instantiations. - - * netsvcs/lib/Base_Optimizer.*,Makefile: moved inline functions - to .i file and changed inline to ACE_INLINE. - - * netsvcs/lib/Server_Logging_Handler_T.{h,cpp}: don't use - Base_Optimizer with g++. Some versions of g++ 2.7.x have - trouble with its inline template member functions, especially - if __ACE_INLINE__ is disabled. - -Thu Jan 01 07:56:17 1998 Douglas C. Schmidt - - * ACE version 4.4.12, released Thu Jan 01 07:56:17 1998. - -Thu Jan 01 00:28:46 1998 Nanbor Wang - - * apps/Gateway/Peer/Peer.dsp: Added a new file "Options.cpp" into - this project. - - * tests/Env_Value_Test.cpp (main): Changed variable name: 'environ' - to 'envp'. Real OSes don't understand what the word means - and Access Violations will occur. - - * tests/run_tests.bat: Added Env_Value_Test. - - * tests/version_tests/version_tests.dsw: - * tests/tests.dsw: Added Env_Value_Test.dsp. - - * tests/version_tests/Env_Value_Test.dsp: - * tests/Env_Value_Test.dsp: New file. - -Thu Jan 1 00:00:00 1998 Douglas C. Schmidt - - * Happy New Year! Here's a thought for the new year, courtesy of - Sumedh: - - Nothing in the world is permanent, - and we're foolish when we ask anything to last; - but surely we're still more foolish - not to take delight in it while we have it. - - - W.Somerset Maugham (Razor's Edge) - -Wed Dec 31 19:10:59 1997 Douglas C. Schmidt - - * apps/Gateway/Peer/Peer: Added the hooks for making the Peer a - Connector, as well as an Acceptor. Now it's time to have some - fun. - - * apps/Gateway/Peer/peerd.cpp: Cleaned up the peerd main program - so that it reuses more ACE components and so that it is more - portable. - - * netsvcs/servers/main.cpp (main): Revised the code a bit to - factor out platform-dependent signal handling stuff in the right - place. - - * apps/Gateway/Peer: Factored out some common initialization code - to create an Options Singleton. Yowza! - - * apps/Gateway/README: Improved the documentation so that its - easier to tell what's supposed to happen and how to configure - the system. - - * apps/Gateway/Peer/Peer: Moved the Peer_Acceptor into the Peer.h - file and updated the documentation to clarify what's going on - better. - - * examples/Reactor/Dgram/: Enhanced the examples to make sure they - close() the dgram endpoint when the object is removed from the - Reactor. Thanks to Evgeny Beskrovny - for reporting this. - - * ace/Obstack.cpp: Fixed a stupid bug in the ACE_Obstack - constructor. Thanks to David Levine for reporting this. - - * ace/Local_Name_Space_T.h: Updated the documentation for class - ACE_Name_Space_Map to make it more clear. - -Wed Dec 31 21:21:50 1997 David L. Levine - - * examples/Reactor/Dgram/{CO,Dgram.cpp} (handle_close): added - ACE_UNUSED_ARG (handle). - - * tests/Env_Value_Test.cpp (main): removed unused arg argv and - local envargv. undef'ed ACE_HAS_NONSTATIC_OBJECT_MANAGER because - it can't deal with the three arguments to main (). - -Wed Dec 31 16:25:16 1997 Chris Cleeland - - * ace/Env_Value_T.*: Added a new template (ACE_Env_Value) which is - a typesafe encapsulation of environment variables with the - ability to provide a value to be used as a default if the - variable isn't set. An example of its use can be seen in the - corresponding test, tests/Env_Value_Test.cpp. Thanks to Carlos - O'Ryan for giving me the seed that started this. - - * tests/Env_Value_Test.cpp: Added test for the new template added - above. - - * tests/Makefile: Added new Env_Value_Test test to the Makefile. - - * ace/OS.{h,i} (strtod): Added new function for converting strings - to doubles. - -Tue Dec 30 22:07:44 1997 David L. Levine - - * ace/High_Res_Timer.cpp (elapsed_time): added a cast in - calculation of useconds to avoid MSVC++ warning about narrowing. - Thanks to Nanbor for reporting this. - - * ace/OS.i (gethrtime): commented out high-res tick counter on Linux - because it doesn't seem to work properly. Use ::gettimeofday () - instead. - - * tests/Basic_Types_Test.cpp (main): replaced #ifdef VXWORKS && ghs - with !ifdef ACE_HAS_WCHAR_TYPEDEFS_CHAR. - - * ace/Map_Manager.cpp (operator*): fixed typo in "ACE_Map_Entry". - - * ace/OS.h: added ACE_NSIG. In addition, I removed this: - - // Why is this defined? It must be a std C library symbol. - #if !defined (NSIG) - #define NSIG 0 - #endif /* NSIG */ - - We #define NSIG elsewhere on platforms (VxWorks, MVS) that need it. - #defining it to be 0 isn't good; it's better to catch the lack of - NSIG at compile time than at run time. - - * ace/{Log_Msg.cpp,OS.i,Select_Reactor.cpp,Signal.*,WFMO_Reactor.i}, - tests/Sigset_Ops_Test.cpp: replace NSIG with ACE_NSIG. - - * ace/Basic_Types.{h,i}: only use u_longlong_t on sun. Added - operator++ to ACE_U_LongLong, and tweaked calculation in operator/. - - * tests/Time_Value_Test.cpp (test_ace_u_longlong_): added test of - operator+, and one simple test of operator/. - - * ace/Filecache.h: removed extra , in enum ACE_Filecache_Flag definition. - -Tue Dec 30 20:32:03 1997 Nanbor Wang - - * ace/Map_Manager.{h,cpp}: Added STL-styled iterator function. - Changed the references to ACE_Map_Manager within interator - classes to pointers so we can check errors. - -Tue Dec 30 14:56:18 1997 Douglas C. Schmidt - - * ace/Obstack: Enhanced ACE_Obstack so that it can be given a - pointer to an allocator strategy. This allows users to take - complete control of where the memory comes from for the Obstack. - - * ace/Obstack: Changed the default value of "size" so that it is - (4096 - sizeof (ACE_Obstack)). - - * ace/Obstack: Added a new ACE_Obchunk constructor to simplify - some of the code. - -Mon Dec 29 20:21:32 1997 Steve Huston - - * include/makeinclude/rules.lib.GNU: Adjusted dependencies on building - a shared library to be on the object modules it will link in, not - necessarily $(VSJOBJ). - -Mon Dec 29 18:53:35 1997 James C Hu - - * ace/Filecache.h: Added an enum type, ACE_Filecache_Flag, which - gets passed into the ACE_Filecache_Handle constuctor to help - determine whether or not to use memory mapping (on Windows NT, - we sometimes do not want to memory map). - - * ace/Filecache.cpp: Required modifications to accomodate the - ACE_Filecache_Flag parameter. - -Mon Dec 29 15:37:24 1997 Nanbor Wang - - * ace/OS.i (event_timedwait): Added codes to guard against - negative wait time since we are passing an absolute time value - here, we may way past the target time when it gets called. - Thanks to Norbert Rapp for pointing - this. - -Mon Dec 29 13:57:43 1997 Carlos O'Ryan - - * ace/XtReactor.cpp: - Fixed syntax error, apparently some kind of typo. - - * ace/OS.h: - The ACE_*_cast() macros had (IMHO) surprizing priority, added - some parenthesis to make them behave as the new cast operators - are supposed to do. - -Mon Dec 29 08:59:28 1997 David L. Levine - - * ace/Basic_Types.h: Linux w/o glibc 2.0 doesn't have u_longlong_t, - so use "unsigned long long" for it. - - * ace/Task.cpp (activate): added ACE_UNUSED_ARG (thread_handles) on - non-threaded platforms. - - * ace/Thread_Manager.cpp (wait): added ACE_UNUSED_ARG - (abandon_detached_threads) on non-threaded platforms. - - * performance-tests/Misc/childbirth_time.cpp (prof_ace_os_thread): - added ACE_UNUSED_ARG (iteration) on non-threaded platforms. - - * performance-tests/Misc/preempt.cpp (main): added ACE_UNUSED_ARG - for argc and argv on non-threaded platforms. - - * include/makeinclude/platform_linux.GNU: enabled compiler warnings - by replacing -w with -Wall -Wpointer-arith in CFLAGS. - - * ace/ACE.cpp (count_interface,get_handle,get_ip_interfaces): use - same code for LynxOS as for __unix. - - * ace/OS.h: on LynxOS, redefine NSIG to be one greater than the - highest-numbered signal. LynxOS' signal.h #defines it to be - equal to the highest-numbered signal, 64. - -Mon Dec 29 08:35:17 1997 Steve Huston - - * include/makeinclude/platform_hpux_aCC.GNU: Removed the PRELIB - and PRELIB_USES_OBJ_ONLY stuff; merged in macros for building - on HP-UX 11.00. - * include/makeinclude/platform_hpux11_aCC.GNU - Removed this file. - The 10.x and 11.x builds are now both controlled by - platform_hpux_aCC.GNU. - -Sun Dec 28 10:50:54 1997 Douglas C. Schmidt - - * ACE version 4.4.11, released Sun Dec 28 10:50:54 1997. - -Sat Dec 27 18:03:52 1997 Nanbor Wang - - * ace/Log_Msg.cpp (dump): Sould test if we have a valid thr_desc - before dumping the information of it. Thanks to Luca Priorelli - for pointing this out. - -Sat Dec 27 16:13:59 1997 David L. Levine - - * ace/{OS.i,config-linux-common.h,README} (getrusage,{get,set}rlimit): - added ACE_HAS_RUSAGE_WHO_ENUM and ACE_HAS_RLIMIT_RESOURCE_ENUM - support. glibc 2.0 for Linux uses enums for the first arguments - to ::getrusage and ::{get,set}rlimit. - -Fri Dec 26 18:04:06 1997 - - * ace/Containers.h: Added iterator traits for following classes. - ACE_Unbounded_Set - ACE_Unbounded_Queue - ACE_Unbounded_Stack - ACE_Double_Linked_List - ACE_Fixed_Set - ACE_Bounded_Set - Thanks to for recommending this. - -Fri Dec 26 12:03:05 1997 David L. Levine - - * ace/config-osf1-4.0.h: added support for DCE threads, and merged in - config-osf1-4.0-g++.h. Thanks to Frederic Andres - for the DCE threads support #defines. - - * ace/config-osf1-4.0-g++.h: removed. All Digital Unix 4.0 configs - are now supported by config-osf1-4.0.h. - - * ace/platform_osf1_4.0.GNU: added comment on how to use DCE threads - instead of POSIX threads. - - * ace/OS.i (thr_{get,set}prio): don't apply the - !defined(ACE_LACKS_SETSCHED) test if ACE_HAS_DCETHREADS. - - * ace/OS.cpp (thr_create): added || ACE_HAS_DCETHREADS to - #ifndef ACE_LACKS_SETSCHED, so that priority is set with DCETHREADS. - - * ace/OS.cpp (sched_params): moved paren so that DCETHREADS block - will be executed even if ACE_LACKS_SETSCHED. - - * ace/Sched_Params.cpp ({next,previous)_priority): added - ACE_HAS_DCETHREADS check before !defined(ACE_LACKS_SETSCHED). - - * ace/OS.i (cond_timedwait): wrapped first arg to ACE_OSCALL in - parens because it confused cxx. - - * examples/System_V_IPC/SV_Message_Queues/{,T}MQ_Server.cpp: renamed - variable msgque because it conflicted with a symbol in the DEC cxx - w/DCE threads headers. - - * ACE-INSTALL.html: expanded discussion of gcc config.status file. - Thanks to Hans Rohnert for figuring - out the role of the config.status file. - -Fri Dec 26 06:44:25 1997 - - * ace/OS.h (ACE_OS::ace_flock_t): Added a new field "lockname_" to - remember the lock filename. - - * ace/OS.i (flock_init,flock_destroy): We need to remember the - name of the lock file when initializing the lock and unlink the - file when destroying the lock. - -Thu Dec 25 18:08:42 1997 Douglas C. Schmidt - - * ace/XtReactor.cpp: Removed g++ warning about initialization - order, enabled read/write masks for - ACE_Event_Handler::CONNECT_MASK; fixed typo that checks a write - mask, but sets a read mask; removed unused variable "zero." - Thanks to Eric Newton for these fixes. - -Thu Dec 25 17:17:16 1997 - - * ace/config-win32.h: * ace/config-win32-common.h: Added macro - definitions not to use C++-styled castings on Win32 by default - so that we don't depend on the RTTI support. - -Thu Dec 25 16:18:03 1997 - - * ace/SString.h (ACE_CString and ACE_WString): Added c_str() to - make it similar to STL's string class. - -Wed Dec 24 19:59:15 1997 David L. Levine - - * tests/IOStream_Test.cpp (client): changed stream error message - from "timeout" to "timed out", so that run_tests.check won't - complain about it. - -Wed Dec 24 18:37:49 1997 - - * ace/Synch.i (get_thread_id,get_nesting_level): Added ACE_INLINE. - -Wed Dec 24 18:31:31 1997 Douglas C. Schmidt - - * ACE version 4.4.10, released Wed Dec 24 18:31:31 1997. - -Wed Dec 24 14:27:33 1997 - - * ace/Synch.{h,i,cpp} (ACE_Recursive_Thread_Mutex): Changed - ACE_Recursive_Thread_Mutex to inherit from ACE_Thread_Mutex on - Win32 because ACE_Thread_Mutex is already recusive on Win32. - -Wed Dec 24 08:14:32 1997 David L. Levine - - * ace/Log_Msg.cpp (instance): without threads, dynamically create - the ACE_Log_Msg instance instead of using a static. Now, without - threads, the ACE library has no statics that require destruction - (at least on Solaris/g++ and Linux). And, all of the ACE tests - Purify cleanly. - - * ace/OS.cpp (ACE_Thread_Adapter::invoke): wrapped - rethrow_w32_structural_exception () call with #ifdef ACE_WIN32. - It was eliminated by the ACE_SEH_EXCEPT macro on non-WIN32 - platforms, but some compilers (cxx) warned about the - unreachable code. This call is only supported on WIN32 anyways. - - * ace/OS.h: LynxOS has ACE_HAS_PTHREADS_1003_DOT_1C, but not - ACE_HAS_PTHREAD_SIGMASK. - - * tests/Time_Value_Test.cpp: only test ACE_U_LongLong on Solaris, - and other platforms with STHREADS. - -Wed Dec 24 04:25:49 1997 - - * ace/OS.i (sema_init): Added checking for initial semaphore - counts and set the semaphore to non-signaled state if the - initial count is zero. Changed the internal variable lock from - a mutex to a thread_mutex (Critical Section.) - -Tue Dec 23 21:06:14 1997 David L. Levine - - * ace/TLI_Stream.cpp (get_remote_addr): added ACE_UNUSED_ARG - for the arg if ! ACE_HAS_SVR4_TLI. - - * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp (main): declare - local "i" outside the for loop because it is used after the loop. - -Tue Dec 23 19:34:10 1997 - - * ace/OS.i: Added comments for semaphore simulation. - -Tue Dec 23 19:33:59 1997 Douglas C. Schmidt - - * ACE version 4.4.9, released Tue Dec 23 19:33:59 1997. - -Tue Dec 23 19:05:32 1997 Douglas C. Schmidt - - * tests/IOStream_Test.cpp (server): Changed sleep(30) to - sleep(5). This seems more reasonable. Thanks to - James Johnson for this suggestion. - -Tue Dec 23 16:43:14 1997 Steve Huston - - * ace/README: Added descriptions for ACE_HAS_PTHREADS_1003_DOT_1C (this - was in use previously but not documented), ACE_HAS_XTI (new; XTI is - the POSIX superset of TLI - this implies ACE_HAS_TLI), - ACE_NEW_THROWS_EXCEPTIONS (new; the compiler throws bad_alloc if - a 'new' memory allocation fails). - - * ace/Hash_Map_Manager.cpp - Workaround for an aC++ bug in the HP-UX 11 - version of the compiler. - - * ace/INET_Addr.cpp: Note the failing host name in the error message - from ACE_INET_Addr::ACE_INET_Addr(u_short, const char []). - - * ace/OS.h: Changes made while porting to HP-UX 11: - - If ACE_HAS_PTHREADS_1003_DOT_1C (POSIX.1C), it implies (by - way of POSIX.1C) that these also be set: - ACE_HAS_PTHREAD_SIGMASK - ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R - This is intended to make the process of configuring a new - new platform easier. - - If the new config macro ACE_NEW_THROWS_EXCEPTIONS is set, include - the file . The "proper" thing to do is to include - ; however, at least on HP-UX 11, this will cause - other things to get brought in, like , which will - screw up auto_ptr. The day that all this standard library and - STL stuff is finally straight, there will be dancing in the - streets... - - Support including the proper header file for XTI when it's - supposed to use rather than (POSIX specifies - XTI, a superset of TLI, to have ) - - If ACE_NEW_THROWS_EXCEPTIONS is set, the ACE_NEW and - ACE_NEW_RETURN macros handle the exception. - - * ace/OS.i: Fixed check for failure in ACE_OS::sema_init. - - * ace/config-hpux11.h: - * ace/config-hpux11-hpc++.h: New configs for HP-UX 11.00 - - * include/makeinclude/platform_hpux11_aCC.GNU: Platform macros for - HP-UX 11. It is set up for 32-bit build with comments for how to - do a 64-bit build. - - * examples/Makefile: Added Naming to the directory list to build. - - * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: Changed test from - ACE_HAS_SVR4_POLL to ACE_HAS_POLL. - - * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp: - * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp: - * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp: - * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp: Fixed a char * being - initialized by a string literal. - - * examples/Map_Manager/test_hash_map_manager.cpp: Added #include - "ace/SString.h" - - * examples/Mem_Map/IO-tests/test_io.cpp: Fixed a char * being - initialized by a string literal. Fixed diagnostic statements. - - * examples/Naming/test_multiple_contexts.cpp: - * examples/Naming/test_non_existent.cpp: - * examples/Naming/test_writers.cpp: Added Id line for CVS. - - * tests/Time_Value_Test.cpp: Added #include "test_config.h" - -Tue Dec 23 16:12:28 1997 - - * ace/OS.i: Must use ACE_OS::sema_wait instead of waiting on the - singling event when using simulated semaphores. - -Tue Dec 23 08:32:00 1997 Chris Gill - - * include/makeinclude/platform_sunos5_g++.GNU - Removed trailing spaces from CC and CXX macros - (the trailing space behind CXX was giving the TAO_IDL - make fits) - -Tue Dec 23 07:26:28 1997 David L. Levine - - * ace/TLI.cpp (get_local_addr): return -1, instead of 0, and - set errno (with ACE_NOTSUP_RETURN) if ! ACE_HAS_SVR4_TLI. - ({set,get}_option): added ACE_UNUSED_ARfor all - arguments if ! ACE_HAS_SVR4_TLI. - - * ace/TLI_Stream.cpp (get_remote_addr): return -1, instead of 0, - and set errno (with ACE_NOTSUP_RETURN) if ! ACE_HAS_SVR4_TLI. - Declare and set local "name" only if ACE_HAS_SVR4_TLI. - - * ace/TLI_Acceptor.cpp (handle_asynch_event): initialize local - "event" instead of defining it in the switch condition, to - avoid compiler warning about not using it. - - * examples/IPC_SAP/TLI_SAP/db-server.cpp (lookup_name): removed - unused local variable "len". - - * include/makeinclude/platform_osf1_4.0.GNU: removed some warning - suppressions that are no longer needed. - - * ace/Log_Msg.cpp (~ACE_Log_Msg): clean up the message queue and - allocated strings on non-threaded platforms. - - * tests/test_config.h (ACE_APPEND_LOG): added a close () of the - ace_file_stream before opening it. Forked children inherit the - opened file stream, and fail on their attempt to open it if it - is not explicitly closed. - -Mon Dec 22 22:42:57 1997 Douglas C. Schmidt - - * ace/OS: Added a few minor changes to Nanbor's Semaphore - emulation for WinCE. - -Mon Dec 22 11:39:19 1997 - - * OS.i (event_timedwait): Added code to handle timeouts. Thanks - to Luca Priorelli for reporting this. - -Mon Dec 22 07:03:13 1997 David L. Levine - - * ace/IOStream_Test.cpp (spawn): changed printout from - "Process_Mutex_Test-children" to "IOStream_Test-children". - -Mon Dec 22 03:08:22 1997 - - * ace/OS.i: Modified ACE_OS::cond_* for WinCE. - - * ace/config-win32-common.h: Prevent ACE from using NT specific - API on Win CE. - -Sun Dec 21 16:19:40 1997 Nanbor Wang - - * ace/OS.{h,i} (ACE_OS::sema_*): Added semaphore simulation code - for WinCE. This code is currently protected - ACE_USES_WINCE_SEMA_SIMULATION for debugging the code on NT. - This flag should soon be obsolete and changed to ACE_HAS_WINCE. - - Moved ACE_event_t macro definition for Win32 before ACE_sema_t - definition for NT. I need to use it in semaphore simulation. - - * ace/OS.h (class ACE_Cleanup_Info::operator ==, !=): Removed - keyword struct. ACE_Cleanup_Info is a class now. - - * ace/Containers.h (class ACE_Double_Linked_List): Removed - unused function declarations. - - * ace/Containers.h (class ACE_DNode): Removed ACE_DNode class. - -Sun Dec 21 18:47:09 1997 Douglas C. Schmidt - - * ACE version 4.4.8, released Sun Dec 21 18:47:09 1997. - -Sun Dec 21 12:39:38 1997 Douglas C. Schmidt - - * ace/OS.h (ACE_OS): Made the netdb_{acquire()/release()} methods - public to help ACE users stuck on weird OS platforms. Thanks to - Arturo Montes for this suggestion. - - * ace: Changed all ACE class documentation so that it puts the - =TITLE and =DESCRIPTION comments *after* the opening '{' rather - than before. I did this since (1) it makes emacs C++ mode - happier and (2) it makes Rational Rose reverse-engineering tool - happier too. Thanks to Thomas Jordan - for suggesting this. - - * ace/LOCK_SOCK_Acceptor.h: The accept() method of class - ACE_LOCK_SOCK_Acceptor is no longer a virtual. I don't know why - this was made virtual in the first place, but it was a mistake. - -Sun Dec 21 15:24:42 1997 Nanbor Wang - - * ace/OS.h (class ACE_Cleanup_Info::operator ==, !=): Removed - keyword struct. ACE_Cleanup_Info is a class now. - - * ace/Containers.h (class ACE_Double_Linked_List): Removed - unused function declarations. - - * ace/Containers.h (class ACE_DNode): Removed ACE_DNode class. - -Sat Dec 20 11:05:45 1997 Douglas C. Schmidt - - * tests/test_config.h (ACE_INIT_LOG): Added (%P|%t) to an - ACE_DEBUG statement to make it consistent. - - * tests/IOStream_Test.cpp (spawn): Revised the test so that it - prints data correctly to the child processes. - - * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Moved - the final print statement inside one of the if blocks so that it - appears only every second invocation to remind people to rerun - the program to remove the leaks. Thanks to Tom Arbuckle - for suggesting this. - - * ace/Malloc*: Changed ACE_MALLOC_STATS to ACE_HAS_MALLOC_STATS - since this is more consistent with ACE conventions. Also, - added ACE_HAS_MALLOC_STATS to the ace/README file. Thanks - to Tom Arbuckle for - suggesting this. - - * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): Fixed the logic - for naming the backing store if the sscanf() call fails. Thanks - to Tom Arbuckle for - suggesting this. - -Sat Dec 20 15:39:00 1997 Nanbor Wang - - * tests/IOStream_Test.cpp (spawn): Changed ACE_LACKS_EXEC to - ACE_LACKS_FORK. - -Sat Dec 20 09:42:06 1997 David L. Levine - - * ace/OS.h: changed ACE_SEH_FINALLY to be if (1) on Unix, not - just pSOS. - -Fri Dec 19 23:20:42 1997 Nanbor Wang - - * tests/IOStream_Test.cpp (client): Removed an extra read. - - * ace/OS.h: ACE_SEH_FINALLY should always be executed on UNIX - platforms. - -Fri Dec 19 18:49:26 1997 Douglas C. Schmidt - - * ace/IOStream_T.i: Enhanced ACE_IOStream and its companions as - follows: - - - ACE_Streambuf_T<> now distinguishes recv() timeout failure from - a "real" stream failure - - - ACE_IOStream::eof() honors the streambuf's recv_timeout() value - and returns FALSE if the eof() check fails on timeout. - - - IOStream_Test.cpp tests the streambuf timeout via the stream eof() - and retrys if possible. - - Thanks to James Johnson for these fixes. - - * ace/Log_Record.i: Removed a no-op assignment to Time_Value - in the encode() method. Thanks to Patrick J. McNerthney - for reporting this. - - * ace/Log_Record.i: The time stamp put into the ACE_Log_Record - gets all messed up when the ACE_Log_Record is transmitted to the - Server_Logging_Handler and the client is run on a little-endian - architecture. This is because the ACE_Log_Record::encode method - does: - - this->time_stamp_ = ACE_Time_Value - - htonl (this->time_stamp_.sec ()), - htonl (this->time_stamp_.usec ())); - - When the ACE_Time_Value is passed in the resulting values from - "htonl", it calls "normalize" which totally messes with the - values passed. Thanks to Patrick J. McNerthney - for reporting this. - - * ace/OS.i: Fixed ctime_r() so that it doesn't crash if a NULL is - returned from ctime_r(). Thanks to Patrick J. McNerthney - for reporting this. - -Fri Dec 19 09:44:28 1997 David L. Levine - - * ace/OS.{h,i}: fixed sigwait for DEC cxx, yet again for cxx - V6.0-010. cxx #defines sigwait, and was getting confused - with ACE_OS::sigwait. I replaced Thilo's #undef sigwait, - and updated the ::sigwait declaration to what cxx uses internally. - - * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (server): cast arg - to long before casting to ACE_HANDLE, and removed function-style - cast. - -Fri Dec 19 00:39:40 1997 Douglas C. Schmidt - - * ACE version 4.4.7, released Fri Dec 19 00:39:40 1997. - -Thu Dec 18 19:47:47 1997 Douglas C. Schmidt - - * examples/IPC_SAP/SOCK_SAP: Stripped the CPP-in{server,client}.cpp - tests down to their bare essence to only test the core features - of sockets. Thanks to Bryan and Brian for suggesting this. - - * ace/Message_Queue.cpp (ACE_Message_Queue_Iterator): Changed - queue to q to avoid clashes with STL. Thanks to Brian Mendel - for reporting this. - - * ace/OS.h: The server logging daemon is implemented using TCP/IP - under Win32. Therefore, we can simplify the creation of the - ACE_DEFAULT_LOGGER_KEY. Thanks to Patrick J. McNerthney - for reporting this problem. - -Thu Dec 18 22:35:45 1997 David L. Levine - - * ace/OS.h: fixed typo in end-of-comment marker. - - * ace/OS.h: on Digital Unix 4.0, only declare sigwait () with cxx, - not with g++. Thanks to Erik Margraf - for verifying this. - - * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: tweaked - so that they build on VxWorks (spawn needs the (ACE_THR_FUNC) - cast), and without threads. - - * tests/run_tests.vxworks: updated VxWorks test status. - - * ace/Basic_Types.h: look for ULONGLONG_MAX, which Irix 6.x uses. - And, hard-code ACE_SIZEOF_LONG_DOUBLE to be 16 on __sgi, because - its float.h doesn't always allow us to distinguish them. - Thanks to Carlos for reporting these. - - * ace/High_Res_Timer.cpp,Profile_Timer.cpp: removed dependence - on ACE_U_LongLong. Thanks to Carlos for reporting this. - - * tests/Time_Value_Test.cpp: fixed #ifdefs so that ACE_ULongLong - isn't tested on Irix 6.x, etc. Thanks to Carlos for tripping - over this. - - * ace/IOStream_T.i (eof): made the return type, int, explicit. - - * ace/config-linux-common.h: started adding support for threads on - alpha (glibc). - -Thu Dec 18 21:17:46 1997 - - * ace/ace_dll.dsp: Added project files for Windows CE on SH3 - series CPU and x86 emulator. - - * ace/streams.h: - * ace/OS.h: Added Windows CE flags. - - * ace/OS.cpp (invoke): Added a dummy return to shut gcc up. - - * ace/OS.cpp (invoke): Added a dummy return to shut gcc up. - - * ace/OS.{h,cpp} (rethrow_w32_structural_exception): Added this - function, which prints out an error message to indicate the - occurance of structural exception and rethrow it again. - (ACE_Thread_Adapter::invoke): Rearranged try and except block - for Win32 and added a finally block so when a structural - exception occurs, a thread can clean it up properly, print out - an error message, and rethrow the exception again. - -Thu Dec 18 15:40:50 1997 James C Hu - - * ace/Filecache.{cpp,h}: - - debugged writing a file. - - can select if mapping is desired. - - * ace/OS.h: Added new #defines to facilitate forward declarations - of ACE_Export classes. - -Thu Dec 18 00:15:02 1997 Douglas C. Schmidt - - * ACE version 4.4.6, released Thu Dec 18 00:15:02 1997. - -Wed Dec 17 19:42:38 1997 Douglas C. Schmidt - - * examples/IPC_SAP/SOCK_SAP: Enhanced the - CPP-{inserver,inclient}.cpp tests so that they will spawn - multiple client and server threads to perform the data transfer. - Thanks to Brian Mendel and Bryan Doerr for suggesting this. - - * ace/OS.i: Fixed some very subtle bugs with cond_signal() and - cond_broadcast(). Thanks to Patrick J. McNerthney - for reporting these and sending the fixes. - -Wed Dec 17 19:27:06 1997 Nanbor Wang - - * ACE-INSTALL.html (HREF): Added an advise not to use VC5.0 SP3. - - * examples/OS/Process/Makefile: Removed inclusion of - rules.lib.GNU. Thanks to Avi Nash for - noticing this. - -Tue Dec 16 22:09:42 1997 David L. Levine - - * tests/Time_Value_Test.cpp: restored #include test_config.h, - and changed #include ace/config.h to ace/inc_user_config.h. - - * examples/IPC_SAP/TLI_SAP/ftp-server.cpp, - examples/Reactor/Misc/test_timer_queue.cpp, - examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i, - examples/Shared_Malloc/test_malloc.cpp, - examples/Threads/thread_specific.cpp: replaced ACE_HAS_64BIT_LONGS - preprocessor logic with a cast through a long to an int. - A void * is the same size as a long on all currently supported - ACE platforms. The int cast is also there, to avoid compiler - warnings about narrowing. As a side effect, the function-style - casts were removed. - - * ace/config-osf1*.h,README: added comment stating that - ACE_HAS_64BIT_LONGS is deprecated. - - * ace/config-tandem.h: removed commented-out line that mentioned - ACE_HAS_64BIT_LONGS. - - * ace/OS.{h,i} (sigwait): removed DEC cxx version dependence. The - standard two-arg POSIX ::sigwait () seems to work just fine even - on older releases of Digital Unix 4.0, with the sigwait declaration - that we have in OS.h. Thanks to Erik Margraf - and Thilo - for helping to sort this out. - - I did change the ACE_OS::sigwait () return value determination - in OS.i. It now depends on whether or not POSIX ::sigwait () - returns 0, to agree with the documenation for POSIX sigwait. - Before, the code checked for a -1 return value from ::sigwait (). - -Tue Dec 16 21:00:49 1997 Chris Gill - - Single Threaded port of ACE to pSOSim - first checkin - - * psosim/Makefile: (new) make file for new psosim directory - - builds the configured simulator components - - * psosim/drv_conf.c: (new) board driver configuration code for - simulator - - * ace/sys_conf.h: (new) configuration settings for simulator, ACE - - * ace/config-psosim-g++.h: (new) config file for psosim w/ g++ - - * ace/OS.cpp: - * ace/OS.h: - * ace/OS.i: Added psos and psosim specific code - - * ace/Mem_Map.cpp: Removed function style casts which were killing - g++ - - * ace/Message_Block.cpp: Removed function style casts which were - killing g++ - - * ace/Containers.cpp: Removed function style casts which were - killing g++ - - * ace/Map_Manager.cpp: Removed function style casts which were - killing g++ - - * tests/Handle_Set_Test.cpp: Added PSOS #defines, alongside those - for VXWORKS - - * tests/SOCK_Connector_Test.cpp: Added PSOS #defines, alongside - those for VXWORKS - - * tests/Priority_Reactor_Test.cpp: Added PSOS #defines, alongside - those for VXWORKS - - * tests/MM_Shared_Memory_Test.cpp: Added PSOS #defines, alongside - those for VXWORKS - - * tests/Conn_Test.cpp: Added PSOS #defines, alongside those for - VXWORKS - - * tests/run_tests.psosim: (new) script to run only those tests - that are relevant to pSOSim, in its current single threaded - state - - * include/makeinclude/platform_psosim_g++.GNU (new) make macros - for pSOSim using g++ - - -Tue Dec 16 17:23:49 1997 Nanbor Wang - - * tests/Time_Value_Test.cpp: Removed inclusion of "ace/config.h". - - * ace/inc_user_config.h: Added this file to prevent multiple - inclusions of config.h file. Replace `#include "ace/config.h"' - with `#include "ace/inc_user_config.h"'. - - * ace/Log_Msg.cpp: - * ace/OS.h: - * ace/Trace.cpp: - * ace/streams.h: - * ace/iosfwd.h: Replace "config.h" with "inc_user_config.h". - -Tue Dec 16 08:30:41 1997 Douglas C. Schmidt - - * examples/IPC_SAP/FILE_SAP/client.cpp (main): Fixed "lines" to - "links." Thanks to Istvan Buki for reporting - this. - -Tue Dec 16 14:15:48 1997 - - * ace/OS.i (fstat): Fixed Dr. Schmidt's typo. - -Tue Dec 16 09:17:53 1997 David L. Levine - - * ace/Singleton.cpp (cleanup): set instance pointer to 0 after - deleting it. Thanks to Luca Priorelli - for suggesting this. - - * ace/Basic_Types.{h,i}: (ACE_U_LongLong): use ACE_UIN32 instead - of u_long for data members, to ensure that its sizeof is 8 bytes. - - * ace/OS.h: except on WIN32 and Solaris (ACE_HAS_HI_RES_TIMER), - always typedef ACE_hrtime_t to ACE_UINT64. This changes removes - the dependence on ACE_HAS_64BIT_LONGS. - - * ace/OS.cpp (ACE_TSS_Keys): replaced ACE_HAS_64BIT_LONGS - dependence with ACE_SIZEOF_LONG == 8, and similarly for - determination of 4-byte longs. - - * tests/TSS_Test.cpp (worker): replaced ACE_HAS_64BIT_LONGS - preprocessor logic with a cast of the void * argument to a long. - A void * is the same size as a long on all currently supported - ACE platforms. The int cast is also there, to avoid compiler - warnings about narrowing. - - * tests/Time_Value_Test.cpp: replaced use of ! ACE_HAS_64BIT_LONGS - with ACE_SIZEOF_LONG == 4. - -Mon Dec 15 22:47:24 1997 Douglas C. Schmidt - - * ACE version 4.4.5, released Mon Dec 15 22:47:24 1997. - -Mon Dec 15 20:17:10 1997 Douglas C. Schmidt - - * ace/OS.cpp: Fixed pread() and pwrite() so that they work - correctly even if we don't support threads. Thanks to Irfan for - finding this. - - * ace/OS.i: Tried to fix the fstat() wrapper on Win32 so that - it does the right think for HANDLES. Thanks to Lori Anderson - for pointing this out. - -Mon Dec 15 15:36:07 1997 Nanbor Wang - - * ace/Thread_Manager.cpp (exit,wait): Changed these two functions - more for Chorus. Thanks again to Wei Chian - for providing the patch. - -Mon Dec 15 06:42:42 1997 David L. Levine - - * ace/Log_Msg.cpp (instance): on non-threaded platforms, only - allocate a new ACE_Log_Msg_message_queue if the (static) pointer - is 0. Thanks to Stephen Coy for - reporting this. - - * ace/config-linux-common.h: updated header comments about - autosensing the platform capabilities. - - * tests/Process_Strategy_Test.cpp: (parse_args): added DEBUG - message if an unsupported concurreny strategy is provided with - a -c option. - -Mon Dec 15 01:12:33 1997 - - * ace/Synch_T.h (ACE_Atmoic_Op::value_i): Explicitly return - (by reference). This gives the user full, unrestricted - access to the underlying value. This method will usually be - used in conjunction with explicit access to the lock. Use with - care ;-) - -Sun Dec 14 21:37:08 1997 Douglas C. Schmidt - - * ace/OS.i (cond_wait,cond_timedwait): Fixed a missing return to - handle the case where we're using USYNC_PROCESS for the external - mutexes. - - * ace/OS: Made the use of the waiters_lock_ mutex consistent in - the ACE_cond_t implementation. This was broken since we used - the external_mutex to serialize access to the waiters_ count - inconsistently. Thanks to Patrick J. McNerthney - for reporting this very subtle bug. - -Sun Dec 14 12:29:26 1997 Nanbor Wang - - * ace/Thread_Manager.cpp (exit,wait): Disabled thread join - functionality in Chorus. Thanks to Wei Chiang - for providing the fix. - -Fri Dec 12 21:48:38 1997 Torbjorn Lindgren - - * ace/config-linux*.h: All Linux platform files except the - Linux-KCC modified to use the upgraded common Linux - configuration file. Linux-KCC looks reasonably easy to do, - if no-one that actually have KCC takes care of it I can do - this one later. - - * ace/config-linux-common.h: Modernized and updated the common - Linux configuration file to handle more of the common - configuration stuff. Also added the beginning of proper - glibc and egcs support for Linux. - -Sat Dec 13 14:22:28 1997 - - * ace/Basic_Types.h: Changed _M_IX386 to _M_IX86. - -Fri Dec 12 19:41:42 1997 - - * ace, tests, version_tests: Updated Win32 makefiles (VC4.2 and - VC5.0) to include new Basic_Types_Tests. - - * tests/Basic_Types_Test.cpp (main): Updated to use - ACE_OS::getpagesize(). - - * ace/ACE.cpp (round_to_pagesize): Updated to use - ACE_OS::getpagesize(). - - * ace/OS.i (getpagesize): Added this to ACE_OS. - -Fri Dec 12 07:49:01 1997 David L. Levine - - * ace/OS.i (inet_addr): changed type of "valid" from bool to u_int. - This code is only seen on VxWorks. - - * ace/IOStream.h (ACE_Quoted_String::operator <): changed return - type from bool to int. - - * ace/config-vxworks*.h,README: removed ACE_LACKS_SOCKET_BUFSIZ; - added ACE_DEFAULT_MAX_SOCKET_BUFSIZ of 32768. - - * examples/IPC_SAP/SOCK_SAP/C-in{client,server}.cpp: added - support to optionally set socket buffer sizes. - - * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp: - removed unused constant SHMSZ. - - * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: removed - unused constant NO_OF_IO_HANDLERS. - - * ace/IOStream_T.h (ipfx,ipfx1): don't call setstate () on WIN32, - because MS VC++ 5.0 doesn't declare it. Thanks to Irfan for - reporting this. This "fix" is temporary, maybe, until we - figure out the proper fix. - - * ace/OS.h: cast the 1 in ACE_MSB_MASK to an fd_mask, to support - 64-bit fd_masks. I suspect that with this change, the - ACE_HAS_BROKEN_BITSHIFT used in config-tandem.h is no longer - necessary. - - Added Basic_Types: - * ace/Basic_Types.*,Makefile: Basic_Types defines the - following preprocessor macros: - - Sizes of built-in types: - ACE_SIZEOF_CHAR - ACE_SIZEOF_WCHAR - ACE_SIZEOF_SHORT - ACE_SIZEOF_INT - ACE_SIZEOF_LONG - ACE_SIZEOF_LONG_LONG - ACE_SIZEOF_VOID_P - ACE_SIZEOF_FLOAT - ACE_SIZEOF_DOUBLE - ACE_SIZEOF_LONG_DOUBLE - - Wrappers for built-in types of specific sizes: - ACE_INT16 - ACE_UINT16 - ACE_INT32 - ACE_UINT32 - ACE_UINT64 - (Note: ACE_INT64 is not defined, because there is no ACE_LongLong for - platforms that don't have a native 8-byte integer type.) - - Byte-order (endian-ness) determination: - ACE_BYTE_ORDER, to either ACE_BIG_ENDIAN or ACE_LITTLE_ENDIAN - ACE_BIG_ENDIAN or ACE_LITTLE_ENDIAN - - * ace/OS.*: moved ACE_U_LongLong to Basic_Types.*. - - * ace/OS.h: added #include . - - * ace/config-linux-common.h,README: added ACE_HAS_BYTESEX_H. - - * tests/Basic_Types_Test.cpp,run_tests.{bat,sh,vxworks),Makefile: - added new Basic_Types_Test. - - * tests/Time_Value_Test.cpp: removed ACE Version printout because - it is now in Basic_Types_Test. - -Fri Dec 12 03:00:21 1997 James C Hu - - * ace/config-sunos5.5-egcs-1.0.h: Fundamemntally identical to g++ - version, except added ACE_HAS_STDCPP_STL_INCLUDES, which is - taken to mean that the Standard C++ STL include files are - supported. - - * IOStream.h: Added #if's to handle the case where - ACE_HAS_STRING_CLASS, but if ACE_HAS_STDCPP_STL_INCLUDES, then - the string class is found in . Otherwise, it looks for - it in . - - * ace/OS.i: Re-implemented strcasecmp methods. Thought bad - implementations were related to a JAWS bug, but the hand - implementations are not used on Solaris. - -Thu Dec 11 23:20:57 1997 - - * ace/Strategies_T.cpp (activate_svc_handler): Changed the - parameter that was been passed into the open routine of - Svc_Handler. The that was passed to us is passed through - to open, rather than passing . Thanks to Mats Nilsson - for pointing this out. - - * ace/Connector.cpp (activate_svc_handler): Made sure that we pass - the connector pointer as the void* parameter to the svc_handler. - -Thu Dec 11 23:35:04 1997 Douglas C. Schmidt - - * ace/OS.i. The code was always calling dlsum for the _init() - hook, even if dlopen() failed. In addition to fixing this, I - also removed a potential handle leak. Thanks to Patrick - J. McNerthney for reporting this. - -Thu Dec 11 13:13:17 1997 David L. Levine - - * ace/LSOCK.cpp (recv_handle): fixed to remove compile errors and - warnings on platforms with both ACE_HAS_4_4BSD_SENDMSG_RECVMSG - and ACE_HAS_THREADS. The delta from version 4.3 of this file - is very small. Thanks to Kirill Rybaltchenko - for reporting this problem and - verifying the fix on LynxOS, the only affected platform. - - * ace/config-linux-kcc.h,include/makeinclude/platform_linux_kcc.GNU: - added linuxthreads support with the linux KAI C++ config. - Thanks to Ben Eng for the patches. - - * ace/IOStream_T.h: iostream fx emulation now skips whitespaces and - flushes when tied. Thanks to Ben Eng for the patch. - - * tests/IOStream_Test.cpp (server): check for double-quote instead - of newline as end-of-string character. Thanks to Ben Eng - for the patch. - - * tests/SV_Shared_Memory_Test.cpp: renamed "allocator" to - "myallocator" to avoid conflict with STL. Thanks to Ben Eng - for the patch. - - * include/makeinclude/platform_linux_lxpthread.GNU: protect - PRELIB definition with ifndef PRELIB, to allow overriding - without modifying the platform_macros.GNU file. Thanks to - James Johnson for this suggestion. - - * ace/IOStream_T.cpp: restored ACE_HAS_IOSTREAMH_INCLUSION - protection around the old g++ munch hack. There's no need - to trouble all (g++) platforms with its (4 byte) space penalty. - - * examples/IOStream/server/iostream_server.cpp (handle_input): - removed unused local "addr". - - * examples/Reactor/Dgram/{CODgram,Dgram}.cpp (run_test): added - return 0 at end so that the function always returns a value. - - * include/makeinclude/platform_lynxos.GNU: added comment indicator - to comment describing POSTLINK. - - * ACE-INSTALL.html: updated DEC CXX 6.0 test status: all tests pass - with the version of DIGITAL UNIX 4.0 and cxx 6.0 that we use. - -Wed Dec 10 23:57:00 1997 Chris Cleeland - - * ACE version 4.4.4, released Wed Dec 10 23:57:00 1997. - -Wed Dec 10 16:24:09 1997 - - * ace/Auto_Ptr.i: Apparently, the standard states that in order to - access members of a templated superclass from a templated - subclass, then the member name must be fully qualified. - Therefore, changed access to p_ to ACE_Auto_Basic_Ptr::p_. - Thanks to Stephen Coy for reporting this. - -Tue Dec 09 13:05:00 1997 - - * ace/Containers.cpp (copy_all_nodes): Added a temporary - ACE_Node pointer to get around the macro side effects. - -Sun Dec 7 10:20:46 1997 Douglas C. Schmidt - - * ace/Service_Config.cpp (parse_args): Added an appropriate macro - to switch from char * to UNICODE. Thanks to Timothy A. Brown - for reporting this. - - * ace/config-linux-*.h: Added ACE_HAS_GETRUSAGE_PROTO to all - the linux config files. Hopefully, this will help ACE to work - better with glibc. Thanks to Ernie Makris - and Torbjorn Lindgren for their help. - -Sat Dec 06 13:30:11 1997 Douglas C. Schmidt - - * ACE version 4.4.3, released Sat Dec 06 13:30:11 1997. - -Sat Dec 6 12:02:09 1997 Douglas C. Schmidt - - * examples/IOStream: Revised both the client and server to - demonstrate the ACE_IOStream functionality correctly. Also - added a README file explaining how to run the examples. Thanks - to James Johnson and Dustin Laurence - for suggesting this. - - * ace/IOStream_T: Added a new method eof() to the ACE_IOStream_T<> - class. This returns 1 if we've reached the end of the socket - stream, else 0. - -Fri Dec 5 16:58:29 1997 Douglas C. Schmidt - - * ace/Addr.h: Added a const ACE_Addr & instead of const ACE_Addr. - This will avoid an extra copy. Thanks to Irfan for noticing - this. - - * examples/Reactor/Dgram/CODgram.cpp: Also updated the CODgram - test to be just like the Dgram test. - - * examples/Reactor/Dgram/Dgram.cpp (main): Fixed a bug where it - was sending a huge buffer instead of just the string size. - Also, exit once we've finished the send. Finally, revised the - test so that it is easier to understand and so that it exits - properly. Thanks to Michael Hoffman - for reporting - this. - -Fri Dec 05 13:20:09 1997 David L. Levine - - * include/makeinclude/platform_vxworks5.x_ghs.GNU: added OFLAGS. - Thanks to Brian Mendel for suggesting these. - - * tests/IOStream_Test.cpp: updated to work with the standard C++ - library version of iostreams. That primarily involved not - using operator>>(char& c) and operator>>(char* c) for C strings. - Thanks to Ben Eng for the patch. - - * ace/OS.{h,i},config-osf1-4.0.h: fixed sigwait on DEC CXX 6.0/ - recent DEC UNIX 4.0. The fix keys off the compiler version, - though it probably should depend on the OS. It adds a - sigwait declaration, which is a current signal.h deficiency. - With this change, ACE builds and tests cleanly on DEC UNIX. - - * ace/config-vxworks5.x-g++.h: restored comment that explains - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * netsvcs/lib/Makefile: the first line of the Local Target - (Server_Logging_Handler.*) override mysteriously disappeared, again. - -Fri Dec 5 12:15:49 1997 Chris Cleeland - - * ace/Select_Reactor.cpp: Made error messages on open failure more - verbose. Having these in place straightaway would have helped - track down some problems at Boeing much more effectively. - -Fri Dec 5 11:15:17 1997 Nanbor Wang - - * ace/Log_Msg.h (callers.): Added documentation for %I and %D - flags. Thanks to John Morey for reosting - this. - - * ace/Dynamic.h: - * ace/CORBA_Ref.h: - * ace/Token_Invariants.h: - * ace/Token_Collection.h: - * ace/Local_Tokens.h: - * ace/Remote_Name_Space.h: - * ace/Registry_Name_Space.h: - * ace/Strategies.h: - * ace/Name_Space.h: - * ace/Name_Request_Reply.h: - * ace/Naming_Context.h: - * ace/Name_Proxy.h: - * ace/Local_Name_Space.h: - * ace/Local_Name_Space_T.h: Corrected erroneous comments. These - files all contain incorrect filename info in the preambles which - make erroneous auto-generated man pages. - -Fri Dec 05 00:00:53 1997 - - * ace/OS.h: If the user wants minimum IOStream inclusion, i.e., - they have defined ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, we will - just include the forward declarations, i.e., ace/iosfwd.h. Else - they will get all the stream header files, i.e., ace/streams.h. - The positive thing about this change is that if your code was - using stream classes and you were depending on OS.h to provide - you the stream header files, you will not have to change your - code, unless you have defined - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. Thanks to Dr. Schmidt for - suggesting this and thanks to David Levine for suggesting it to - Dr. Schmidt ;-). - - * ace/config-vxworks5.x-g++.h: Restored - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. - - * ace/Asynch_IO.cpp (open): Fixed typo. - -Thu Dec 04 21:20:47 1997 Douglas C. Schmidt - - * ACE version 4.4.2, released Thu Dec 04 21:20:47 1997. - -Thu Dec 4 19:45:04 1997 Douglas C. Schmidt - - * ace/Object_Manager.cpp (ACE_Object_Manager_Destroyer): Fixed a - bug in the - ACE_Object_Manager_Destroyer::~ACE_Object_Manager_Destroyer - thread comparison routine. Thanks to Steven Coy for this. Also - renamed _saved_main_thread_id to saved_main_thread_id_, which is - proper ACE style. - - * Updated the ACE-INSTALL.html file to explain why you don't need - to build everything all the time. Thanks to Dustin Laurence - for suggesting this. - - * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): - Added a check for ENETUNREACH. Thanks to Dustin Laurence - for reporting this. - - * ace/Asynch_Acceptor.cpp (open): Changed the local variable named - sap_any to sa to avoid conflicts with the new sap_any macro. - - * ace/Asynch_IO: Made the ACE_Service_Hanlder::open() method - non-virtual to work around bugs with Borland C++. Thanks to - Valik Solorzano Barboza for suggesting this. - - * ace/ACE.cpp (COMPUTE): Put parens around elements the COMPUTE - macros so that it will work on Borland C++. Thanks to Valik - Solorzano Barboza for suggesting this. - - * ace/config-win32-common.h: Added ACE_HAS_BROKEN_SAP_ANY to deal - with Borland C++ bugs. Thanks to Valik Solorzano Barboza - for suggesting this. - - * ace/Addr: Added a workaround for the Borland C++ problems. This - introduces a new global macro called sap_any. However, this is - only used for Borland, so it should be ok. Thanks to Valik - Solorzano Barboza for suggesting this. - - * ace/LSOCK.cpp (recv_handle): Make the code smarter if we've got - both STREAMS and 4_4BSD_SENDMSG_RECVMSG. - - * Reran "make depend" over all of ACE. - - * netsvcs/clients/Logger/indirect_logging.cpp (main): Changed - LOGGING to LOGGER. Thanks to Irfan for noticing this. - - * netsvcs/lib/Client_Logging_Handler: Changed "rendezvous" to - "logger." - - * netsvcs/clients/Logger/indirect_logging.cpp, - netsvcs/lib/Client_Logging_Handler: Changed DEFAULT_RENDEZVOUS - to DEFAULT_LOGGER_KEY. Thanks to Steven Coy for pointing out - this inconsistency. - - * ace/OS.h: Renamed ACE_LOGGER_KEY to ACE_DEFAULT_LOGGER_KEY to - make it consistent with other ACE_DEFAULT_* names. - - * ace/OS.h: Changed the definition for ACE_LOGGER_KEY so that it - defaults to "localhost:10015" on platforms that don't support - ACE STREAM Pipes. Thanks to Steven Coy for suggesting this. - - * ace/Service_Config.cpp: Added the -k option to parse_args() so - that the user can set the logger key. Thanks to Steven Coy for - suggesting this. - - * ace/Service_Config: Added the logger_key as a parameter to the - other open() method, as well. Thanks to Steve Coy for being - picky ;-). - - * netsvcs/clients/Logger/direct_logging.cpp (main): Modified the - code to use the new framing scheme. - - * netsvcs/lib/Server_Logging_Handler_T.cpp - (handle_logging_record): Updated the code to take advantage of - our new framing scheme. - - * netsvcs/lib/Client_Logging_Handler.cpp (send): We can be smarter - now about sending the ACE_Log_Record across the network since - the length field is now fixed and it's guaranteed to be in the - first 4 bytes. Thanks to Steve Coy for suggesting this. - - * ace/Log_Record.h (ACE_Log_Record): Replaced the horribly - non-portable "long length_" field with the "ACE_INT32 length_" - field, which is nice because it is portable across platforms - with different long-word sizes. - -Thu Dec 04 09:57:40 1997 David L. Levine - - * include/makeinclude/platform_osf1_4.GNU: allow enabling of - WARNING_FLAGS by setting CXX_VER to POST_5X. Thanks to - James Johnson for this suggestion. - - * ace/Svc_Conf_l.cpp: rebuilt with Doug's flex. - -Thu Dec 04 03:46:04 1997 - - * ace/Makefile (Svc_Conf_l.cpp): Changed the sed macros to produce - OS.h include instead of stdcpp.h. - - * ace/Svc_Conf_l.cpp: Updated after code was regenerated using the - new sed changes in the Makefiles. Currently there are two - inclusions of OS.h in this file and an extra stdlib.h. Maybe - someone more experienced in sed can take these out by updating - the Makefile. - - * ace/IOStream_T.h (stdcpp.h): Removed inclusion of stdcpp.h. It - is redundant because IOStream.h includes it. - - * ace/streams.h: New file. This files tries to reduce the - differences between the old and new stream libraries for the - user. This is done by automatically selecting the correct - includes depending on the ACE_HAS_STANDARD_CPP_LIBRARY variable. - This file also helps out by making commonly used classes (e.g., - ios, ostream, iostream, cin, cout, etc) available in the global - name space when used with the Standard C++ Library. Use this - file where you would usually include or . - - * ace/iosfwd.h: New file. This files deals with forward - declaration for the stream classes. Remember that since the new - Standard C++ Library uses templates for the implementation of - the streams, simple forward declaration will not work. Classes - forward declared by this class include: - - ios - streambuf - istream - ostream - iostream - filebuf - ifstream - ofstream - fstream - - Use this file where you would usually forward declare the - classes listed above. - - * ace/stdcpp.h: Removed this file from the repository. This file - was trying to do too much. All the inclusion of the C Library - headers were unnecessary. This is because the new C++ standard - preserves the old C library include files. The functions from - those files will still be in the global namescape. The new - header files (e.g., cstdio), provides the same prototypes as the - old files (e.g., stdio.h), except that all prototypes are in the - std namespace. Since we want the old behavior and global - prototypes (for backward compatibility), inclusion of the new - header files was incorrect. - - stdcpp.h was included by OS.h. This caused almost all files to - force the inclusion of the stream header files. This was - changed so that OS.h only includes the ace/iosfwd.h file. This - means that if your code was using stream classes and you were - depending on OS.h to provide you the stream header files, you - will have to change your code to either include iostream.h or - iostream, or more portably ace/streams.h. - - * ace/OS.h: Removed stdcpp.h. Moved the standard C library - includes from stdcpp.h to OS.h. Also added ace/iosfwd.h to give - forward declaration for the stream classes. - - * ACE: Added explicit inclusion of ace/streams.h to the following - files: - - ace/IOStream.cpp - ace/Log_Record.cpp - ace/OS.cpp - ace/SString.cpp - ace/Log_Msg.cpp - tests/test_config.h - examples/Log_Msg/test_log_msg.cpp - examples/Reactor/Misc/test_time_value.cpp - examples/Threads/task_three.cpp - netsvcs/lib/Logging_Strategy.cpp - examples/Logger/Acceptor-server/server_loggerd.cpp - examples/ASX/UPIPE_Event_Server/event_server.cpp - examples/Reactor/Ntalker/ntalker.cpp - examples/Shared_Malloc/test_persistence.cpp - examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp - examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp - examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp - examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp - - * Updated makefile dependencies throughout ACE to reflect the - removal of stdcpp.h and the addition of streams.h. - - * examples/Threads/barrier2.cpp: Removed inclusion of stdcpp.h. - - * ace/IOStream_T.cpp: Reorganized include files so that inclusion - of config.h is not necessary. - - * ace/IOStream.cpp: Changed inclusion of config.h to OS.h. - - * ace: Removed config.h from the following files. It was - redundant. - - Timer_Hash.cpp - Timer_Heap.cpp - Timer_List.cpp - Timer_Queue.cpp - Timer_Wheel.cpp - - * ace: Added code to protect against multiple inclusions of - config.h. Following files were effected: - - Trace.cpp - Log_Msg.cpp - - * ace/config-win32-common.h: Removed redundant definitions of - ACE_HAS_TYPENAME_KEYWORD and ACE_HAS_SIG_ATOMIC_T. Thanks to - Matthias Kerkhoff for pointing this out. - -Wed Dec 3 21:37:47 1997 Douglas C. Schmidt - - * Added the new ACE-inheritance.ps and pdf files, which show the - class structure of ACE. Thanks to John Lindal - for generating this. - - * ace/Service_Config: Removed the static logger_key_ member and - replaced it with a (defaulted) parameter to open(). This is - more flexible. Thanks to Steve Coy for the suggestion. - - * ace/Service_Config.h: Addressed all the "@@" questions. - - * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed a - subtle bug in the "quit" logic. Thanks to Michael Hoffman - for reporting - this. - - * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_logging_record), - netsvcs/lib/Client_Logging_Handler.cpp (send): - Changed the code so that we now always send ACE_UINT32 bytes - worth of data for the length field. This ensures we're portable - across platforms. Thanks to Steven Coy for noticing this. - -Wed Dec 03 18:02:09 1997 - - * performance-tests/Synch-Benchmarks/Benchmark.cpp: Added template - instantiations for Atomic_Op. - -Wed Dec 3 10:29:58 1997 Carlos O'Ryan - - * ace/ACE.cpp: - Use ACE_UINT32 to compute the 32-bit CRC, on Alphas (and - probably other 64 bit machines) u_long seems to be longer than - that. - -Wed Dec 03 07:39:15 1997 Steve Huston - - * include/makeinclude/platform_hpux.GNU: - * include/makeinclude/platform_hpux_gcc.GNU: Moved some compile options - from the DCFLAGS to the CCFLAGS to compile correctly with or without - debugging. - -Wed Dec 03 06:26:14 1997 David L. Levine - - * ace/Future.cpp, - tests/{Future_Test,Reactors_Test,Reader_Writer_Test.cpp, - examples/Threads/manual_event.cpp: - moved ACE_Atomic_Op instantiation from - ace/Future.cpp to where it is used. - - * ace/OS.cpp (inet_aton): return 0 if addr argument is 0. Thanks - to Wei for reporting this. - - * ace/config-linux.common.h: set an ACE_DEFAULT_BASE_ADDR, on Alpha - for now. This might be necessary on Intel as well. - - * ace/OS.{h,i}, config-osf1-4.0.h: fixed use of ::sigwait with - DIGITAL_UNIX's cxx 6.0, which now uses ACE_HAS_ONEARG_SIGWAIT. - Also, added an ACE_DEFAULT_BASE_ADDR to the config file. - - * tests/{Priority_Reactor_Test,Reactor_Performance_Test}.cpp: - instantiate ACE_Map_*, for use by ACE_Connector, with ACE_HANDLE - instead of int. That's the way it's declared in ace/Connector.h. - -Wed Dec 03 00:17:50 1997 - - * tests/test_config.h: Removed code for - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, as this option is no longer - necessary. - - * ace/stdcpp.h: Removed code for - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, as this option is no longer - necessary. - - * ace/config-vxworks5.x-g++.h: Removed - ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. This flag is no longer - required. - - * ace/IOStream_T.cpp: Removed ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION - from #if defined. - - * ACE: Removed the explicit iostream.h inclusion from these: - - examples/ASX/UPIPE_Event_Server/event_server.cpp - examples/Log_Msg/test_log_msg.cpp - examples/Logger/Acceptor-server/server_loggerd.cpp - examples/Reactor/Misc/test_time_value.cpp - examples/Shared_Malloc/test_persistence.cpp - examples/Threads/task_three.cpp - netsvcs/lib/Logging_Strategy.cpp - - * ace/IOStream.h: Darrell missed removing this explicit iostream.h - inclusion. - - * ace/Future.cpp: Removed template instantiation of Atomic_Op - since Atomic_Op is not used by Future. - -Fri Dec 02 11:46:17 1997 - - * ace/Proactor.cpp (ACE_Proactor): Reenabled Proactor's thread - manager to wait on its Timer_Handler thread. - - * ace/Thread_Manager.cpp (close_singleton): Removed Win32 specific - codes. This is no longer necessary with above changes. - (wait): Close down thread handles when removing detached - threads. Avoid performing wait when the program is shutting - down. - (remove_thr_all): Extracted out this protected member function. - (close): Changed to use the new remove_thr_all function. - - * ace/Proactor.cpp (handle_events): Changed the magic number 258 - to WAIT_TIMEOUT. Thanks to Mark Rabotnikov - for pointing this out. - -Tue Dec 02 14:13:15 1997 Steve Huston - - * include/makeinclude/platform_hpux_aCC.GNU: Moved some compile options - from the DCFLAGS to the CCFLAGS to compile correctly with or without - debugging. Thanks to Istvan Buki for reporting - the problem. - -Tue Dec 02 06:16:39 1997 David L. Levine - - * ace/Object_Manager.cpp (~ACE_Object_Manager_Destroyer): don't - delete the ACE_Object_Manager if not destroyed by the main - thread. That can cause problems, at least on WIN32. And - it should only happen under exceptional conditions, at least - on WIN32. Thanks to Ari Erev and - John Neystadt for suggesting this. - - * ace/IOStream.cpp (underflow,overflow): moved get_mode_ and - put_mode_ accesses so that it now works on KAI C++. - Thanks to Ben Eng for the patch. - - * ace/config-linux-kcc.h: commented out ACE_TEMPLATES_REQUIRE_SOURCE. - Thanks to Ben Eng for this update. - - * ace/Profile_Timer.cpp (elapsed_time): changed - ACE_ONE_SECOND_IN_USECS to ACE_ONE_SECOND_IN_NSECS. Thanks - to Wei for noticing this. - - * ace/OS.cpp (inet_aton): removed CHORUS specialization. - Thanks to Wei for reporting this. - - * include/makeinclude/platform_chorus.GNU: added CHORUS = 1, - for use by individual Makefiles. - - * examples/Shared_Malloc/test_persistence.cpp: removed - ACE_Malloc - instantiation because it's in ace/System_Time.cpp. - - * ace/config-lynxos.h: removed ACE_HAS_UALARM, because LynxOS - apparently doesn't. - - * include/makeinclude/platform_lynxos.GNU: added -Winline and - removed -fno-strict-prototypes. - - * tests/Message_Queue_Test.cpp (main): increased queue size from - default of 16Kb to 32Kb, so that it runs on machines with 8Kb - pagesizes. And, added a check to see if the queue is full - before enqueuing. - - * ace/OS.i, config-osf1-4.0.h: DECXX 6009006 has SIGWAIT. - - * ACE-INSTALL.html: updated DEC_UNIX test status. Message_Queue_Test - and all of the Mutex_Tests now pass. Conn_Test no longer does. - -Tue Dec 02 00:18:04 1997 - - * ace/Memory_Pool.cpp (handle_signal): If guess_on_fault_ is true, - then we cannot call remap(0). This will always put the address - out of range. Therefore, we will shoot in the dark (user has - instructed us to do so as guess_on_fault_ is true) and try to - remap the file. If the user does not want this behavior, the - guess_on_fault_ flag should be turned off. Thanks to Jon - Prettyman for pointing this out. - -Mon Dec 01 16:13:06 1997 - - * ace/config-win32-common.h: Added back ACE_LACKS_ACE_IOSTREAM to - the config file. The test is not compiling. - - * tests/run_tests.bat: Look for "Win32 structured exception" in - the log files. - -Mon Dec 1 14:01:02 1997 Darrell Brunsch - - * ace/Log_Msg.cpp, ace/Log_Msg.h, ace/Log_Record.cpp, - ace/Log_Record.h ace/OS.h, ace/stdcpp.h, tests/test_config.h: - - Changed use of ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION in stdcpp.h - to include iostream when the above is #defined. Made - changes to other files to accommodate this change. - -Mon Dec 01 12:15:00 1997 - - * ace/config-win32-common.h (ACE_LACKS_ACE_IOSTREAM): James CE - Johnson claims that ACE_LACKS_ACE_IOSTREAM is no longer not - necessary when using the ACE_HAS_STANDARD_CPP_LIBRARY. - - * ace/OS.h: Changed the definition of ACE_UNIMPLEMENTED_FUNC so - that it just evaporates on platform that have - ACE_REQUIRES_FUNC_DEFINITIONS defined. - - ACE_UNIMPLEMENTED_FUNC is only required for template classes and - not for a normal class. When the template is explicitly - instantiated, it causes some compilers to look for the - definition of all the declared methods. - - On platforms that have this behavior, we have decided to take - out the declaration of this function. This is necessary since - an empty definition of {} usually does not work with some - constructors. And by providing a explicit definition of this - function, will cause all platforms to suffer. - - Therefore, platforms with ACE_REQUIRES_FUNC_DEFINITIONS defined - must be specially careful when using this. - -Mon Dec 01 07:56:02 1997 David L. Levine - - * include/makeinclude/platform_sunos5_sunc++.GNU: added - -xildoff to LDFLAGS, to avoid occasional problems with - the incremental linker. Thanks to Hans Rohnert - for this suggestion. - - * include/makeinclude/platform_vxworks5.x_g++.GNU, - etc/ace_ld, bin/ace_ld, ACE-INSTALL.html: - moved ace_ld from etc/ to bin/. - - * Makefile: added etc/ to CLONE and RELEASE_FILES. - - * include/makeinclude/platform_lynxos.GNU: added -Wall to CFLAGS. - - * ace/ACE.cpp (set_handle_limit): only call setrlimit if - RLIMIT_NOFILE is #defined. - - * ace/OS.h: removed ACE_HAS_STDARG_THR_DEST dependence for - ACE_THR_DEST definition. - - * ace/OS.cpp (thr_keycreate): with ACE_HAS_DCETHREADS only, cast - dest argument to ::pthread_keycreate if ACE_HAS_STDARG_THR_DEST. - - * ace/OS.i (get{host,proto,serv}by{addr,name}_r): with - ACE_HAS_NONCONST_GETBY only, added some ACE_UNUSED_ARGS. - - * examples/Shared_Malloc/Malloc.cpp: removed - ACE_Guard instantiation because it's in - ace/Synch.cpp. - - * ace/config-lynxos.h: added ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. - Without it, the Thread_Manager went recursively ballistic. - - * performance-tests/Misc/preempt.cpp (main): fixed printout if - ACE_OS::sched_params () call failed. - -Sun Nov 30 22:44:50 1997 Douglas C. Schmidt - - * ACE version 4.4.1, released Sun Nov 30 22:44:50 1997. - -Sun Nov 30 20:32:50 1997 David L. Levine - - * include/makeinclude/platform_osf1_3.2.GNU: removed -ptr option - from CCFLAGS, so the default template repository will be used. - Thanks to Dani Flexer for reporting this. - - * ace/Svc_Conf_l.cpp,Makefile: - 1) #include ace/stdcpp.h instead of stdio.h so that anything - that needs to be #included with/before stdio.h can be. - 2) Changed ECHO to ACE_SVC_CONF_ECHO to avoid compiler warning if - ECHO was #defined to be a constant. - - * ace/Makefile: set ACELIB to null so that it can be used to build - shared libs, including libACE.$(SOEXT). - - * include/makeinclude/platform_osf1_4.0.GNU: added $(ACELIB) to - SOFLAGS to avoid shared lib build warnings about undefined ACE - symbols. - - * ace/Thread_Manager.h: declare ACE_THR_MEMBER_FUNC outside of - ACE_Thread_Manager class with __GNUG__ instead of with - VXWORKS || IRIX5. The problem is with older versions of g++, - not with the OS. - -Sun Nov 30 14:13:09 1997 Douglas C. Schmidt - - * netsvcs/servers/README: Clarified a bit more about how to - configure the client and server logging processes. Thanks to - Neil Cohen for motivating this. - -Sun Nov 30 17:36:35 1997 Sergio Flores - - * ace/Synch.cpp (ACE_File_Lock): Fixed order of parameters in the - call to this->open() and too many arguments in call to - ACE_File_Lock::open(). - -Sun Nov 30 16:31:41 1997 Carlos O'Ryan - - * ace/Synch.h: - * ace/Synch.cpp: - ACE_File_Lock should create the file if it does not exist, to do - so the constructor takes the parameter to ACE_OS::open() - and defaults to O_CREAT|O_RDWR. - -Sat Nov 29 21:31:07 1997 Nanbor Wang - - * ace/Proactor.cpp (~ACE_Proactor_Timer_Handler): Removed explicit - call to thr_mgr_.close(). - (ACE_Proactor): Be sure to ask Thread_Manager not to wait for - the timer_handler_ thread. - - * ace/Thread_Manager.cpp (close_singleton): Only reset - exit_on_wait status if we are responsible for deleting the - global thread manager. - -Sat Nov 29 15:15:04 1997 Carlos O'Ryan - - * ace/IPC_SAP.cpp: - Removed warning for functions not returning a value on SGI, it - seems that the flow changed and the last return was reached - sometimes, hence the ACE_NOTREACHED macro is no longer needed. - -Sat Nov 29 13:12:47 1997 Douglas C. Schmidt - - * ace/Synch: Conditionally inlined all the ACE_Process_Mutex - wrapper calls and moved them into the Synch.i file. I'm not - sure why there weren't here before. - - * ace/Synch: Reimplemented ACE_RW_Process_Mutex to use - ACE_File_Lock, which provides the proper readers/writer - semantics that had been lacking in the previous implementation. - -Fri Nov 28 04:25:23 1997 Nanbor Wang - - * ace: Removed redundant trailing commas from - ACE_UNIMPLEMENTED_FUNC. - - * ace/Thread_Manager.{h,i,cpp}: Delete declaration of - remove_thr_self. It is no longer in use. - (wait_on_exit): Added this function to let users specify whether - they want their Thread_Manager wait for spawned threads on exit - or not. - (wait): On Win32, handles should be closed if we decide to let - the thread go wild. - (remove_thr): Added another parameter to control whether - remove_thr should close the handle or not. It is only used on - Win32. - (close): Removed the parameter for it has been - incoporated as a member. - (close_singleton): Reset on Win32. We'll never - need to wait for unfinished threads on NT. - (ACE_Thread_Manager): Added initialization of member - . It is default to 1 (wait on exit.) - - * ace/Containers.h: Corrected erroneous comments. - -Wed Nov 26 10:33:22 1997 - - * ace/Log_Msg (msg): Changed the parameters from char * to const - char *. - - * ace: Added unimplemented copy constructors and assignment - operators to the following classes: - - ACE_Map_Manager - ACE_Message_Block - ACE_Data_Block - ACE_Log_Msg - ACE_Message_Queue - ACE_Task - ACE_Task_Base - - Added ACE_UNIMPLEMENTED_FUNC macros to these classes: - - ACE_Mem_Map - ACE_Priority_Reactor - ACE_Select_Reactor - ACE_WFMO_Reactor - ACE_XtReactor - ACE_Reactor - ACE_Read_Buffer - ACE_CORBA_Handler - ACE_TSS_TPQ_Entry - ACE_Object_Manager - ACE_File_Lock - ACE_Semaphore - ACE_RW_Mutex - ACE_Mutex - ACE_Null_Barrier - ACE_Null_Condition - ACE_Null_Mutex_Guard - ACE_Event - ACE_Thread_Mutex - ACE_Thread_Mutex_Guard - ACE_Condition_Thread_Mutex - ACE_Recursive_Thread_Mutex - ACE_Barrier - ACE_Condition - - Thanks to Stanley D Leeson for these - suggestions. - -Sat Dec 20 14:57:30 1997 - - * All MSVC 5.0 project files: Removed unnecessary library - inclusions. Most of them are not necessary. Thanks to - Patrick J. McNerthney for suggesting - this. - -Wed Nov 26 15:49:14 1997 David L. Levine - - * ace/IOStream_T.i (recv) affects WIN32 only: fixed typo, - ACE_BIT_ENABLED instead of ACE_BIT_ENTABLED IOStream_T.i. - Thanks to James CE Johnson for reporting this. - - * include/makeinclude/platform_lynxos.GNU: added information - on necessary OS patches. - -Wed Nov 26 09:45:43 1997 Chris Cleeland - - * ace/OS.h (ACE_PROPER_SINGLETON_INSTANTIATION): Corrected - misspelling in the "! defined (MSC_VER)" branch. I just happened - to notice this, so I don't know if anybody ever tried it and it - failed. - -Tue Nov 25 12:07:07 1997 David L. Levine - - * include/makeinclude/platform_osf1_3.2.GNU: updated for - OSF/1 3.2g/CXX 5.7. Thanks to Dani Flexer - for the updates. - -Tue Nov 25 01:07:39 1997 - - * examples/Reactor/Proactor/test_multiple_loops.cpp (main): Made - sure that the Proactor was removed from reactor. - - * ace/WFMO_Reactor.cpp (remove_handler_i, - remove_suspended_handler_i): Make sure to preserve DONT_CALL - with normal event entries. - - * ace/Proactor.cpp: - - - A flag used to indicate when we are shutting down. - - - Made sure to signal the timer event when we are closing down. - - - Thread Manager: don't bother to wait (since the thread may have - already gone). But make sure to close up the descriptor. This - may not be necessary in the future when THR_DETACHED is - correctly implemented. - - * ace/Asynch_IO.h: Changed some code from protected to public. - Even though these functions are really protected, sometimes it - simplifies user code to be able to "fake" a result. Users - should use these with care. - - * examples/Reactor/Proactor/test_proactor.cpp - (handle_write_stream): Added code for partial write to socket. - However it ever seems to do a short write ;-). Also made sure - that the initial data coming from the AcceptEx call is also - dumped to the file. Thanks to Mark Rabotnikov - (mark@netmanage.co.il) for pointing this out. diff --git a/FAQ b/FAQ deleted file mode 100644 index 3eb0a5feeed..00000000000 --- a/FAQ +++ /dev/null @@ -1,1863 +0,0 @@ -There are many changes and improvements in the new version of ACE. -The ChangeLog file contains complete details about all of them. - -I've tested ACE thoroughly on Solaris 2.3 and 2.4 with the SunC++ 4.x -compiler and Centerline 2.x. I've also tested it with the SunC++ 3.x -compiler on the SunOS 4.x platform. However, I've not been able to -test it on other platforms. If anyone has time to do that, and can -report the results back to me I'd appreciate that. - -Please let me know if you have any questions or comments. - - Doug - ----------------------------------------- - -1. SIGHUP - -> 1) Where the heck does the HUP signal get registered for the -> $ACE_ROOT/tests/Service_Configurator/server stuff? I looked there and -> in $ACE_ROOT/libsrc/Service_Configurator. No luck. I guess I am -> just blind from reading. - - Take a look in ./libsrc/Service_Configurator/Service_Config.h. -The constructor for Service_Config is where it happens: - - Service_Config (int ignore_defaults = 0, - size_t size = Service_Config::MAX_SERVICES, - int signum = SIGHUP); - ----------------------------------------- -2. Multi-threaded Signal_Handler support - -> It appears Signal_Handler is -> not setup for multi-threaded apps. How do you handle signals -> in different threads? Do I have to put in the hooks in my app or should -> it go in the Threads arena? - - Ah, good question... My design follows the approach espoused -by Sun. Basically, they suggest that you implement per-thread signal -handling atop of the basic UNIX signal handlers (or in the case of -ACE, the handle_signal() callbacks on Event_Handler subclasses) by -using the thread id returned by thr_self() to index into a search -structure containing the handlers. This should be pretty straight -forward to layer atop the existing ACE Signal_Handler mechanisms. -However, you might ask yourself whether you really want (1) separate -signal handler *functionality* in different threads or (2) different -threads that mask out certain signals. The latter might be easier to -implement and reason about! - ----------------------------------------- -3. Problems compiling ACE with G++ - -> I substituted -lg++ for -lC in macro_wrappers.GNU and ran make. -> -> Most stuff seemed to build. Continually got messages like the following: -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libASX.a: warning: archive has no table of c -> ontents; add one using ranlib(1) -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libThreads.a: warning: archive has no table -> of contents; add one using ranlib(1) -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libSPIPE.a: warning: archive has no table of -> contents; add one using ranlib(1) -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libASX.a: warning: archive has no table of c -> ontents; add one using ranlib(1) -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libThreads.a: warning: archive has no table -> of contents; add one using ranlib(1) -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libSPIPE.a: warning: archive has no table of -> contents; add one using ranlib(1) - -> no matter how many times I used ranlib or removed the libraries and re-compiled -> or whatever. Perhaps these are System V specific and will not work on 4.1.3? - - Yes, that's exactly right. If you look at the files, they all -contain ifdef's for features that aren't included in the -./include/makeinclude/wrapper_macros.GNU file. To make this more -obvious, I've enclosed the following message in the ACE-INSTALL.html file: - - * Sun OS 4.1.x - - Note that on SunOS 4.x you may get warnings from the - linker that "archive has no table of contents; add - one using ranlib(1)" for certain libraries (e.g., - libASX.a, libThreads.a, and libSPIPE.a). This - occurs since SunOS 4.x does not support these features. - -> never able to get .so -- assume these are shared libraries that gcc can not -> deal with. - - Yes, if you use the stock gcc/gas/gnu ld -compiler/assembler/linker, you won't get shared libraries to work. It -is possible to hack this by using the "collect" version of g++. -However, as usual, I strongly advise people to stay away from g++ if -you want to use shared libraries or templates. - -> got some linker errors as follows: -> -> g++ -g -DACE_NTRACE -DACE_HAS_MT_SAFE_SOCKETS -DACE_HAS_NO_T_ERRNO -DACE_HAS_ -> OLD_MALLOC -DACE_HAS_POLL -DACE_HAS_SEMUN -DACE_HAS_SETOWN -DACE_HAS_STRBUF_T - -> DACE_HAS_STREAMS -DACE_HAS_SVR4_DYNAMIC_LINKING -DACE_HAS_TIUSER_H -DACE_HAS_SY -> S_FILIO_H -DACE_PAGE_SIZE=4096 -DACE_HAS_ALLOCA -DACE_HAS_CPLUSPLUS_HEADERS -DA -> CE_HAS_SVR4_SIGNAL_T -DACE_HAS_STRERROR -DMALLOC_STATS -I/usr2/tss/jvm/ACE_wrap -> pers/include -I/usr2/tss/jvm/ACE_wrappers/libsrc/Shared_Malloc -o test_malloc -> .obj/test_malloc.o -L/usr2/tss/jvm/ACE_wrappers/lib -Bstatic -lSemaphores -lS -> hared_Malloc -lShared_Memory -lReactor -lThreads -lMem_Map -lLog_Msg -lFIFO -lI -> PC_SAP -lMisc -lnsl -lg++ -> ld: /usr2/tss/jvm/ACE_wrappers/lib/libThreads.a: warning: archive has no table -> of contents; add one using ranlib(1) -> ld: Undefined symbol -> _free__t6Malloc2Z18Shared_Memory_PoolZ13PROCESS_MUTEXPv -> _free__t6Malloc2Z17Local_Memory_PoolZ10Null_MutexPv -> _malloc__t6Malloc2Z18Shared_Memory_PoolZ13PROCESS_MUTEXUl -> _malloc__t6Malloc2Z17Local_Memory_PoolZ10Null_MutexUl -> _remove__t6Malloc2Z17Local_Memory_PoolZ10Null_Mutex -> ___t6Malloc2Z17Local_Memory_PoolZ10Null_Mutex -> _print_stats__t6Malloc2Z17Local_Memory_PoolZ10Null_Mutex -> _remove__t6Malloc2Z18Shared_Memory_PoolZ13PROCESS_MUTEX -> ___t6Malloc2Z18Shared_Memory_PoolZ13PROCESS_MUTEX -> _print_stats__t6Malloc2Z18Shared_Memory_PoolZ13PROCESS_MUTEX -> collect2: ld returned 2 exit status -> gcc: file path prefix `static' never used -> make[2]: *** [test_malloc] Error 1 -> make[2]: Leaving directory `/usr2/tss/jvm/ACE_wrappers/tests/Shared_Malloc' -> <======== End all: /usr2/tss/jvm/ACE_wrappers/tests/Shared_Malloc - - That looks like a problem that G++ has with templates. I -don't know of any reasonable solution to this problem using g++. - -> Finally decided there was enough stuff that it looked like I might have some -> thing so I tried to run some tests and could not find so much as one piece -> of documentation that might give me some clue about running tests. - -You should take a look at ./tests/Service_Configurator/server/README -file. That explains how to run the more complicated tests. As for -the other tests, it is pretty straight forward if you look at the -./tests/IPC_SAP/SOCK_SAP and ./tests/Reactor/* directory code to -figure out how to run the tests. I don't have a Q/A department, so -any documentation has to come from volunteers. - ----------------------------------------- -4. Is there any docs or man pages on the Log_Record class? - -There is a paper in the C++_wrappers_doc.tar.Z file on ics.uci.edu -called reactor2.ps that has some examples of using Log_Record. The -./apps/Logger directories show several examples using Log_Record. -Finally, the source code for Log_Record is pretty short (though it -clearly could be commented better ;-)). - ----------------------------------------- -5. Signal handling prototypes - -> According to the man page on sigaction on our system, that line -> should look something like the following: -> -> sa.sa_handler = SIG_DFL; - - The problem is that most versions of UNIX I've come across -don't have a correct prototype for this field of struct sigaction. -That's why I define two variants of signal handler typedefs: one that -is a typedef of the "correct version" (which I call SignalHandler) and -one of which is a typedef of the "incorrect version" (which I call -SignalHandlerV). You might check out the sysincludes.h file to see -how it is defining SignalHandlerV and make sure this matches what your -OS/Compiler defines in - ----------------------------------------- -6. Omitting shared libraries - -> Can anyone tell me a way to turn off the creation of the shared libraries -> in the ACE build. - -You can simply comment out the LIB target in the $ACE_ROOT/ace/Makefile -or change the BUILD target from - -BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) - -to - -BUILD = $(VSHLIB) $(SHLIBA) - ----------------------------------------- -7. DCE threading and signal handling - ->Reading the DCE docs leaves me confused as to how to make everyone ->work together in a happy hormonious whole. May basic need is to catch ->asynchronous signals so i can release some global resources before ->the process exits. - -You need to spawn a separate thread to handle signals. As part of -your init, do this: - pthread_create(&tid, thread_attr, signal_catcher, NULL); - pthread_detach(&tid); - -Where signal_catcher is like this: -static void * -signal_catcher(void *arg) -{ - static int catch_sigs[] = { - SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGCHLD - }; - sigset_t catch_these; - int i; - error_status_t st; - - for ( ; ; ) { - sigemptyset(&catch_these); - for (i = 0; i < sizeof catch_sigs / sizeof catch_sigs[0]; i++) - sigaddset(&catch_these, catch_sigs[i]); - i = sigwait(&catch_these); - /* Note continue below, to re-do the loop. */ - switch (i) { - default: - fprintf(stderr, "Caught signal %d. Exiting.\n", i); - CLEANUP_AND_EXIT(); - /* NOTREACHED */ -#if defined(SIGCHLD) - case SIGCHLD: - srvrexec__reap(); - continue; -#endif /* defined(SIGCHLD) */ - } - } - return NULL; -} ----------------------------------------- -8. - -> I have installed ACE2.15.5 on SunOS 4.1.3 with gcc2.6.0. I run the test program -> ---server_test. The static is OK, but error found when I commented out the first -> one and uncommented out the second one in the svc.conf file: -> -> #static Svc_Manager "-d -p 3912" -> dynamic Remote_Brdcast Service_Object * .shobj/Handle_Broadcast.so:remote_broad -> cast "-p 10001" -> -> The error goes like this: -> -> ----------- -> jupiter[12] %server_test -d -> starting up daemon server_test -> opening static service Svc_Manager -> did static on Svc_Manager, error = 0 -> signal signal 1 occurred -> beginning reconfiguration at Sat Feb 25 13:40:29 1995 -> Segmentation fault (core dumped) -> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -My guess is that the code generated by GCC on SunOS 4.x does not -correctly initialize static variables from shared libraries. The -SunC++ 4.0.x compiler does this correctly on Solaris 2.x (though I -believe that on SunOS 4.x it doesn't work without some extra coaxing). - -In general, I try to avoid using ACE's explicit dynamic linking -mechanisms on SunOS 4.x and GCC. You can write plenty of interesting -and useful code with ACE without using those features. Those tests -are mostly there to illustrate the "proof of concept." ----------------------------------------- -9. - -> a) I noticed the default constructor for the reactor does an open w/ defaults. -> Does this mean I need to close it if I wish to re-open it with different -> size and restart values? - - No. With the latest versions of ACE, you can now just call -open() with a new size and it will correctly resize the internal -tables to fit. - -> b) What is the usage difference between the normal FD_Set objects -> (rd/wr/ex_handle_mask_) and the ready FD_Set objects -> (rd/wr/ex_handle_mask_ready)? - - The normal FD_Sets (now called Handle_Set in ACE 3.0.5) holds -the "waitable" descriptors (these are the descriptors given to -select() or poll()). In contrast, the ready FD_Sets may be set by -Event_Handler subclasses (by called the set_ready() API) to indicate -to the Reactor that they want to be redispatched on the next go-round -*without* blocking. If you look at the Reactor code, you'll see that -the wait_for() method checks the ready sets first and doesn't block if -there are any bits set in those masks. This features makes it -possible for Event_Handlers to control subsequent dispatching policies -of the Reactor. - -> c) What does the positive return value do from an event handler callback: -> -1 detaches the event handler for that mask -> 0 does nothing - keeps the event handler registered for that mask -> >0 resets a bit in the current dispatching mask (I think) - does this mean -> this event will be called again before the current dispatch cycle is done? - -Almost... (it's tied in with my description of the ready sets above). -It means that once the Reactor finishes cycling through the set of -descriptors it got back from select() or poll(), it will redispatch -the ready set descriptors before sleeping. - -> Without direct access to the bit masks in X, I'm not sure I could emulate -> this activity - what do you think? - -I'm not sure. I'm not enough of an X guru. Maybe someone else on the -list knows the answer to this? - -> d) If I let X do the select blocking, will that have any affect on -> the Reactor performing signal handling? - - Yes, I think that will cause problems since the Reactor relies -on a "handshake" between its Signal_Handler component and its -handle_events loop to properly handle signals. - -> e) Is the Poll method preferred over Select if it is available - why? - -For systems that implement select() in terms of poll() (e.g., Solaris -2.x) then it may be somewhat faster. Otherwise, it doesn't really -matter since (1) they (should) do the same thing and (2) the end user -shouldn't notice any change in behavior. - ----------------------------------------- -10. - -> I would very much like to evaluate/use the ACE Toolkit, -> but am limited as to disk space on our system. -> What is the total disk space required for a compiled, -> usable toolkit? - -The source code itself is around 2 Meg, uncompressed. - -The compiled version of ACE is around 90 Meg compiled with the SunC++ -4.x compiler (naturally, this will differ with other compilers). -However, of this amount, about 40 meg are for the libraries, and -another 50 meg are for the test programs. Naturally, you don't need -to keep the test programs compiled. - -The postscript documentation is around 5 Meg, compressed. - ----------------------------------------- -11. - -> This is regarding the newer release of ACE and pertaining to the library -> archive file. My question is, if all the ".o" files are archived into one -> single "libACE.a", does it increase the size of the executable program? - -No. The use of a *.a file allows the linker to extract out only those -*.o files that are actually used by the program. - -> If it does, then does a large executable program mean possibility of it being -> slower? - - No. - ----------------------------------------- -12. - -> What happens if I have several reactors in a process (e.g. in different -> threads)? -> -> Programmer 1 decides to register at reactor 1 in his thread 1 a signal handler -> for SIGUSR. -> Programmer 2 decides to register at reactor 2 in his thread 2 a signal handler -> for SIGUSR. - - Naturally, the behavior of this all depends on the semantics -of the threads package... In Solaris 2.x, signal handlers are shared -by all threads. Moreover, the Reactor uses a static table to hold the -thread handlers. Thus, only one of the handler's would be registered -(i.e., whichever one was registered second). - -> Programmer 3 designs the process and decides to have thread 1 and thread 2 -> running in the same process and also makes use of a third party software library -> that internally has also registered a signal handler (not at the reactor) for -> SIGUSR. - - Now you've got big problems! This is an example of a -limitation with UNIX signal handlers... In general, it's a bad idea -to use signal handlers if you can avoid it. This is yet another -reason why. - -> When looking into Ace/ACE_wrappers/tests/Reactor/misc/signal_tester.C you -> have shown a way to do this by marking the dummy file_descriptor of the -> Sig_Handler object ready for reading asynchronously. The handle_input() -> routine of Sig_Handler object will then be dispatched synchronously. -> But what happens if I have several reactors. -> The asynchronously dispatched -> handle_signal() routine does not know via which reactor it has been registered -> so in which reactor to modify the dummy file_descriptor. -> Is your suggestion to have just one process global reactor in such a case? - - Yes, precisely. I would *strongly* recommend against using -several reactors within separate threads within the same process if -you are going to be having them handle signals. Can you use 1 -reactor and/or have one reactor handle signals within a process? - -> One thing we want to do is the priorization of Event_Handlers. I.e. in case -> of concurrent events the sequence in which the Event_Handler methods will be -> activated depends on their priority relative to each other. -> We have two choices: -> - complete priorization, which means a high priority Input Event_Handler may -> be activated prior to a lower prioritized Output Event_Handler (and doing -> so violating the 'hardcoded rule' that output must be done prior to input). -> - priorization only in categories, which means all Output Event_handler are -> ordered by their priority regardless of priorities for the category of Input -> Event_Handlers. The priority is fixed between the categories, i.e. first -> output then input then out-of-band. -> -> Right now I would think that we have to use the second choice if we want to -> use the feature of asynchronous output with automatical re-queueing. Am I right -> ? - - Hum, that's an interesting problem. It might be better to -subclass the Reactor to form a new class called Priority_Reactor. -This subclass would override the Reactor's dispatch method and -dispatch the event handlers in "priority" order. I've never done -that, but I don't think it would be all that difficult. - ----------------------------------------- -13. - -> Is the non CORBA version still aroung? I think I still need it from the -> follow error, or is something else? - -Aha, there are two ways to get around this problem: - -1. Set your ORBIX_ROOT environment variable to the location of the - Orbix release (e.g., /opt/Orbix). Naturally, this only works - if you've got Orbix installed on your machine. - -2. If you don't have Orbix, then to get rid of that problem all you - need to do is change the symbolic links on the - -./include/config.h -./include/makeinclude/platform_macros.GNU - -files to - -./include/config-sunos5-sunc++-4.x -./include/makeinclude/platform_sunos5_sunc++.GNU - -rather than the *-orbix* versions, which they point to by default. -And then recompile ACE. ----------------------------------------- -14. -> We are using your ACE software and ran into a problem which may or may not -> be related to the mutex locks. The question may have more to do with how -> mutex locks should be used. We had a class which was using your mutex -> lock wrapper. Each member function of the class acquired the lock before -> processing and released on exiting the function. Some member functions may -> call other member functions. The following is an example: -> -> class foo { -> -> void a() -> { -> MT( Mutex_Block m( this->lock_ )); -> -> if( cond ) -> b(); -> } -> -> void b() -> { -> MT( Mutex_Block m( this->lock_ )); -> -> if( cond ) -> a(); -> } -> -> }; -> -> Is this valid ? My assumtpion is that the mutex lock is recursive and -> the same thread can acquire the lock multiple times in different member -> functions. - - Ah, that's a great question since there are subtle and -pernicious problems lurking in the approach you are trying above. -Basically, Solaris mutex locks are *not* recursive (don't ask why...) -Thus, if you want to design an application like the one above you'll -need to use one or more of the following patterns: - ----------------------------------------- -A. Use recursive mutexes. Although these are not available in - Solaris directly they are supported in the later versions - of ACE. You might want to take a look at the latest - version (./gnu/ACE-3.1.9.tar.Z). It's got lots of new - support for threading and synchronization. In that case, - you simply do the following: - - class Foo - { - public: - void a() - { - MT( Guard > m( this->lock_ )); - b (); - } - - void b() - { - MT( Guard > m( this->lock_ )); - b_i (); - } - - }; - - The advantage with this is that it requires almost no - changes to existing code. The disadvantage is that - recursive locks are just slightly more expensive. - -B. Have two layers of methods (a) which are public and acquire - the Mutex and then call down to methods in layer (b), which - are private and do all the work. Methods in layer b assume - that the locks are held. This avoids the deadlock problem - caused by non-recursive mutexes. Here's what this approach - looks like (using the more recent ACE class names): - - class Foo - { - public: - void b() - { - MT( Guard m( this->lock_ )); - b_i (); - } - - void b_i() - { - if( cond ) - a_i(); - } - - void a_i() - { - if( cond ) - b_i(); - } - - void a() - { - MT( Guard m( this->lock_ )); - a_i (); - } - - }; - - The advantage here is that inline functions can basically - remove all performance overhead. The disadvantage is that - you need to maintain two sets of interfaces. - -C. Yet another approach is to release locks when calling - other methods, like this: - - class Foo - { - public: - void b() - { - MT( Guard m( this->lock_ )); - m.release (); - a (); - m.acquire (); - } - - void a() - { - MT( Guard m( this->lock_ )); - m.release (); - b (); - m.acquire (); - } - - }; - - The disadvantage with this, of course, is that you - greatly increase your locking overhead. In addition, - you need to be very careful about introducing race - conditions into the code. The primary reason for - using this approach is if you need to call back to - code that you don't have any control over (such as - OS I/O routines) and you don't want to hold the - lock for an indefinite period of time. ----------------------------------------- - - BTW, all three of these patterns are used in the ACE Reactor -class category. The Reactor has a number of fairly complex -concurrency control and callback issues it must deal with and I've -found it useful to use all three of these patterns jointly. - - I'd be interested to hear any comments on these approaches. - - Doug ----------------------------------------- -15. - -> I am working on Solaris 2.3 and trying to understand how to get around -> the problem of trying to open a Socket connection to a remote host that -> is "dead". Of course you get a nice long process block if the socket -> is in Blocking mode (TCP lets you know when you can continue - how polite). -> -> So how does a non-blocking connect work with respect to using -> the Reactor and a SOCK_Stream object to coordinate the opening -> of the connection? Do I wait on the OUTPUT event for the FD? -> How do I know if the connect worked or possibly timed-out? Is -> this a reliable approach (I read somewhere that this will only -> work if the STREAMS module is at the top of the protocol stack -> - MAN page I think)? - -An example of implementing this is in the Gateway sample application -in the new ACE. It's also encapsulated in the Connector<> pattern of -the Connection class category in ./libsrc/Connection. You may want to -take a look at those two things for concrete usage examples. - -However, the basics of getting non-blocking to work are: -- set socket to non-blocking -- initiate connect() request -- if connect() returned 0 you're connected -- if connect() returned -1 and errno is EWOULDBLOCK (or EAGAIN, depending -on where you are), then register an event handler for read and write events -on the socket -- any other errno value is fatal - -When an event is returned -- no matter which event you get back (read or write), you may have gotten -the event out of error. Thus, re-attempt the connect() and check to see if -errno is EISCONN (if it's not there's a problem!) -- if errno was EISCONN, the connection is ready to go, otherwise you must -handle an error condition - -If you want to "time out" after a certain period of time, consider -registering for a timer event with Reactor. If the timer goes off before -the connection succeeds, close down the appropriate socket. - -> Is using a separate thread to make the connection a better way to avoid -> the potentialy long block in the main thread during the connect call? - -You could do that, but it can all be accomplised in a single process using -the facilities available. ----------------------------------------- -16. - -> I was wondering, does the Reactor class have the ability to prioritize -> activity on the registered event handlers? - - The default strategy for the Reactor's dispatch routine -(Reactor::dispatch) does not prioritize dispatching other than to -dispatch callbacks in ascending order from 0 -> maxhandlep1. - -> We have a requirment to be able to process both real-time, as well as, stored -> telemetry and ERMs concurrently. Real-time needs to be processed at a higher -> priority than stored data. Our design is based on both real-time and stored -> data coming into our process via separate sockets. - - I can think of several ways to do this: - - 1. Use dup() or dup2() to organize your sockets such that the - higher priority sockets come first in the Handle_Sets that - the Reactor uses to dispatch sockets. This is pretty easy - if you don't want to muck with the Reactor code at all. - - 2. You could subclass Reactor::dispatch() and revise it so - that it dispatches according to some other criteria that - you define in order to ensure your prioritization of - sockets. - -BTW, I'm not sure what you mean by "real-time" but I assume that you -are aware that there is no true "real-time" scheduling for network I/O -in Solaris. However, if by "real-time" you mean "higher priority" -then either of the above strategies should work fine. ----------------------------------------- -17. - -> I compiled the new ACE 3.2.0 's apps/Gateway. The compiling went -> through without any errors. But I could not get it running, neither single -> threaded nor multi-threaded. The cc_config and rt_config files entries are given -> below. Also the machine configurations are given below. Does it need some more -> settings or some patch !!?? - - I believe you are seeing the effects of the dreaded Sun MP bug -with non-blocking connects. The easy work around for now is simply to -give the "-b" option to the Gateway::init() routine via the svc.conf -file: - -dynamic Gateway Service_Object *.shobj/Gateway.so:_alloc_gatewayd() active - "-b -d -c cc_config -f rt_config" - -If you check line 137 of the Gateway::parse_args() method you'll see -what this does. ----------------------------------------- -18. - -How to get ACE to work with GCC C++ templates. - -The first and foremost thing to do is to get the latest version of GCC -(2.7.2) and also get the template repository patches from - -ftp://ftp.cygnus.com/pub/g++/gcc-2.7.1-repo.gz - -This will get the ball rolling... - -Here is some more info on G++ templates courtesy of Medhi TABATABAI -: - -Where's the Template? -===================== - - C++ templates are the first language feature to require more -intelligence from the environment than one usually finds on a UNIX -system. Somehow the compiler and linker have to make sure that each -template instance occurs exactly once in the executable if it is -needed, and not at all otherwise. There are two basic approaches to -this problem, which I will refer to as the Borland model and the -Cfront model. - -Borland model - Borland C++ solved the template instantiation problem by adding - the code equivalent of common blocks to their linker; template - instances are emitted in each translation unit that uses them, and - they are collapsed together at run time. The advantage of this - model is that the linker only has to consider the object files - themselves; there is no external complexity to worry about. This - disadvantage is that compilation time is increased because the - template code is being compiled repeatedly. Code written for this - model tends to include definitions of all member templates in the - header file, since they must be seen to be compiled. - -Cfront model - The AT&T C++ translator, Cfront, solved the template instantiation - problem by creating the notion of a template repository, an - automatically maintained place where template instances are - stored. As individual object files are built, notes are placed in - the repository to record where templates and potential type - arguments were seen so that the subsequent instantiation step - knows where to find them. At link time, any needed instances are - generated and linked in. The advantages of this model are more - optimal compilation speed and the ability to use the system - linker; to implement the Borland model a compiler vendor also - needs to replace the linker. The disadvantages are vastly - increased complexity, and thus potential for error; theoretically, - this should be just as transparent, but in practice it has been - very difficult to build multiple programs in one directory and one - program in multiple directories using Cfront. Code written for - this model tends to separate definitions of non-inline member - templates into a separate file, which is magically found by the - link preprocessor when a template needs to be instantiated. - - Currently, g++ implements neither automatic model. The g++ team -hopes to have a repository working for 2.7.0. In the mean time, you -have three options for dealing with template instantiations: - - 1. Do nothing. Pretend g++ does implement automatic instantiation - management. Code written for the Borland model will work fine, but - each translation unit will contain instances of each of the - templates it uses. In a large program, this can lead to an - unacceptable amount of code duplication. - - 2. Add `#pragma interface' to all files containing template - definitions. For each of these files, add `#pragma implementation - "FILENAME"' to the top of some `.C' file which `#include's it. - Then compile everything with -fexternal-templates. The templates - will then only be expanded in the translation unit which - implements them (i.e. has a `#pragma implementation' line for the - file where they live); all other files will use external - references. If you're lucky, everything should work properly. If - you get undefined symbol errors, you need to make sure that each - template instance which is used in the program is used in the file - which implements that template. If you don't have any use for a - particular instance in that file, you can just instantiate it - explicitly, using the syntax from the latest C++ working paper: - - template class A; - template ostream& operator << (ostream&, const A&); - - This strategy will work with code written for either model. If - you are using code written for the Cfront model, the file - containing a class template and the file containing its member - templates should be implemented in the same translation unit. - - A slight variation on this approach is to use the flag - -falt-external-templates instead; this flag causes template - instances to be emitted in the translation unit that implements - the header where they are first instantiated, rather than the one - which implements the file where the templates are defined. This - header must be the same in all translation units, or things are - likely to break. - - *See Declarations and Definitions in One Header: C++ Interface, - for more discussion of these pragmas. - - 3. Explicitly instantiate all the template instances you use, and - compile with -fno-implicit-templates. This is probably your best - bet; it may require more knowledge of exactly which templates you - are using, but it's less mysterious than the previous approach, - and it doesn't require any `#pragma's or other g++-specific code. - You can scatter the instantiations throughout your program, you - can create one big file to do all the instantiations, or you can - create tiny files like - - #include "Foo.h" - #include "Foo.cc" - - template class Foo; - - for each instance you need, and create a template instantiation - library from those. I'm partial to the last, but your mileage may - vary. If you are using Cfront-model code, you can probably get - away with not using -fno-implicit-templates when compiling files - that don't `#include' the member template definitions. - -4. Placing a function that looks like this near the top of a .C file - that uses any inline template member functions permits proper inlining: - - // #ifdef __GNUG__ - // This function works around the g++ problem with inline template member - // calls not being inlined ONLY in the first block (in a compilation - // unit) from which they are called. - // This function is inline and is never called, so it does not produce - // any executable code. The "if" statements avoid compiler warnings about - // unused variables. - inline - void - gcc_inline_template_member_function_instantiator() - { - if ( (List *) 0 ); - } - // #endif // __GNUG__ - - other prerequisites: - -- All inline template member functions should be defined in - the template class header. Otherwise, g++ will not inline - nested inline template member function calls. - -- Template .h and .C files should NOT include iostream.h - (and therefore debugging.h). - This is because iostream.h indirectly includes other - GNU headers that have unprotected #pragma interface, - which is incompatible with -fno-implicit-templates and optimal - space savings. - -- inline virtual destructors will not be inlined, unless necessary, - if you want to save every last byte - -- be sure that -Winline is enabled - ----------------------------------------- -19. - -> 1. when are dynamically loaded objects removed from the Service_Config. - -The Service Configurator calls dlclose() when a "remove Service_Name" -directive is encountered in the svc.conf file (or programmatically -when the Service_Config::remove() method is invoked). Check out the -code in ./libsrc/Service_Config/Service_Repository.i and -./libsrc/Service_Config/Service_Config.i to see exactly what happens. - -> 2. In the Service Configurator, when an item is entered in the svc.conf -> how dow you know which items will be invoked as threads and -> which items are forked. I know that static items are executed -> internally. - - No! It's totally up to the subclass of Service_Object to -decide whetehr threading/forking/single-threading is used. Check out -the ./apps/Logger/Service_Configurator_Logger for examples of -single-threaded and multi-threaded configuration. ----------------------------------------- -20. - -> I have been reading the Service Configurator Logger. I was wondering about -> cleanup of new objects. In the handle_input method for the Acceptor a new -> svc_handler is allocated for each new input request and deleted in the -> handle_close. I was wondering how handle close was called when a client who -> has created a socket terminates the connection (i.e., when is handle_close -> called). - -handle_close() is automatically called by the Reactor when a -handle_input()/handle_output()/etc. method returns -1. This is the -"hook" that instructs the Reactor to call handle_**() and then remove -the Event_Handler object from its internal tables. - ----------------------------------------- -21. - -> How does the Logger know to remove the client socket and the svc_handler object. -> Does he recieve an exception. - - No. when the client terminates the underlying TCP/IP -implementation sends a RESET message to the logger host. This is -delivered to the logger process as a 0-sized read(). It then knows to -close down. - -> What I am worried about is a leak. Where by alot of clients connect and -> disconnect and the server does not cleanup correctly. Such as a core dump -> from the client where he cannot close correctly. - - That's handled by the underlying TCP (assuming it is -implemented correctly...). - -> What I am doing is attempting to convert the logger example into an alarm -> manager for remote nodes. In this application a node may be powered down -> there by terminating a Logger/Alarm server connection abnormally, this could -> leave the Logger with many dangling sockets and allocated svc_handler objects. - - If the TCP implementation doesn't handle this correctly then -the standard way of dealing with it is to have an Event_Handler use a -watchdog timer to periodically "poll" the client to make sure it is -still connected. BTW, PCs tend to have more problems with this than -UNIX boxes since when they are turned off the TCP implementation may -not be able to send a RESET... ----------------------------------------- -22. - -Using templates with Centerline. - -Centerline uses ptlink to process the C++ templates. ptlink expect the -template declarations and definitions (app.h and app.C) to reside in -the same directory. This works fine for the ACE hierarchy since -everything is a link to the appropriate src directory (include/*.[hi] ---> ../src/). When a users of the ACE distribution attempts to include -the ACE classes in an existing application hierarchy this problem will -arise if ptlink is used. - -The solution is to create a link to the declaration file from the -definition file directory and use the "-I" to point to the definition -directory. - ----------------------------------------- - -23. - -> When I try to compile $ACE_ROOT/src/Message_Queue.C on a Solaris -> 5.3 system using SUNPro CC 4.0, the compiler aborts with a Signal 10 -> (Bus Error). Our copy of CC 4.0 is over a year old and I do not -> know if any patches or upgrades exist for it. If they do, then we -> have not applied them to our compiler. - - Several other people have run across this as well. It turns -out that there is a bug in the Sun 4.0.0 C++ compiler that will get a -bus error when -g is used. If you compilg Message_Queue.C *without* --g then it works fine. The later versions of SunC++ don't have this -bug. I'd recommend that you upgrade as soon as possible. - ----------------------------------------- - -24. - -> I have added a dynamic service to the Service Configurator. This new service -> fails on the load because it uses application libraries that are not shared -> object libraries (i.e., objects in libApp.a). I am assuming from the error -> message that the problem is the mix match of shared and non-shared objects. - - Right, exactly. - -> I was wondering if there is an easy way to add static services to the -> Service Configurator. The example directory listing static service is -> very tightly coupled with the Service_Config object. Is there another -> way of adding static services. - - Sure, that's easy. The best way to do this is to use the -interfaces of the Service_Respository class to configure static -services into the Service_Config. A good example of how to do this is -in Service_Config.[Chi]: - -int -Service_Config::load_defaults (void) -{ - for (Static_Svc_Descriptor *sl = Service_Config::service_list_; sl->name_ != 0; sl++) - { - Service_Type *stp = ace_create_service_type (sl->name_, sl->type_, - (const void *) (*sl->alloc_)(), - sl->flags_); - if (stp == 0) - continue; - - const Service_Record *sr = new Service_Record (sl->name_, stp, 0, sl->active_); - - if (Service_Config::svc_rep->insert (sr) == -1) - return -1; - } - return 0; -} - ----------------------------------------- -25. - -> 8. Do you have examples of the SYNC/ASYNC pattern? - - Yes. Check out the following: - - 1. The latest version of ./apps/Gateway/Gateway has - an example of this when you compile with the USE_OUTPUT_MT - flag. In this case, the Reactor performs the "Async" - processing, which multiplexes all incoming messages from peers - arriving on Input_Channels. These messages are then queued - up at the appropriate Output_Channels. Each Output_Channel - runs in a separate thread, performing the "Sync" - processing. - - 2. Also, the latest version of the OOCP-tutorial4.ps.gz - file available from wuarchive.wustl.edu in the - directory /languages/c++/ACE/ACE-documentation shows - an example of using the Half-Sync/Half-Async pattern - to build an Image Server. I'm using this as an - example in my tutorials these days. - ----------------------------------------- -26. - -> We had a discussion about something we saw in the new ACE code. -> I thing there was a member function of a class that was doing a -> "delete this". Is this safe? - -In general it is safe as long as (1) the object has been allocated -dynamically off the heap and (2) you don't try to access the object -after it has been deleted. You'll note that I tend to use this idiom -in places where an object is registered with the Reactor, which must -then must ensure the object cleans itself up when handle_close() is -called. Note that to ensure (1) I try to declare the destructor -"private" or "protected" so that the object must be allocated off the -heap (some compilers have a problem with this, so I may not be as -consistent as I ought to...). - ----------------------------------------- -27. - -> 5. What is the correct way for building a modified ACE library? -> Changing in "libsrc" or in "include" directory? -> When I make a complete new directory, how can I get introduced -> the dependencies within my new makefile, can you give a short hint? - -Sure, no problem. For instance, here's what I did tonight when I -added the new Thread_Specific.[hiC] files to ACE: - - 1. Created three new files Thread_Specific.[hiC] in - ./libsrc/Threads. - - 2. cd'd to ../../include/ace and did a - - % ln -s ../../libsrc/Threads/Thread_Specific.[hi] . - - 3. cd'd to ../../src and did a - - % ln -s ../../libsrc/Threads/Thread_Specific.C . - - 4. then I did - - % make depend - - on the ./src directory, which updated the dependencies. - ----------------------------------------- -28. The following is from Neil B. Cohen (nbc@metsci.com), who is - writing about how to work around problems he's found with HP/UX. - -I've been trying to compile the latest beta (3.2.9) on an HP running -HPUX9.05 for the past week or so. I've had problems with templates up -and down the line. I finally discovered (after some discussions with -the HP support people) that they have made numerous changes to their -C++ compiler recently to fix problems with templates and -exceptions. If you are trying to compile ACE under HPUX with anything -less than version 3.70 of the HP compiler, you may have serious -problems (we were using v3.50 which came with the machine when we -bought it a few months ago). - -Also, unlike earlier ACE versions, I was forced to add the following -line to the rules.lib.GNU file to "close" the library - ie. force the -various template files to be instantiated and linked to the ACE -library itself. I don't know if this is necessary, or the only way to -make things work, but it seems to do the job for my system. - -in rules.lib.GNU... - -$(VLIB): $(VOBJS) - - CC -pts -pth -ptb -ptv -I$(ACE_ROOT)/include $(VOBJS) - $(AR) $(ARFLAGS) $@ $? ./ptrepository/*.o - -$(RANLIB) $@ - -chmod a+r $@ - -I added the CC line, and added the "./ptrepository/*.o" to the $(AR) -cmd. Sun has an -xar option, I believe that does something similar to -this. Also - note that I'm not sure that the "-ptb" option is -necessary. I added that before we upgraded the compiler, so it may not -be needed now... - ----------------------------------------- -29. - -> I just ran my program with Purify, and it is telling me that there -> is at least one large (~4k) memory leak in -> ACE_Thread_Specific. This may or may not be serious, -> but it is probably worth looking into. - -Right, that's ok. This is data that's allocated on a "per-thread" -basis the first time a thread makes a call using the LM_ERROR or -LM_DEBUG macros. The data isn't freed-up until the thread exits. - ----------------------------------------- - -30. - -> In my trying to use the Reactor pattern for my application I -> noticed that I had to couple my eventHandler derived objects with a -> specific IPC_SAP mechanism. To use some of your own examples your -> Client_Stream object contains a TLI_Stream object to use in data -> transfer. My application calls for determining the communication -> mechanism at run time. To do this my eventHandler must be able to -> create the appropriate IPC_Stream object at run time and use its -> methods through a super class casting. The problem is that there is no -> super class with the virtual methods for send, recv, etc. To solve my -> problem I will create that super class and have the TLI ( as well as -> other wrapper objects) inherit from it instead of IPC_SAP. My question -> is I am suspicious of why ACE wasn't designed with that in mind? Is my -> application that unique ? or is there a better way to do this that I -> am not aware of ? Your help in this matter will be much appreciated. - -ACE was developed using static binding for IPC_SAP in order to -emphasize speed of execution over dynamic flexibility *in the core -infrastructure*. To do otherwise would have penalized the performance -of *all* applications in order to handle the relatively infrequent -case where you want to be able to swap mechanisms at run-time. - -Since it is straightforward to create an abstract class like the one -you describe above I decided to make this a "layered" service rather -than use this mechanism in the core of ACE. - -BTW, I would not modify TLI_SAP and SOCK_SAP to inherit from a new -class. Instead, I would use the Bridge and Adapter patterns from the -"Gang of Four" patterns catalog and do something like this: - ----------------------------------------- -// Abstract base class -class ACE_IPC_Stream -{ -public: - virtual ssize_t recv (void *buf, size_t bytes) = 0; - virtual ssize_t send (const void *buf, size_t bytes) = 0; - virtual ACE_HANDLE get_handle (void) const = 0; - // ... -}; ----------------------------------------- - -and then create new classes like - ----------------------------------------- -template -class ACE_IPC_Stream_T : public ACE_IPC_Stream -{ -public: - virtual ssize_t recv (void *buf, size_t bytes) - { - return this->ipc_.recv (buf, bytes); - } - - virtual ssize_t send (const void *buf, size_t bytes) - { - return this->ipc_.send (buf, bytes); - } - - virtual ACE_HANDLE get_handle (void) - { - return this->ipc_.get_handle (); - } - // ... - -private: - IPC ipc_; - // Target of delegation - // (e.g., ACE_SOCK_Stream or ACE_TLI_Stream). -} ----------------------------------------- - -Then you could write code that operated on ACE_SAP *'s to get a -generic interface, but that reused existing code like SOCK_SAP and -TLI_SAP, e.g., - ----------------------------------------- -class My_Event_Handler : public ACE_Event_Handler -{ -public: - My_Event_Handler (void) { - // Figure out which IPC mechanism to use somehow: - - if (use_tli) - this->my_ipc_ = new ACE_SAP_IPC; - else if (use_sockets) - this->my_ipc_ = new ACE_SAP_IPC; - else - ... - } - -private: - ACE_IPC_Stream *my_ipc_; -}; ----------------------------------------- - -There are obviously details left out here, but this is the general idea. - ----------------------------------------- -31. - -> I was trying to view your 'Writting example applications in CORBA' article -> /tutorial using ghostview but the .ps file seems to be corrupted ( I tried to -> ftp it more than once). Any help would be much appreciated. - -There are two solutions to this problem (which seems to be caused by a -weird interaction between ghostview and the "psnup" program I use to -generate the slides 4-up on a page): - - 1. If you want to print them or view them 1-up on a page you - can edit the postscript file and remove the first 551 - lines or so (which are generated by the psnup script). - This will cause the document to be printed 1-up rather than - 4-up. - - 2. You can try to print the 4-up file on a postscript printer. - Believe it or not, this typically works, even though ghostview - can't handle it! - ----------------------------------------- -32. - -> We would like to use the Reactor class as a static member on some of -> our classes (one per process) so that we can see and use the Reactor -> witnin each process on a global level. We are using it to set -> timers several levels down in our class trees and don't want to pass -> a pointer to it through all of our constructors. My question is: -> are there any static initialization dependencies that you know of -> when using the default "do nothing" constructor of the Reactor that -> could prevent use from using it as a static member variable? Thanks -> for any advice on this issue. - -The only problems you'll have are the typical ones about "order of -initialization" of statics in separate files. You'll also have to -live with the default size of the I/O handler table, which probably -isn't a problem since the max is something like 1024 or so. - -BTW, I solve this problem in ACE via the Service_Config::reactor, -which is a static *pointer* to a Reactor. If you really wanted to -make this work nicely, you could use the Singleton pattern from the -"Gang of Four" patterns catalog. That should solve your problem even -more elegantly! - ----------------------------------------- -33. -> I just got the ACE-3.3 version and am trying it on the HP-UX. -> I run into a small problem while cloning the directories that -> might be worth fixing. -> -> I made a directory called ACE_WRAPPERS/HP-UXA.09.05-g1, cd to it -> and run "make -f ../Makefile clone". when I look in src, I have: -> Acceptor.C@ -> ../libsrc/Connection/Acceptor.C -> -> However, ../libsrc does not exist. It is not one of the CLONE -> variables in ACE_WRAPPERS/Makefile. I don't think you'd want to -> clone libsrc too, since its files don't change. - -I think you can solve this problem as follows: - -% cd ACE_WRAPPERS -% setenv ACE_ROOT $cwd -% cd HP-UXA.09.05-g1 -% make -f ../Makefile clone -% setenv ACE_ROOT $cwd -% make - -That should build the links correctly since they'll point to the -absolute, rather than relative, pathnames! - ----------------------------------------- -34. - -> Our quality personal has asked me the following questions for which -> I think you are the right guy for answering that: - -> o How long is ACE used in industrial products? - -It was first used at Ericsson starting in the fall of 1992, so that -makes it about 3 years now. - -> o What are reference projects comparable to ours that use ACE? - -The ones I have directly worked with include: - -Motorola -- satellite communication control -Kodak Health Imaging Systems -- enterprise medical imaging -Siemens -- enterprise medical imaging -Ericsson/GE Mobile Communications -- telecommunication switch management -Bellcore -- ATM switch signal software - -In addition, there are probably about 100 or more other companies that -have used ACE in commercial products. The current mailing list has -about 300 people from about 230 different companies and universities. -If you'd like additional info, please let me know. - -> o How many persons have contributed on testing and writing error -> reports for ACE? - -Around 60 or so. All the contributors are listed by name and email -address at the end of the README file distributed with the ACE release. - -> o How many bug fixes have been made since ACE was public domain? - -All information related to bug fixes is available in the ChangeLog -file distributed with the ACE release (I could count these for you if -you need that level of detail). - -> o How many literature is there on ACE? - -All articles published about ACE are referenced in the BIBLIOGRAPHY -file in the top-level directory of ACE. - ----------------------------------------- - -35. - -> We are currently evaluating ACE for use on a new telecom switch. -> Many of us like ACE but are having trouble convincing some team -> members that wrappers are better than using the direct Unix -> system calls. - -> I have read your papers that came with ACE, but was wondering if there -> are other papers that address the benefits (or problems) of wrappers? - -This topic has been discussed in other places, most notably the book -by Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides -called "Design Patterns: Elements of Reusable Object-Oriented -Software" (Addison-Wesley, 1994), where it is described in terms of -the "Adapter" pattern. - -Very briefly, there are several key reasons why you should *not* use -UNIX system calls directly (regardless of whether you use ACE or not). - -1. Portability -- - - Unless you plan to develop code on only 1 UNIX platform (and - you never plan to upgrade from that platform as it goes - through new releases of the OS) you'll run across many, many - non-portable features. It's beyond the scope of this - FAQ to name them all, but just take a look at ACE sometime - and you'll see all the #ifdefs I've had to add to deal with - non-compatible OSs and compilers. Most of these are centralized - in one place in ACE (in the ace/OS.*files), but it took a lot - of work to factor this out. By using wrappers, you can avoid - most of this problem in the bulk of your application code - and avoid revisiting all of these issues yourself. - - In addition, ACE is now ported to other platforms (e.g., - Windows NT and Windows 95). If you want to write code that - is portable across platforms, wrappers are a good way to - accomplish this. - -2. Ease of programming -- - - I'd go as far as to say that anyone who wants to program - applications using C-level APIs like sockets or TLI is not - serious about developing industrial strength, robust, and easy - to maintain software. Sockets and TLI are *incredibly* - error-prone and tedious to use, in addition to being - non-portable. I've got a paper that discusses this in detail - at URL http://www.cs.wustl.edu/~schmidt/COOTS-95.ps.gz. - -3. Incorporation with higher-level patterns and programming methods -- - - Here's where the Adapter pattern stuff really pays - off. For example, by making all the UNIX network - programming interfaces and synchronization mechanisms - have the same API I can write very powerful higher-level - patterns (e.g., Connector and Acceptor) that generalize - over these mechanisms. For proof of this, take a look - at the ./tests/Connection/non_blocking directory - in the latest ACE-beta.tar.gz at wuarchive.wustl.edu - in the /languages/c++/ACE directory. It implements - the same exact program that can be parameterized - with sockets, TLI, and STREAM pipes *without* - modifying any application source code. It is - literally impossible to do this without wrappers. - ----------------------------------------- -36. - -> How can I use a kind of "Reactor" in such a way that a reading -> thread can notice the arrival of new data on several shared memory -> areas ? - -Ah, that is a tricky issue! The underlying problem is that UNIX is -inconsistent with respect to the ability to "wait" on different -sources of events. In this case, Windows NT is much more consistent -(but it has its own set of problems...). - -> Poll, Select and Reactor (so far I read) assume that file -> descriptors are present, which is not the case with shared memory. - -That's correct (though to be more precise, the Reactor can also deal -with signals, as I discuss below). - -> Is there a common and efficient way to deal with that kind of -> situation, or do I have to insert extra ipc mechanisms (based on -> descriptors) ? - -There are several solutions: - -1. Use the Reactor's signal handling capability (see the - ./tests/Reactor/misc/signal_tester.C for an example) - and have the process/thread that writes to shared - data send a signal to the reader process(es). The - disadvantage of this is that your code needs to - be signal-safe now... - -2. Use a combination of SPIPE_Streams and the Reactor - to implement a simple "notification protocol," e.g., - the receiver process has an Event_Handler with a - SPIPE_Stream in it that can be notified when the - sender process writes data to shared memory. - The disadvantage here is that there's an extra - trip through the kernel, though the overhead - is very small since you only need to send 1 byte. - -3. Use threads and either bypass the Reactor altogether - or integrate the threads with the Reactor using its - Reactor::notify() mechanism (see the - ./tests/Reactor/misc/notification.C file for an - example of how Reactor::notify() works). The - disadvantage of this approach is that it won't - work for platforms that lack threads. - ----------------------------------------- -37. - -> What do you think about wrapping communication methodologies in C++ streams? -> What I mean is having defining a stream and extractor/insertor functions -> which the underlying implementation reads/writes on comm mechanisms instead of -> files. I would think this to be a very general interface for all comms -> implementations. All user code would look the same, but the underlying stream -> implementations would be different. Whether the stream functionality would -> be defined by the stream itself (eg tcpstream) or with manipulators -> (eg commstream cs; cs << tcp;) is up for grabs in my mind. -> -> Anyhow, I was wondering your input... - -That technique has been used for a long time. In fact, there are -several freely available versions of iostreams that do this and -RogueWave also sells a new product (Net.h++) that does this. I think -this approach is fine for simple applications. - -However, it doesn't really work well if you need to write -sophisticated distributed applications that must use features like -non-blocking I/O, concurrency, or that must be highly robust against -the types of errors that occur in a distributed system. - -For these kinds of systems you either need some type of ORB, or you -need to write the apps with lower-level C++ wrappers like the ones -provided by ACE. - ----------------------------------------- - -38. - -> What is the difference between cont() and next() in an ACE_Message_Block? - -Ah, good question. cont() gives you a pointer to the next -Message_Block in a chain of Message_Block fragments that all belong to -the same logical message. In contrast, next() (and prev()) return -pointers to the next (and previous) Message_Block in the doubly linked -list of Message_Blocks on a Message_Queue. - -BTW, this is *exactly* the same structure as in System V Streams... - -> Which would I use if I wanted to add a header and a trailer, each stored in -> ACE_Message_Blocks of their own, to another ACE_Message_Block? - -You should use cont() for that. Does that make sense? ----------------------------------------- - -39. - -> I think that your site is cool, but it's being a terrible tease in -> that I really want to read the contents, but don't know anything -> about x-gzip formatting. I'm running Netscape 2.0 under MS Windows -> NT. - -To view PostScript files under Win32 you will need a PostScript -viewer such as GSview. You can find GSview and Ghostscript (which is -needed to run GSview) at http://www.cs.wisc.edu/~ghost/. - -It seems that both Netscape and Internet Explorer mangles the names -of downloaded files to reflect their content type, so *.ps.gz files -are saved as *_ps.ps instead. Fortunately, GSview as of version 2.2 -supports gzip compressed postscript. When set up as a viewer for -Postscript files, files with mangled names can be viewed by GSview -without any preprocessing. - ----------------------------------------- - -40. - -> What I am doing is -> 1. Making an ACE_SOCK_Dgram and let it choose the next available port number. -> 2. Making a message that will be broadcasted to X number of servers. This -> message has a port number which the server will use to send its reply. -> 3. Broadcast the message to a fixed port number. -> 4. Wait for replies from the servers. -> -> -> It looks like I need "ACE::bind_port" to return the port number that -> it picked and "ACE_SOCK_Dgram::shared_open" will need it store the -> port number so I could call some function like -> ACE_SOCK_Dgram::get_port_number or it would need to return the port -> number instead of the handle(I could always call -> ACE_SOCK_Dgram::get_handle if I needed the handle). -> -> Is there I way to get the port number that I have missed? - -Sure, can't you just do this: - -// Defaults to all "zeros", so bind will pick port. -ACE_INET_Addr dg_addr; - -ACE_SOCK_Dgram dg; - -dg.open (dg_addr); - -dg.get_local_addr (dg_addr); - -dg_addr.get_port_number (); - ----------------------------------------- - -41. How can you rename a core file? - -new_disposition.sa_handler = &Handle_Coredump_Signal; -sigemptyset(&new_disposition.sa_mask); -sigaddset(&new_disposition.sa_mask,SIGCHLD); -new_disposition.sa_flags = 0; -sigaction(SIGSEGV,&new_disposition,&old_disposition); - -***************** - -void -Handle_Coredump_Signal(void) -{ - int status; - pid_t child; - char new_core_name[64]; - - if(0 == (child = fork())) - { - abort(); - } - else - { - if(-1 == waitpid(child,&status,NULL)) - { - exit(-1); - } - sprintf(new_core_name,"core_%d",getpid()); - rename("core",new_core_name); - exit(0); - } -} - ----------------------------------------- - -42. - -> I have seen 2 different inlining policies in ACE -> -> 1) The .i file is included unconditionally by both the .h and .C file -> and all functions in the .i file carry the "inline" keyword. - -Right. Those are for cases where I *always* want to inline those -methods. I do this mostly for very short wrapper methods (e.g., -read() or write()) that are likely to be on the "fast path" of an -application. - -> 2) The .i file is included by the .h file ONLY if __INLINE__ is defined -> for the compile. This causes the functions in the .i file to be -> compiled as inline functions (INLINE translates to inline in this case). -> If __INLINE__ is not defined, the .i file is only included by the .C -> file and the functions do NOT carry the "inline" keyword. - -I do this for cases where it's really not essential to have those -methods inline, but some users might want to compile ACE that was if -they want to eliminate all the wrapper function-call overhead. For -instance, I'll typically do this when I'm running benchmarks. - ----------------------------------------- - -43. Integrating ACE and CORBA - -> Our goal is to implement a CORBA-II compliant application. I am -> trying to conceptually visualize the applicability to ACE to this -> attempt (which we're pretty excited about), and I was hoping you'd -> offer any opinions / observations that you might have. - -We've successfully integrated ACE with several implementations of -CORBA (in particular Orbix 1.3 and 2.0) and used it in a number of -commercial applications. In these systems, we use ACE for a number of -tasks, including the following: - -1. Intra-application concurrency control, threading, and - synchronization via the ACE_Thread_Manager and Synch* classes. - -2. Dynamic linking of services via the ACE_Service_Config. - -3. Integration of event loops via the ACE_Reactor. - -4. Management of shared memory via ACE_Malloc. - -5. High-performance network I/O via the ACE_SOCK* wrappers. - -plus many more. - -You can find out more info about the ACE/CORBA integration and the -performance issues associated with it in the following paper: - -http://www.cs.wustl.edu/~schmidt/COOTS-96.ps.gz - ----------------------------------------- - -44. - -> Can the Reactor's event loop be called recursively? - -This is not advisable. The Reactor's dispatch() method is not -reentrant (though it is thread-safe) since it maintains state about -the active descriptors it is iterating over. Therefore, depending on -the descriptors you're selecting on, you could end up with spurious -handle_*() callbacks if you make nested calls to the -Reactor::handle_events() method. - -> For example, if I have a program that sets up some event handlers -> and then calls, in an infinite loop, ACE_Reactor::handle_events(). -> Can one of the event handlers call handle_events() again if it needs -> to block, while allowing other event handlers a chance to run? - -I'm not sure if this is really a good idea, even if the Reactor were -reentrant. In particular, what good does it do for one Event_Handler -to "block" by calling handle_events() again? The event the handler is -waiting for will likely be dispatched by the nested handle_events() -call! So when you returned back from the nested call to -handle_events() it will be tricky to know what state you were in and -how to proceed. - -Here's how I design my single-threaded systems that have to deal with -this: - - 1. I use a single event loop based on the Reactor, which acts - a cooperative multi-tasking scheduler/dispatcher. - - 2. I then program all Event_Handler's as non-blocking I/O - objects. This is straightforward to do for both input and - output using the ACE_Reactor::schedule_wakeup() and - ACE_Reactor::cancel_wakeup() methods (available with the - latest version of ACE). - - 3. Then, whenever an Event_Handler must block on I/O, it - queues up its state on an ACE_Message_Queue, calls - ACE_Reactor::schedule_wakeup(), and returns to the - main event loop so that other Event_Handlers can be - dispatched. When the I/O is ready, the Reactor will - call back to the appropriate handle_* method, which - can pick up the state it left in the Message_Queue and - continue. - -There are a number of places to find more information on this sort of -design: - - 1. $ACE_ROOT/apps/Gateway/Gateway/Channel.cpp -- - This Gateway application example shows the C++ code. - - 2. http://www.cs.wustl.edu/~schmidt/TAPOS-95.ps.gz -- - This paper describes the underlying patterns. - - 3. http://www.cs.wustl.edu/~schmidt/OONP-tutorial4.ps.gz - -- This tutorial explains the source code and - the patterns. - -BTW, I'll be describing patterns for this type of design challenge in -my tutorial at USENIX COOTS in June. Please check out -http://www.cs.wustl.edu/~schmidt/COOTS-96.html for more info. - ----------------------------------------- - -45. - -> In one of my programs, a process needs to receive input from -> multiple input sources. One of the input sources is a file -> descriptor while another is a message queue. Is there a clean way to -> integrate this a message queue source into the Reactor class so that -> both inputs are handled uniformly? - -Do you have multiple threads on your platform? If not, then life will -be *very* tough and you'll basically have to use multiple processes to -do what you're trying to do. There is *no* portable way to combine -System V message queues and file descriptors on UNIX, unfortunately. - -If you do have threads, the easiest thing to do is to have a thread -reading the message queue and redirecting the messages into the -Reactor via its notify() method. - -Please take a look at the program called - -examples/Reactor/Misc/notification.cpp - -for an example. - ----------------------------------------- - -46. - -> I'm writing a program to find out the address for a socket. The -> idea is that we open an ACE_Acceptor (and will eventually perform -> accept() on it.) Before we can do that we need to find out the -> address of the ACE_Acceptor so that we can publish it (for others to -> be able to connect to it.) The trouble is that the call -> ACE_INET_Addr::get_host_name () prints "localhost" as the host name -> while I would like to principal host name to be printed instead. - -All ACE_INET_Addr::get_host_name() is doing is calling -ACE_OS::gethostbyaddr(), which in turn will call the socket -gethostbyaddr() function. I suspect that what you should do is -something like the following: - -ACE_Acceptor listener (ACE_Addr::sap_any); - -ACE_INET_Addr addr; - -listener.get_local_addr (addr); - -char *host = addr.get_host_name (); - -if (::strcmp (host, "localhost") == 0) -{ - char name[MAXHOSTNAMELEN]; - ACE_OS::hostname (name, sizeof name); - cerr << name << endl; -} -else - cerr << host << endl; - ----------------------------------------- - -47. - -> Could you please point me to stuff dealing with asynchronous cross -> platform socket calls. I want to use non blocking socket calls on -> both UNIX and NT. - -Sure, no problem. Take a look at the - -./examples/Connection/non_blocking/ - -directory. There are a number of examples there. In addition, there -are examples of non-blocking connections in - -./examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp - -The code that actually enables the non-blocking socket I/O is in -ace/IPC_SAP.cpp - ----------------------------------------- - -48. - -> Is ACE exception-safe? If I throw an exception out of event -> handler, will the Reactor code clean itself? - -Yes, that should be ok. In general, the two things to watch out for -with exceptions are: - - 1. Memory leaks -- There shouldn't be any memory leaks internally - to the Reactor since it doesn't allocate any memory when - dispatching event handlers. - - 2. Locks -- In the MT_SAFE version of ACE, the Reactor acquires - an internal lock before dispatching Event_Handler callbacks. - However, this lock is controlled by an ACE_Guard, whose - destructor will release the lock if exceptions are thrown - from an Event_Handler. - ----------------------------------------- - -49. - -> I am building a Shared memory manager object using MMAP and MALLOC -> basically as: -> -> typedef ACE_Malloc SHMALLOC; -> -> I noticed that the ACE_MMAP_Memory_Pool class provides for the users -> to specify a Semaphore key. However, once I use it via the -> ACE_Malloc<..>::ACE_Malloc(const char* poolname) constructor, I lose -> this option. - -Yes, that is correct. That design decision was made to keep a clean -interface that will work for all the various types of memory pools. - -> Is there any recommended way to specialize ACE classes to allow this -> key to be overridden? - -Yes indeed, you just create a new subclass (e.g., class -My_Memory_Pool) that inherits from ACE_MMAP_Memory_Pool and then you -pass in the appropriate key to the constructor of ACE_MMAP_Memory_Pool -in the constructor of My_Memory_Pool. Then you just say: - -typedef ACE_Malloc SHMALLOC; - -Please check out the file: - -examples/Shared_Malloc/Malloc.cpp - -which illustrates more or less how to do this. - ----------------------------------------- - -50. - -> What is the best way to turn on TRACE output in ACE. I commented -> out the #define ACE_NTRACE 1 in config.h and rebuilt ACE and the -> examples. - -The best way to do this is to say - -#define ACE_NTRACE 0 - -in config.h. - -> When I run the CPP-inserver example in examples/IPC_SAP/SOCK_SAP, I -> get some trace output but not everything I would expect to see. - -Can you please let me know what you'd expect to see that you're not -seeing? Some of the ACE_TRACE macros for the lower-level ACE methods -are commented out to avoid problems with infinite recursion (i.e., -tracing the ACE_Trace calls...). I haven't had a chance to go over -all of these indepth, but I know that it should be possible to turn -many of them back on. - -> It would be nice to have a runtime option for turning trace on and -> off. - -There already is. In fact, there are two ways to do it. -If you want to control tracing for the entire process, please check -out ACE_Trace::start_tracing() and ACE_Trace::stop_tracing(). - -If you want to control tracing on a per-thread basis please take a -look at the ACE_Log_Msg class. There are methods called -stop_tracing() and start_tracing() that do what you want. - ----------------------------------------- - -51. - -> I've been using an acceptor and a connector in one (OS-) process. -> What does happen, if a signal is sent to this process? Is the signal -> processed by every ACE_Event_Handler (or its descendants) that is -> around? The manual page simply states that handle signal is called -> as soon as a signal is triggered by the OS. - -How this signal is handled depends on several factors: - -1. Whether your using ACE_Sig_Handler or ACE_Sig_Handlers to register - the signal handlers. - -2. If you're using ACE_Sig_Handler, then the ACE_Event_Handler * that - you've most recently registered to handle the signal will - have it's handle_signal() method called back by the Reactor. - -3. If you're using ACE_Sig_Handlers, then all of the ACE_Event_Handler * - that you've register will be called back. - -For examples of how this works, please check out - -$ACE_ROOT/examples/Reactor/Misc/test_signals.cpp - -This contains a long comment that explains precisely how everything -works! diff --git a/Makefile b/Makefile deleted file mode 100644 index 53edd0dd6c8..00000000000 --- a/Makefile +++ /dev/null @@ -1,167 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the ACE toolkit libraries, tests, and -# applications -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -INFO = README \ - VERSION - -DIRS = ace \ - netsvcs \ - tests \ - apps \ - examples \ - performance-tests - -CLONE = Makefile \ - ace \ - apps \ - bin \ - etc \ - examples \ - include \ - netsvcs \ - performance-tests \ - tests - -#---------------------------------------------------------------------------- -# 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 - -# 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). - -clone: - @for dir in $(CLONE); \ - do \ - (clone -s $(ACE_ROOT)/$$dir $$dir) \ - done - -RELEASE_FILES = ACE_wrappers/ACE-INSTALL.html \ - ACE_wrappers/ACE-categories \ - ACE_wrappers/ACE-install.sh \ - ACE_wrappers/ACE-lessons.html \ - ACE_wrappers/ASNMP \ - ACE_wrappers/BIBLIOGRAPHY \ - ACE_wrappers/ChangeLog \ - ACE_wrappers/ChangeLog-97a \ - ACE_wrappers/ChangeLog-96b \ - ACE_wrappers/ChangeLog-96a \ - ACE_wrappers/ChangeLog-95 \ - ACE_wrappers/ChangeLog-94 \ - ACE_wrappers/ChangeLog-93 \ - ACE_wrappers/FAQ \ - ACE_wrappers/Makefile \ - ACE_wrappers/README \ - ACE_wrappers/STL \ - ACE_wrappers/VERSION \ - ACE_wrappers/ace \ - ACE_wrappers/apps \ - ACE_wrappers/bin \ - ACE_wrappers/etc \ - ACE_wrappers/examples \ - ACE_wrappers/include \ - ACE_wrappers/man \ - ACE_wrappers/netsvcs \ - ACE_wrappers/performance-tests \ - ACE_wrappers/tests - -RELEASE_LIB_FILES = \ - ACE_wrappers/STL \ - ACE_wrappers/VERSION \ - ACE_wrappers/ace \ - ACE_wrappers/include \ - ACE_wrappers/netsvcs \ - ACE_wrappers/tests - -#### If creating the "official" ACE release: -#### 1) Check that the workspace is up-to-date, and bail out if not. -#### 2) Update the timestamp in the VERSION file. -#### 3) Update ace/Version.h -#### 4) Add a ChangeLog entry to the ChangeLog plain file. -#### Detect if we are creating the "official" release by looking at the PWD. -#### To disable this feature, add "TIMESTAMP=" to the make command line. -#### NOTE: if the version number in the VERSION file contains three components, -#### e.g., 4.1.5, then the third one will be incremented. This assumes -#### that alpha/beta releases are numbered with three components, and -#### that final releases are not. So, if the version number is, e.g., -#### 4.2, it will not be modified because it is assumed to be for a -#### final release. -ifeq ($(shell pwd),/project/adaptive/ACE_wrappers) - TIMESTAMP = (lynx -dump ACE-INSTALL.html > ACE-INSTALL; \ - CHANGELOG='ChangeLog'; export CHANGELOG; \ - if [ -z "$$CHANGELOG" ]; then \ - echo unable to find latest ChangeLog file; exit 1; fi; \ - DATE=`/usr/bin/date +"%a %b %d %T %Y"`; export DATE; \ - cd ..; UPTODATE=`cvs -nq update $(RELEASE_FILES) | \ - egrep -v '/tests/log/' | perl -pi -e 's%/ACE_wrappers%%g; \ - s/$$/\\\n /g'`; cd ACE_wrappers; \ - if [ "$$UPTODATE" ]; then /pkg/gnu/bin/echo -e ERROR: workspace must be updated, and/or non-controlled files must be removed or added/committed: $$UPTODATE; exit 1; fi; \ - ACE_VERSION=`perl -pi -e \ - 'BEGIN { $$date=$$ENV{"DATE"} } \ - s/(ACE version \d+\.\d+\.)(\d+)/sprintf("$$1%d",$$2+1)/e; \ - if (s/(, released ).*/$$1$$date./) { \ - ($$version = $$_) =~ s/^This is //; } \ - END { print $$version } ' VERSION;` export ACE_VERSION; \ - perl -i -e \ - 'BEGIN {($$message = \ - $$ENV{"DATE"} . " " . \ - $$ENV{"SIGNATURE"} . " <" . \ - $$ENV{"LOGNAME"} . \ - "\@cs.wustl.edu>\n\n * " . \ - $$ENV{"ACE_VERSION"} . "\n"); \ - $$message_printed = 0;} \ - while (<>) { \ - if ( ! $$message_printed++ ) { print "$$message\n"; } \ - print; } ' $$CHANGELOG; \ - echo $$ACE_VERSION | perl -ne ' \ - ($$version = $$_) =~ s/ACE version ([\d\.]+).*\n/$$1/; \ - ($$major, $$minor, $$beta) = split /\./, $$version; \ - $$beta = 0 if ! defined $$beta; \ - print "// \$$Id\$$\n" . \ - "// This is an automatically generated file.\n\n" . \ - "\#define ACE_MAJOR_VERSION ($${major}u)\n" . \ - "\#define ACE_MINOR_VERSION ($${minor}u)\n" . \ - "\#define ACE_BETA_VERSION ($${beta}u)\n" . \ - "\#define ACE_VERSION " . \ - "\"$${major}.$${minor}.$${beta}\\0\"\n";' > \ - ace/Version.h; \ - cvs commit -m"$$ACE_VERSION" VERSION $$CHANGELOG ace/Version.h; \ - chmod 644 VERSION $$CHANGELOG ace/Version.h) && -else - TIMESTAMP = -endif - -#### The following tar creation commands assume that cpio supports -H tar. -#### Old versions of cpio might not, but the version that's shipped with -#### Solaris 2.5.1, and gnu cpio 2.3, do support that option. - -FILTER = -name CVS -prune -o ! -name '.\#*' ! -name '\#*' ! -name '*~' -print - -cleanrelease: - @$(TIMESTAMP) (make realclean; cd ..; \ - find $(RELEASE_FILES) ACE_wrappers/ACE-INSTALL $(FILTER) | \ - cpio -o -H tar | gzip -9 > ACE.tar.gz; \ - chmod a+r ACE.tar.gz; mv ACE.tar.gz ./ACE_wrappers/) - -release: - @$(TIMESTAMP) (cd ..; \ - find $(RELEASE_FILES) ACE_wrappers/ACE-INSTALL $(FILTER) | \ - cpio -o -H tar | gzip -9 > ACE.tar.gz; \ - find $(RELEASE_LIB_FILES) $(FILTER) | \ - cpio -o -H tar | gzip -9 > ACE-lib.tar.gz; \ - chmod a+r ACE.tar.gz ACE-lib.tar.gz; \ - mv ACE.tar.gz ACE-lib.tar.gz ./ACE_wrappers/) diff --git a/README b/README deleted file mode 100644 index 1ff4ec13f1f..00000000000 --- a/README +++ /dev/null @@ -1,524 +0,0 @@ -[This document is also available at the following URL: - -http://www.cs.wustl.edu/~schmidt/ACE.html. - -All software and documentation is available via both anonymous ftp and -the World Wide Web.] - -THE ADAPTIVE COMMUNICATION ENVIRONMENT (ACE) - -An Object-Oriented Network Programming Toolkit - ----------------------------------------- - -Overview of ACE - -The ADAPTIVE Communication Environment (ACE) is an object-oriented -(OO) toolkit that implements fundamental design patterns for -communication software. ACE provides a rich set of reusable C++ -wrappers and frameworks that perform common communication software -tasks across a range of OS platforms, including Win32 (i.e., WinNT -3.5.x and 4.x and Win95), most versions of UNIX (e.g., SunOS 4.x, -Solaris 2.x, SGI IRIX 5.x and 6.x, HP-UX 9.x and 10.x, OSF/1 -a.k.a. DEC UNIX, AIX 4.x, Linux, SCO, UnixWare, and FreeBSD), VxWorks, -Chorus, and MVS OpenEdition. A single source tree is used for all -these platforms and porting ACE to other platforms is relatively easy. - -The communication software components provided by ACE include event -demultiplexing and event handler dispatching, service initialization, -interprocess communication, shared memory management, message routing, -dynamic (re)configuration of distributed services, multi-threading, -and concurrency control. There are both C++ and Java versions of ACE -available. - -ACE is targeted for developers of high-performance and real-time -communication services and applications on UNIX, POSIX, and Win32 -platforms. ACE simplifies the development of OO network applications -and services that utilize interprocess communication, event -demultiplexing, explicit dynamic linking, and concurrency. ACE -automates system configuration and reconfiguration by dynamically -linking services into applications at run-time and executing these -services in one or more processes or threads. - -ACE is currently used in commercial projects and products by dozens of -companies including Ericsson, Bellcore, Siemens, Motorola, Kodak, -Boeing, Lucent, DEC, Lockheed Martin, and SAIC. Commercial support -for ACE is available at http://www.riverace.com. - ----------------------------------------- - -C++ Wrappers for OS Interfaces - -The lower-level portions of ACE provide a set of portable and -type-secure C++ wrappers that encapsulate the following C language OS -interfaces: - - . IPC mechanisms - -- e.g., Internet- and UNIX-domain sockets, TLI, Named - Pipes (for UNIX and Win32) and STREAM pipes; - - . Event demultiplexing - -- e.g., select(), poll(), and Win32 - WaitForMultipleObjects and I/O completion ports; - - . Multi-threading and synchronization - -- e.g., Solaris threads, POSIX Pthreads, and Win32 - threads; - - . Explicit dynamic linking - -- e.g., dlopen/dlsym on UNIX and LoadLibrary/GetProc - on Win32; - - . Memory-mapped files and shared memory management - -- e.g., BSD mmap(), SYSV shared memory, and Win32 - shared memory; - - . System V IPC - -- e.g., shared memory, semaphores, message queues. - -The OS Adaptation Layer shields the upper levels of ACE from platform -dependencies associated with the underlying OS interfaces. - ----------------------------------------- - -Frameworks and Class Categories - -ACE also contains a higher-level network programming framework that -integrates and enhances the lower-level C++ wrappers. This framework -supports the dynamic configuration of concurrent distributed services -into applications. The framework portion of ACE contains the -following class categories: - - . The Reactor - -- Supports both Reactive and Proactive I/O; - - . The Service Configurator - -- Support dynamic (re)configuration of objects; - - . The ADAPTIVE Service Executive - -- A user-level implementation of System V STREAMS, - that supports modular integration of - hierarchically-related communicaion services; - - . Concurrency - -- Various types of higher-level concurrency - control and synchronization patterns (such as - Polymorphic Futures and Active Objects); - - . Shared Malloc - -- Components for managing dynamically allocation - of shared and local memory; - - . CORBA integration - -- Integrates ACE with CORBA implementations - (such as single-threaded and multi-threaded - Orbix and Visibroker for C++). - ----------------------------------------- - -Distributed Services and Components - -Finally, ACE provides a standard library of distributed services that -are packaged as components. These service components play two roles -in ACE: - - 1. They provide reusable components for common distributed - system tasks such as logging, naming, locking, and time - synchronization. - - 2. They illustrate how to utilize ACE features such as the - Reactor, Service Configurator, Service Initialization, - Concurrency, and IPC components. - ----------------------------------------- - -Middleware Applications - -ACE has been used in research and development projects at many -universities and companies. For instance, it has been used to build -avionics systems at Boeing, telecommunication systems at Bellcore, -Ericsson, Motorola, and Lucent; medical imaging systems at Siemens and -Kodak; and many academic research projects. Two example middleware -applications provided with the ACE release include: - - 1. The ACE ORB (TAO) -- TAO is a real-time implementation of - CORBA built using the framework components and patterns - provided by ACE. - - 2. JAWS -- JAWS is a high-performance, adaptive Web server - built using the components in ACE. - ----------------------------------------- - -OBTAINING ACE - -The current ACE release is provided as a tar file that is around 3 Meg -compressed using GNU gzip. ACE may be obtained electronically from -http://www.cs.wustl.edu/~schmidt/ACE-obtain.html. This release -contains the source code, test drivers, and example applications -(including JAWS) for C++ wrapper libraries and the higher-level ACE -network programming framework developed as part of the ADAPTIVE -project at the University of California, Irvine and at Washington -University, St. Louis. - -You can get The ACE ORB (TAO) in a companion release at -http://www.cs.wustl.edu/~schmidt/TAO.html. - ----------------------------------------- - -ACE DOCUMENTATION AND TUTORIALS - -Many of the C++ wrappers and higher-level components have been -described in issues of the C++ Report, as well as in proceedings of -many journals, conferences, and workshops. - -A collection of white papers and tutorial handouts are included at -ftp://wuarchive.wustl.edu/languages/c++/ACE/ACE-documentation. This -directory contains postscript versions of various papers that describe -different aspects of ACE. - -I update these papers periodically to reflect changes to the ACE -architecture. Therefore, you might want to check the date on the -files to make sure that you have read the most recent versions of -these papers. - -This material is also available available via the WWW at URL: - -http://www.cs.wustl.edu/~schmidt/ACE.html - ----------------------------------------- - -BUILDING AND INSTALLING ACE - -Please refer to the http://www.cs.wustl.edu/~schmidt/ACE-INSTALL.html -file for information on how to build and test the ACE wrappers. The -BIBLIOGRAPHY file contains information on where to obtain articles -that describe the ACE wrappers and the ADAPTIVE system in more detail. - -The current release has been tested extensively, but if you find any -bugs, please report them to me. - -ACE MAILING LIST AND NEWSGROUP - -A mailing list is available for discussing bug fixes, enhancements, -and porting issues regarding ACE. Please send mail to me at the -ace-users-request@cs.wustl.edu if you'd like to join the mailing list. -There is also a USENET newsgroup called comp.soft-sys.ace. - -ACKNOWLEDGEMENTS - -ACE has been deeply influenced and improved by the following members -of my research group at Washington University: - -Darrell Brunsch -Chris Cleeland -Aniruddha Gokhale -Tim Harrison -James Hu -Prashant Jain -David Levine -Carlos O'Ryan -Irfan Pyarali -Nanbor Wang - -I would also like to thank all the following people who have also -contributed to ACE over the years: - -Paul Stephenson -Olaf Kruger -Ed Brown -Lee Baker -Alex Ranous -Mark Patton -Steffen Winther Sorensen for -Troy Warner -Stacy Mahlon -Charles Eads -Mark Frutig -Todd Hoff -George -Brad Needham -Leslee Xu -Detlef Becker -Bruce Worden -Chris Tarr -Bill Sears -Greg Lavendar -Steve Warwick -Mats Sundvall -Andreas Ueltschi -Nigel Hooke -Medhi Tabatabai -Stuart Powell -Bin Mu -Andrew McGowan -Ken Konecki -John P. Hearn -Giang Hoang Nguyen -Carlos Garcia Braschi -Jam Hamidi -Eric Vaughan -Karl-Heinz Dorn -Steve Ritter -Chandra Venkatapathy -Matt Stevens -Bob Vistica -David Trumble -John Morey -George Reynolds -Hans Rohnert -Alex V. Maclinovsky -Todd Blanchard -Rob Clairmont -Christian Millour -Neil Cohen -Dieter Quehl -Reginald S. Perry -James Morris -Mark Seaborn -Phil Brooks -E. Jason Scheck -Daniel Proulx -Bill Tang -John Huchinson -Jack Erickson -Byron Walton -Bill Lear -Mark Zusman -Aurelio Nocerino -Walt Akers -Greg Baker -Alexandre Karev -Pramod Kumar Singh -Bryon Rigg -Brad Brown -Patty Genualdi -Eshel Liran -Mick Adams -Chris Eich -Mike Flinn -Audun Tornquist -Sandeep Joshi -Kirk Sinnard <1764@mn.lawson.lawson.com> -Bernd Hofner -Craig Perras -Kirk Sinnard -Matthew Newhook -Gerolf Wendland -Phil Mesnier -Ross Dargahi -Richard Orr -Rich Ryan -Jan Rychter -Tom Marrs <0002104588@mcimail.com> -Bob Olson -Jean-Francois Ripouteau -Ajit Sagar -Ashish Singhai -David Sames -Gonzalo Diethelm -Raj -Darrin -Steve Weismuller -Eric C. Newton -Andres Kruse -Ramesh Nagabushnam -Antonio Tortorici -Nigel Lowe -Tom Leith -Greg Wilson -Michael Fortinsky -Marco Sommerau -Gary Salsbery -Eric Beser -Alfred Keller -John Lu -James Mansion -Jesper S. M|ller -Chris Lahey -Michael R"uger -Istvan Buki -Greg Wilson -Garrett Conaty -Brad Flood -Marius Kjeldahl -Steve Huston -Eugene K. Plaude -Joseph DeAngelis -Kim Gillies -Luca Priorelli -Alan Stewart -Hani Yakan -William L. Gerecke -Craig Johnston -Pierre-Yves Duval -Rochi Febo Dommarco -Jonathan Biggar -Scott Shupe -Chuck Gehr -Avraham Nash -Padhu Ramalingam -Jay Denkberg -Ayman Farahat -Tilo Christ -Ari Erev -Hamutal Yanay -Vital Aza -Alex Villazon -David Artus -Todd Barkalow -Alexander Smundak -Thilo Kielmann -Matthias Kerkhoff -Fred LaBar -Hanan Herzog -Eric Parker -James Michael Dwyer -Arun Katkere -Bob Dunmire -Sandro Doro -Robert Lyng < -Phil Logan -John Cosby -Wayne Vucenic -Harry Gunnarsson -James CE Johnson -Samuel_Bercovici -Per Andersson -Anthony McConnell -Mark Rabotnikov -John Bossom -Rino Simioni -Slawomir Kuzniar -Rob Jordan -Michael Maxie -John Cosby -Nigel Owen -Jorn Jensen -Paul Roman -Dave Mayerhoefer -Bert Craytor -Joey Zhu -Arthur J. Lewis -Michael R. MacFaden" -Eugene R. Somdahl -Paul Han -Jeff Morgan -Arturo Montes -Elliot Lau -Mark Wright -Michael Newton -Kumar Neelakantan -Scott Halstead -Jean-Marc Strauss -Adam Porter -Hakan Kallberg -Eric Dean Russell -Daniel Montalibet -Norbert Rapp -Ganesh Pai -Berni Merkle -Tom Wright -Torbjorn Lindgren -Mike Bernat -Brian Mendel -Jeremy Buch -Kevin Boyle -Kevin Martindale -Luis Lopes -Adrian Salt -Hongbo Xu -Michael Hartman -Tom Dobridge -Rich Christy -Satoshi Ueno -Eugene R. Somdahl -Robert Head -Ivan Murphy -Shankar Krishnamoorthy -Reza Roodsari -Jim Crossley -Johannes Gutleber -Marina Spivak -Yigong Liu -Erik Urdang -Mike Schweiger -Anthony Mutiso -Jeff R. Hayes -David Brackman -Dave Moore -Joseph Cross -Cherif Sleiman -Stefan Ericsson -Wei Chiang -Thanh Ma -Oleg Krivosheev -Stephen Coy -Bob Laferriere -Satheesh Kumar MG -Karen Amestoy -Jeff Richard -Samuel Melamed -Vladimir Schipunov -Felix Popp -Billy Quinn -Michael McKnight -Huiying Shen -Alex Chan -Aaron Valdivia -Edan Ayal -Jeffrey Peterson -Neil Lavelle -Steven Wohlever -Manojkumar Acharya -Evgeny Beskrovny -Kirill Rybaltchenko -Laura Paterno -Ben Eng -Mike Kamrad -Marios Zikos -Mark L Boriack -Caleb Epstein -Valik Solrzano Barboza -John Connett -Tom Arbuckle -Stephen Henry -Dani Flexer -Michael Hoffman -John Lindal -Dustin Laurence -Ernie Makris -Timothy A. Brown -Patrick J. McNerthney -Lori Anderson -Erik Margraf -Bryan Doerr -Adam Miller -Thomas Jordan -Keith Nicewarner -Frederic Andres -Achint Sandhu -Mitch Kuninsky -Alex Chan -Jeff Hellzen - -I would particularly like to thank Paul Stephenson, who worked with me -at Ericsson and is now at ObjectSpace. Paul devised the recursive -Makefile scheme that underlies this distribution and also spent -countless hours with me discussing object-oriented techniques for -developing distributed application frameworks. - -Finally, I'd also like to thank Todd L. Montgomery , -fellow heavy metal head, for fulfilling his quest to get ACE to -compile with GCC! - -In conclusion, my goal is to see ACE continue to evolve and become a -more comprehensive, robust, and well-documented C++ class library that -is freely available to researchers and developers. If you have any -improvements, suggestions, and or comments, I'd like to hear about it. - - Thanks, - - Douglas C. Schmidt - schmidt@cs.wustl.edu diff --git a/STL/ACE_Changes b/STL/ACE_Changes deleted file mode 100644 index 902fb94c94c..00000000000 --- a/STL/ACE_Changes +++ /dev/null @@ -1,53 +0,0 @@ -This version of STL was obtained from -http://www.rahul.net/terris/. This is a modified version of the -implementation that comes with VC++4.0. Please see readme2.stl for -details. - -The following modification have been made for compilation with VC++4.x - -________________________________________ - -vector.h (line 85) -________________________________________ - - - /* - * This is cause the VC++ compiler sucks - * and does not recognize nested classes properly - * - */ -#if !defined (VC_PLUS_PLUS_NESTED_CLASS_PROBLEM) - vector(size_type n, const T& value = T()) { - start = static_allocator.allocate(n); - uninitialized_fill_n(start, n, value); - finish = start + n; - end_of_storage = finish; - } -#endif /* VC_PLUS_PLUS_NESTED_CLASS_PROBLEM */ - - -________________________________________ - -bstring.h (line 1102) -________________________________________ - - - /* - * This should be correctly scoped - * - * if (cap == ::reserve) - */ - - if (cap == std::reserve) - { - len = 0; - res = size; - ptr = new charT [res]; - } - /* - * This should be correctly scoped - * - * else if ((cap == ::default_size) && (size != NPOS)) - */ - - else if ((cap == std::default_size) && (size != NPOS)) diff --git a/STL/ChangeLog b/STL/ChangeLog deleted file mode 100644 index e1a9c2196ab..00000000000 --- a/STL/ChangeLog +++ /dev/null @@ -1,50 +0,0 @@ -Fri Nov 21 01:16:49 1997 - - * bstring.h: Removed strange looking template specialization. - -Thu Apr 03 08:58:05 1997 David L. Levine - - * STL/bool.h: added /**/ to #include . Thanks to - Matthias Kerkhoff for reporting this. - -Sat Jan 25 11:34:56 1997 Irfan Pyarali - - * STL/bstring.h: Fixed typo. - -Mon Jan 20 10:04:11 1997 David L. Levine - - * algobase.h: wrapped min/max templates with #if ! defined (VXWORKS) - because it already has them. - - * bstring.h: wrapped basic_string template instantiation - so that it's not used with GreenHills compiler. - -Tue Jan 14 15:46:31 1997 David L. Levine - - * tree.h (iterator () and const_iterator ()): added cast - of NULL to link_type before assigning it to NIL; - GreenHills 1.8.8 fails to compile without it. - -Tue Dec 10 20:14:56 1996 Irfan Pyarali - - * bstring.h: Fixed string_char_baggage::copy() so that the pointer - are incremented correctly. - -Fri Dec 6 02:08:35 1996 Irfan Pyarali - - * bool.h: Made the defines for bool, true, and false conditional. - -Wed Dec 4 00:17:11 1996 Irfan Pyarali - - * vector.h: Modified to remove the default argument to the - constructor. This avoids the VC++4.0 compiler from failing to - deal correctly with nested classes. - - * bstring.h: Modified access to reserve and default_size to - correctly use the std namespace. - - * This version of STL was obtained from - http://www.rahul.net/terris/. This is a modified version of the - implementation that comes with VC++4.0. Please see README - for details. - diff --git a/STL/README b/STL/README deleted file mode 100644 index 5132bc1189b..00000000000 --- a/STL/README +++ /dev/null @@ -1,272 +0,0 @@ -STL2.ZIP - -Standard Template Library for Visual C++ 4.0 -and Related Classes - -Revised 10/15/96 - Bug fixes and change to bit_vector. - -This version supports DLLs and threading. You must use critical -sections around code that uses the same container in different -threads. These features come at a price -- since memory -usage is not optimal, this code may use more memory and -may be slower. - -+ General strategy: Remove all statics except the - static allocator objects. -+ Vectors were not affected. -+ Major changes made to tree.h -+ Stability: Very stable. - -This code should be considered for experimental use only. There -are still statics lurking in some functions; these functions -are not thread-safe. - -------------------------- -Fix for bit_vector -------------------------- -This version also has a fix for bit_vector, which doesn't really -work with VC++ 4.x. Please include bvector.cpp in your -project if you use bit_vector. This fixes the linker errors -that occur if you use bector.h in multiple .cpp files. - -------------------------- -Disclaimer -------------------------- -Code is provided without warranty, liability, or technical support. - -STL.H and PTR.H are freely distributable and can be -modified in any way. - --------------------------------- -STRING.H does not compile. --------------------------------- - -"D. Pirzadeh" Explains how to fix: - -First, I got compile errors in "bstring.h" -and changed it as follows to correct: - line 1104 "::reserve" -> "std::reserve" - line 1110 "::default_size" -> "std::default_size" - -Also, I got an INTERNAL COMPILER ERROR with Visual C++ v4.0 when I did the fol- -lowing: - class xyz : public std::string { } - -I fixed it with: - typedef std::string XyzString; - class xyz : public XyzString { } - --------------------------------- -Changes made to STL distribution --------------------------------- - -These files were modified from the STL distribution shipped with -Microsoft Visual C++ 4.0. The files here are a complete, -working version of the STL. These files have been tested with -MFC applications. - -Changes were made to practically all header files. Look for -comments like: - -*Added by... -*Changed by... - ------------------- -Usage Instructions ------------------- - -Set the preprocessor variable NOMINMAX. - -As Microsoft recommends, the STL is compiled in the std namespace. - -When including these files, do **not** do this: - - namespace std - { - #include - } - -Instead, do this: - - #include - -Recommended usage: - - First, include: - - #include - #include - #include - - Then include the STL header files. - -------------------- -Support for CString -------------------- -The stl.h file contains code written by me. The file contains -operators that will allow you to use CString objects with STL -containers and functions. - -!!!! CString will not work with STL unless you include !!!! - -------------------------------------------- -Helper functions for pointers-in-containers -------------------------------------------- -There is a file called stl.h which contains two functions: - SequenceDelete - MapDelete -These functions send "delete" to all of the objects in a container. - -If you don't like this approach, you can use a supplied "pointer -wrapper" class. - -There is a file called ptr.h which contains a class called Ptr -that can be used exactly like a pointer. The object has a pointer -inside it that points to an object of any class. When a Ptr object -is deleted, "delete" is sent to its underlying pointer. Ptr can be -used with any STL container, as it has a copy constructor and -assignment operator, which transfers "ownership" of the pointer from -the source object to the destination object. Ptr is from the book -Design Patterns by Gamma et al -- see the Proxy pattern. - -The Ptr class makes memory leaks impossible, because it deletes -objects automatically when the container is deleted, or when -functions like "delete" are used. - -Example: - - This is a vector of CStrings: - - std::vector< Ptr > StringVector; - - StringVector.push_back( Ptr( new CString( "hello" ) ) ); - StringVector.push_back( Ptr( new CString( "This is another string" ) ) ); - ------------------------- -Common Problems with STL ------------------------- - -1) Compiler error: != is ambiguous - - Solution: put the following line at the beginning of the method - that caused the error: - - using namespace std; - -2) When using maps, the debugger crashes. - - This is because symbols for maps (actually, for the "pair") - get truncated to 255 characters. Solution: Turn off the - variables window in the debugger. Don't try to look at - a symbol that has been truncated. This is not an STL-specific - bug -- It's a bug in the debugger. - -3) All sorts of compile errors in STL header files - - Make sure the preprocessor variable NOMINMAX is defined - - -4) Compiler errors about "operator < is not available", etc. - The class involved has global comparison operators. - - Solution: - Write "routers" in the std namespace to the global namespace. - Example (see also stl.h - this is how CString is able - to work with STL): - - namespace std - { - BOOL operator < ( const MyClass & rLhs, - const AnotherClass & rRhs ) - { - return ::operator < ( rLhs, rRhs ); - } - } - - See also 5. - -5) When you use find() or another algorithm, the compiler - complains that it cannot find the == or < operators. - -If your code compiles without any error messages, then disregard -this section. However, if you get errors like "cannot convert -first argument from const class X" then read on. - -I am assuming that your code is calling an STL algorithm like -std::sort() or std::find(). If you're not, I can't help -you. - -There is apparently a bug in the Microsoft compiler regarding -namespaces. Namespaces cannot locate global -functions that reside in the global namespace. For example, -the binary == operator. - -Maybe this is a bug, maybe it isn't. This is not clear -to me. However, I do know what works and have tried many other -approaches that do not work. If you have a better solution I -would appreciate it if you could let me know about it. - -So, if you declare your own class and want to use algorithms -like find() on an STL container, you have two choices: - -(1) Declare == as a member function. -(2) Declare global operators == and !=. - -(1) simply works. There will come a time, however, when (1) -won't satisfy your needs. If A == B, then B == A. You can't -do this using member functions if A and B are from different -classes. - -If you choose (2), you must add the != operator to the std -namespace. There are two ways to do this. First, you can do -this: - namespace std - { - inline operator != ( const MyClass &rLhs, const MyClass &rRhs ) - { - return ::operator != ( rLhs, rRhs ); - } - } -This "routes" != from the std namespace to the global namespace. - -Note that ( lhs != rhs ) can be derived from the == operator -as !( lhs == rhs ). There is a macro in STL.H, -STL_DECLARE_GLOBAL_NE, that does this derivation. -This derivation will not work when for whatever reason, !(lhs == rhs) -is not the same as ( lhs != rhs ). - -The following example shows what you have to do for find(). Other -algorithms require you to declare <, <=, and >= too. See the -macros STL_DECLARE_GLOBAL_GE, STL_DECLARE_GLOBAL_LT, and -STL_GLOBAL_LE. These macros derive new comparison operators -from "operator <( const T&, const T& )". - -class MyClass -{ - public: - - int units; - CString description; -}; - -// We want to be able to test two MyClass objects against each other -// in STL. Need to create a global operator for this purpose. -// Since we use find(), we need to declare not-equal too. -bool operator == ( const MyClass &, const MyClass & ); -STL_DECLARE_GLOBAL_NE( MyClass, MyClass ) - -// These operators test for a matching description. -// We do A == B and B == A to be consistent. -bool operator == ( const MyClass&, const CString & ); -bool operator == ( const CString&, const MyClass & ); -STL_DECLARE_GLOBAL_NE( MyClass, CString ) -STL_DECLARE_GLOBAL_NE( CString, MyClass ) - -6. Errors when creating vectors that have vectors and deques - that have deques. - - Solution: Provide atruments to the constructor. - - std::vector< std::vector > - TwoDimensional( 0, std::vector() ); - diff --git a/STL/algo.h b/STL/algo.h deleted file mode 100644 index 3e91b1375a3..00000000000 --- a/STL/algo.h +++ /dev/null @@ -1,2593 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef ALGO_H -#define ALGO_H - -#include -#include -#include -#include -#include -#include -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -inline T __median(T a, T b, T c) { - if (a < b) - if (b < c) - return b; - else if (a < c) - return c; - else - return a; - else if (a < c) - return a; - else if (b < c) - return c; - else - return b; -} - -template -inline T __median(T a, T b, T c, Compare comp) { - if (comp(a, b)) - if (comp(b, c)) - return b; - else if (comp(a, c)) - return c; - else - return a; - else if (comp(a, c)) - return a; - else if (comp(b, c)) - return c; - else - return b; -} - -template -Function for_each(InputIterator first, InputIterator last, Function f) { - while (first != last) f(*first++); - return f; -} - -template -InputIterator find(InputIterator first, InputIterator last, const T& value) { - while (first != last && *first != value) ++first; - return first; -} - -template -InputIterator find_if(InputIterator first, InputIterator last, - Predicate pred) { - while (first != last && !pred(*first)) ++first; - return first; -} - -template -InputIterator adjacent_find(InputIterator first, InputIterator last) { - if (first == last) return last; - InputIterator next = first; - while(++next != last) { - if (*first == *next) return first; - first = next; - } - return last; -} - -template -InputIterator adjacent_find(InputIterator first, InputIterator last, - BinaryPredicate binary_pred) { - if (first == last) return last; - InputIterator next = first; - while(++next != last) { - if (binary_pred(*first, *next)) return first; - first = next; - } - return last; -} - -template -void count(InputIterator first, InputIterator last, const T& value, - Size& n) { - while (first != last) - if (*first++ == value) ++n; -} - -template -void count_if(InputIterator first, InputIterator last, Predicate pred, - Size& n) { - while (first != last) - if (pred(*first++)) ++n; -} - -template -ForwardIterator1 __search(ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - Distance*) { - Distance d1 = 0; - distance(first1, last1, d1); - Distance d2 = 0; - distance(first2, last2, d2); - - if (d1 < d2) return last1; - - ForwardIterator1 current1 = first1; - ForwardIterator2 current2 = first2; - - while (current2 != last2) - if (*current1++ != *current2++) - if (d1-- == d2) - return last1; - else { - current1 = ++first1; - current2 = first2; - } - return (current2 == last2) ? first1 : last1; -} - -template -inline ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2) -{ - return __search(first1, last1, first2, last2, distance_type(first1)); -} - -template -ForwardIterator1 __search(ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - BinaryPredicate binary_pred, Distance*) { - Distance d1 = 0; - distance(first1, last1, d1); - Distance d2 = 0; - distance(first2, last2, d2); - - if (d1 < d2) return last1; - - ForwardIterator1 current1 = first1; - ForwardIterator2 current2 = first2; - - while (current2 != last2) - if (!binary_pred(*current1++, *current2++)) - if (d1-- == d2) - return last1; - else { - current1 = ++first1; - current2 = first2; - } - return (current2 == last2) ? first1 : last1; -} - -template -inline ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - BinaryPredicate binary_pred) { - return __search(first1, last1, first2, last2, binary_pred, - distance_type(first1)); -} - -template -ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2) { - while (first1 != last1) iter_swap(first1++, first2++); - return first2; -} - -template -OutputIterator transform(InputIterator first, InputIterator last, - OutputIterator result, UnaryOperation op) { - while (first != last) *result++ = op(*first++); - return result; -} - -template -OutputIterator transform(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, OutputIterator result, - BinaryOperation binary_op) { - while (first1 != last1) *result++ = binary_op(*first1++, *first2++); - return result; -} - -template -void replace(ForwardIterator first, ForwardIterator last, const T& old_value, - const T& new_value) { - while (first != last) { - if (*first == old_value) *first = new_value; - ++first; - } -} - -template -void replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, - const T& new_value) { - while (first != last) { - if (pred(*first)) *first = new_value; - ++first; - } -} - -template -OutputIterator replace_copy(InputIterator first, InputIterator last, - OutputIterator result, const T& old_value, - const T& new_value) { - while (first != last) { - *result++ = *first == old_value ? new_value : *first; - ++first; - } - return result; -} - -template -OutputIterator replace_copy_if(Iterator first, Iterator last, - OutputIterator result, Predicate pred, - const T& new_value) { - while (first != last) { - *result++ = pred(*first) ? new_value : *first; - ++first; - } - return result; -} - -template -void generate(ForwardIterator first, ForwardIterator last, Generator gen) { - while (first != last) *first++ = gen(); -} - -template -void generate_n(OutputIterator first, Size n, Generator gen) { - while (n-- > 0) *first++ = gen(); -} - -template -OutputIterator remove_copy(InputIterator first, InputIterator last, - OutputIterator result, const T& value) { - while (first != last) { - if (*first != value) *result++ = *first; - ++first; - } - return result; -} - -template -OutputIterator remove_copy_if(InputIterator first, InputIterator last, - OutputIterator result, Predicate pred) { - while (first != last) { - if (!pred(*first)) *result++ = *first; - ++first; - } - return result; -} - -template -ForwardIterator remove(ForwardIterator first, ForwardIterator last, - const T& value) { - first = find(first, last, value); - ForwardIterator next = first; - return first == last ? first : remove_copy(++next, last, first, value); -} - -template -ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, - Predicate pred) { - first = find_if(first, last, pred); - ForwardIterator next = first; - return first == last ? first : remove_copy_if(++next, last, first, pred); -} - -template -ForwardIterator __unique_copy(InputIterator first, InputIterator last, - ForwardIterator result, forward_iterator_tag) { - *result = *first; - while (++first != last) - if (*result != *first) *++result = *first; - return ++result; -} - -template -inline BidirectionalIterator __unique_copy(InputIterator first, - InputIterator last, - BidirectionalIterator result, - bidirectional_iterator_tag) { - return __unique_copy(first, last, result, forward_iterator_tag()); -} - -template -inline RandomAccessIterator __unique_copy(InputIterator first, - InputIterator last, - RandomAccessIterator result, - random_access_iterator_tag) { - return __unique_copy(first, last, result, forward_iterator_tag()); -} - -template -OutputIterator __unique_copy(InputIterator first, InputIterator last, - OutputIterator result, T*) { - T value = *first; - *result = value; - while (++first != last) - if (value != *first) { - value = *first; - *++result = value; - } - return ++result; -} - -template -inline OutputIterator __unique_copy(InputIterator first, InputIterator last, - OutputIterator result, - output_iterator_tag) { - return __unique_copy(first, last, result, value_type(first)); -} - -template -inline OutputIterator unique_copy(InputIterator first, InputIterator last, - OutputIterator result) { - if (first == last) return result; - return __unique_copy(first, last, result, iterator_category(result)); -} -template -ForwardIterator __unique_copy(InputIterator first, InputIterator last, - ForwardIterator result, - BinaryPredicate binary_pred, - forward_iterator_tag) { - *result = *first; - while (++first != last) - if (!binary_pred(*result, *first)) *++result = *first; - return ++result; -} - -template -inline BidirectionalIterator __unique_copy(InputIterator first, - InputIterator last, - BidirectionalIterator result, - BinaryPredicate binary_pred, - bidirectional_iterator_tag) { - return __unique_copy(first, last, result, binary_pred, - forward_iterator_tag()); -} - -template -inline RandomAccessIterator __unique_copy(InputIterator first, - InputIterator last, - RandomAccessIterator result, - BinaryPredicate binary_pred, - random_access_iterator_tag) { - return __unique_copy(first, last, result, binary_pred, - forward_iterator_tag()); -} - -template -OutputIterator __unique_copy(InputIterator first, InputIterator last, - OutputIterator result, - BinaryPredicate binary_pred, T*) { - T value = *first; - *result = value; - while (++first != last) - if (!binary_pred(value, *first)) { - value = *first; - *++result = value; - } - return ++result; -} - -template -inline OutputIterator __unique_copy(InputIterator first, InputIterator last, - OutputIterator result, - BinaryPredicate binary_pred, - output_iterator_tag) { - return __unique_copy(first, last, result, binary_pred, value_type(first)); -} - -template -inline OutputIterator unique_copy(InputIterator first, InputIterator last, - OutputIterator result, - BinaryPredicate binary_pred) { - if (first == last) return result; - return __unique_copy(first, last, result, binary_pred, - iterator_category(result)); -} - -template -ForwardIterator unique(ForwardIterator first, ForwardIterator last) { - first = adjacent_find(first, last); - return unique_copy(first, last, first); -} - -template -ForwardIterator unique(ForwardIterator first, ForwardIterator last, - BinaryPredicate binary_pred) { - first = adjacent_find(first, last, binary_pred); - return unique_copy(first, last, first, binary_pred); -} - -template -void __reverse(BidirectionalIterator first, BidirectionalIterator last, - bidirectional_iterator_tag) { - while (true) - if (first == last || first == --last) - return; - else - iter_swap(first++, last); -} - -template -void __reverse(RandomAccessIterator first, RandomAccessIterator last, - random_access_iterator_tag) { - while (first < last) iter_swap(first++, --last); -} - -template -inline void reverse(BidirectionalIterator first, BidirectionalIterator last) { - __reverse(first, last, iterator_category(first)); -} - -template -OutputIterator reverse_copy(BidirectionalIterator first, - BidirectionalIterator last, - OutputIterator result) { - while (first != last) *result++ = *--last; - return result; -} - -template -void __rotate(ForwardIterator first, ForwardIterator middle, - ForwardIterator last, Distance*, forward_iterator_tag) { - for (ForwardIterator i = middle; ;) { - iter_swap(first++, i++); - if (first == middle) { - if (i == last) return; - middle = i; - } else if (i == last) - i = middle; - } -} - -template -void __rotate(BidirectionalIterator first, BidirectionalIterator middle, - BidirectionalIterator last, Distance*, - bidirectional_iterator_tag) { - reverse(first, middle); - reverse(middle, last); - reverse(first, last); -} - -template -EuclideanRingElement __gcd(EuclideanRingElement m, EuclideanRingElement n) -{ - while (n != 0) { - EuclideanRingElement t = m % n; - m = n; - n = t; - } - return m; -} - -template -void __rotate_cycle(RandomAccessIterator first, RandomAccessIterator last, - RandomAccessIterator initial, Distance shift, T*) { - T value = *initial; - RandomAccessIterator ptr1 = initial; - RandomAccessIterator ptr2 = ptr1 + shift; - while (ptr2 != initial) { - *ptr1 = *ptr2; - ptr1 = ptr2; - if (last - ptr2 > shift) - ptr2 += shift; - else - ptr2 = first + (shift - (last - ptr2)); - } - *ptr1 = value; -} - -template -void __rotate(RandomAccessIterator first, RandomAccessIterator middle, - RandomAccessIterator last, Distance*, - random_access_iterator_tag) { - Distance n = __gcd(last - first, middle - first); - while (n--) - __rotate_cycle(first, last, first + n, middle - first, - value_type(first)); -} - -template -inline void rotate(ForwardIterator first, ForwardIterator middle, - ForwardIterator last) { - if (first == middle || middle == last) return; - __rotate(first, middle, last, distance_type(first), - iterator_category(first)); -} - -template -OutputIterator rotate_copy(ForwardIterator first, ForwardIterator middle, - ForwardIterator last, OutputIterator result) { - return copy(first, middle, copy(middle, last, result)); -} - -unsigned long __long_random(unsigned long); - -template -void __random_shuffle(RandomAccessIterator first, RandomAccessIterator last, - Distance*) { - if (first == last) return; - for (RandomAccessIterator i = first + 1; i != last; ++i) - iter_swap(i, first + Distance(__long_random((i - first) + 1))); -} - -template -inline void random_shuffle(RandomAccessIterator first, - RandomAccessIterator last) { - __random_shuffle(first, last, distance_type(first)); -} - -template -void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, - RandomNumberGenerator& rand) { - if (first == last) return; - for (RandomAccessIterator i = first + 1; i != last; ++i) - iter_swap(i, first + rand((i - first) + 1)); -} - -template -BidirectionalIterator partition(BidirectionalIterator first, - BidirectionalIterator last, Predicate pred) { - while (true) { - while (true) - if (first == last) - return first; - else if (pred(*first)) - ++first; - else - break; - --last; - while (true) - if (first == last) - return first; - else if (!pred(*last)) - --last; - else - break; - iter_swap(first, last); - ++first; - } -} - -template -ForwardIterator __inplace_stable_partition(ForwardIterator first, - ForwardIterator last, - Predicate pred, Distance len) { - if (len == 1) return pred(*first) ? last : first; - ForwardIterator middle = first; - advance(middle, len / 2); - ForwardIterator - first_cut = __inplace_stable_partition(first, middle, pred, len / 2); - ForwardIterator - second_cut = __inplace_stable_partition(middle, last, pred, - len - len / 2); - rotate(first_cut, middle, second_cut); - len = 0; - distance(middle, second_cut, len); - advance(first_cut, len); - return first_cut; -} - -template -ForwardIterator __stable_partition_adaptive(ForwardIterator first, - ForwardIterator last, - Predicate pred, Distance len, - Pointer buffer, - Distance buffer_size, - Distance& fill_pointer, T*) { - if (len <= buffer_size) { - len = 0; - ForwardIterator result1 = first; - Pointer result2 = buffer; - while (first != last && len < fill_pointer) - if (pred(*first)) - *result1++ = *first++; - else { - *result2++ = *first++; - ++len; - } - if (first != last) { - raw_storage_iterator result3 = result2; - while (first != last) - if (pred(*first)) - *result1++ = *first++; - else { - *result3++ = *first++; - ++len; - } - fill_pointer = len; - } - copy(buffer, buffer + len, result1); - return result1; - } - ForwardIterator middle = first; - advance(middle, len / 2); - ForwardIterator first_cut = __stable_partition_adaptive - (first, middle, pred, len / 2, buffer, buffer_size, fill_pointer, - (T*)0); - ForwardIterator second_cut = __stable_partition_adaptive - (middle, last, pred, len - len / 2, buffer, buffer_size, - fill_pointer, (T*)0); - rotate(first_cut, middle, second_cut); - len = 0; - distance(middle, second_cut, len); - advance(first_cut, len); - return first_cut; -} - -template -ForwardIterator __stable_partition(ForwardIterator first, ForwardIterator last, - Predicate pred, Distance len, - pair p) { - if (p.first == 0) - return __inplace_stable_partition(first, last, pred, len); - Distance fill_pointer = 0; - ForwardIterator result = - __stable_partition_adaptive(first, last, pred, len, p.first, p.second, - fill_pointer, value_type(first)); - destroy(p.first, p.first + fill_pointer); - return_temporary_buffer(p.first); - return result; -} - -template -inline ForwardIterator __stable_partition_aux(ForwardIterator first, - ForwardIterator last, - Predicate pred, Distance*) { - Distance len = 0; - distance(first, last, len); - return __stable_partition(first, last, pred, len, - get_temporary_buffer(len, value_type(first))); -} - -template -inline ForwardIterator stable_partition(ForwardIterator first, - ForwardIterator last, - Predicate pred) { - return __stable_partition_aux(first, last, pred, distance_type(first)); -} - -template -RandomAccessIterator __unguarded_partition(RandomAccessIterator first, - RandomAccessIterator last, - T pivot) { - while (1) { - while (*first < pivot) ++first; - --last; - while (pivot < *last) --last; - if (!(first < last)) return first; - iter_swap(first, last); - ++first; - } -} - -template -RandomAccessIterator __unguarded_partition(RandomAccessIterator first, - RandomAccessIterator last, - T pivot, Compare comp) { - while (1) { - while (comp(*first, pivot)) ++first; - --last; - while (comp(pivot, *last)) --last; - if (!(first < last)) return first; - iter_swap(first, last); - ++first; - } -} - -const int __stl_threshold = 16; - -template -void __quick_sort_loop_aux(RandomAccessIterator first, - RandomAccessIterator last, T*) { - while (last - first > __stl_threshold) { - RandomAccessIterator cut = __unguarded_partition - (first, last, T(__median(*first, *(first + (last - first)/2), - *(last - 1)))); - if (cut - first >= last - cut) { - __quick_sort_loop(cut, last); - last = cut; - } else { - __quick_sort_loop(first, cut); - first = cut; - } - } -} - -template -inline void __quick_sort_loop(RandomAccessIterator first, - RandomAccessIterator last) { - __quick_sort_loop_aux(first, last, value_type(first)); -} - -template -void __quick_sort_loop_aux(RandomAccessIterator first, - RandomAccessIterator last, T*, Compare comp) { - while (last - first > __stl_threshold) { - RandomAccessIterator cut = __unguarded_partition - (first, last, T(__median(*first, *(first + (last - first)/2), - *(last - 1), comp)), comp); - if (cut - first >= last - cut) { - __quick_sort_loop(cut, last, comp); - last = cut; - } else { - __quick_sort_loop(first, cut, comp); - first = cut; - } - } -} - -template -inline void __quick_sort_loop(RandomAccessIterator first, - RandomAccessIterator last, Compare comp) { - __quick_sort_loop_aux(first, last, value_type(first), comp); -} - -template -void __unguarded_linear_insert(RandomAccessIterator last, T value) { - RandomAccessIterator next = last; - --next; - while (value < *next) { - *last = *next; - last = next--; - } - *last = value; -} - -template -void __unguarded_linear_insert(RandomAccessIterator last, T value, - Compare comp) { - RandomAccessIterator next = last; - --next; - while (comp(value , *next)) { - *last = *next; - last = next--; - } - *last = value; -} - -template -inline void __linear_insert(RandomAccessIterator first, - RandomAccessIterator last, T*) { - T value = *last; - if (value < *first) { - copy_backward(first, last, last + 1); - *first = value; - } else - __unguarded_linear_insert(last, value); -} - -template -inline void __linear_insert(RandomAccessIterator first, - RandomAccessIterator last, T*, Compare comp) { - T value = *last; - if (comp(value, *first)) { - copy_backward(first, last, last + 1); - *first = value; - } else - __unguarded_linear_insert(last, value, comp); -} - -template -void __insertion_sort(RandomAccessIterator first, RandomAccessIterator last) { - if (first == last) return; - for (RandomAccessIterator i = first + 1; i != last; ++i) - __linear_insert(first, i, value_type(first)); -} - -template -void __insertion_sort(RandomAccessIterator first, - RandomAccessIterator last, Compare comp) { - if (first == last) return; - for (RandomAccessIterator i = first + 1; i != last; ++i) - __linear_insert(first, i, value_type(first), comp); -} - -template -void __unguarded_insertion_sort_aux(RandomAccessIterator first, - RandomAccessIterator last, T*) { - for (RandomAccessIterator i = first; i != last; ++i) - __unguarded_linear_insert(i, T(*i)); -} - -template -inline void __unguarded_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last) { - __unguarded_insertion_sort_aux(first, last, value_type(first)); -} - -template -void __unguarded_insertion_sort_aux(RandomAccessIterator first, - RandomAccessIterator last, - T*, Compare comp) { - for (RandomAccessIterator i = first; i != last; ++i) - __unguarded_linear_insert(i, T(*i), comp); -} - -template -inline void __unguarded_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last, - Compare comp) { - __unguarded_insertion_sort_aux(first, last, value_type(first), comp); -} - -template -void __final_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last) { - if (last - first > __stl_threshold) { - __insertion_sort(first, first + __stl_threshold); - __unguarded_insertion_sort(first + __stl_threshold, last); - } else - __insertion_sort(first, last); -} - -template -void __final_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last, Compare comp) { - if (last - first > __stl_threshold) { - __insertion_sort(first, first + __stl_threshold, comp); - __unguarded_insertion_sort(first + __stl_threshold, last, comp); - } else - __insertion_sort(first, last, comp); -} - -template -void sort(RandomAccessIterator first, RandomAccessIterator last) { - __quick_sort_loop(first, last); - __final_insertion_sort(first, last); -} - -template -void sort(RandomAccessIterator first, RandomAccessIterator last, - Compare comp) { - __quick_sort_loop(first, last, comp); - __final_insertion_sort(first, last, comp); -} - -template -void __inplace_stable_sort(RandomAccessIterator first, - RandomAccessIterator last) { - if (last - first < 15) { - __insertion_sort(first, last); - return; - } - RandomAccessIterator middle = first + (last - first) / 2; - __inplace_stable_sort(first, middle); - __inplace_stable_sort(middle, last); - __merge_without_buffer(first, middle, last, middle - first, last - middle); -} - -template -void __inplace_stable_sort(RandomAccessIterator first, - RandomAccessIterator last, Compare comp) { - if (last - first < 15) { - __insertion_sort(first, last, comp); - return; - } - RandomAccessIterator middle = first + (last - first) / 2; - __inplace_stable_sort(first, middle, comp); - __inplace_stable_sort(middle, last, comp); - __merge_without_buffer(first, middle, last, middle - first, - last - middle, comp); -} - -template -RandomAccessIterator3 __merge_aux(RandomAccessIterator1 first1, - RandomAccessIterator1 last1, - RandomAccessIterator2 first2, - RandomAccessIterator2 last2, - RandomAccessIterator3 result, - Distance& fill_pointer, T*){ - Distance len = 0; - while (first1 != last1 && first2 != last2 && len < fill_pointer) { - ++len; - if (*first2 < *first1) - *result++ = *first2++; - else - *result++ = *first1++; - } - if (fill_pointer == len) { - raw_storage_iterator p = result; - result += (last1 - first1) + (last2 - first2); - fill_pointer += (last1 - first1) + (last2 - first2); - while (first1 != last1 && first2 != last2) - if (*first2 < *first1) - *p++ = *first2++; - else - *p++ = *first1++; - copy(first2, last2, copy(first1, last1, p)); - } else if (first2 == last2) { - while (first1 != last1 && len < fill_pointer) { - ++len; - *result++ = *first1++; - } - if (fill_pointer == len) { - raw_storage_iterator p = result; - result += last1 - first1; - fill_pointer += last1 - first1; - while (first1 != last1) *p++ = *first1++; - } - } else { - while (first2 != last2 && len < fill_pointer) { - ++len; - *result++ = *first2++; - } - if (fill_pointer == len) { - raw_storage_iterator p = result; - result += last2 - first2; - fill_pointer += last2 - first2; - while (first2 != last2) *p++ = *first2++; - } - } - return result; -} - -template -RandomAccessIterator3 __merge_aux(RandomAccessIterator1 first1, - RandomAccessIterator1 last1, - RandomAccessIterator2 first2, - RandomAccessIterator2 last2, - RandomAccessIterator3 result, - Distance& fill_pointer, T*, Compare comp){ - Distance len = 0; - while (first1 != last1 && first2 != last2 && len < fill_pointer) { - ++len; - if (comp(*first2, *first1)) - *result++ = *first2++; - else - *result++ = *first1++; - } - if (fill_pointer <= len) { - raw_storage_iterator p = result; - result += (last1 - first1) + (last2 - first2); - fill_pointer += (last1 - first1) + (last2 - first2); - while (first1 != last1 && first2 != last2) - if (comp(*first2, *first1)) - *p++ = *first2++; - else - *p++ = *first1++; - copy(first2, last2, copy(first1, last1, p)); - } else if (first2 == last2) { - while (first1 != last1 && len < fill_pointer) { - ++len; - *result++ = *first1++; - } - if (fill_pointer == len) { - raw_storage_iterator p = result; - result += last1 - first1; - fill_pointer += last1 - first1; - while (first1 != last1) *p++ = *first1++; - } - } else { - while (first2 != last2 && len < fill_pointer) { - ++len; - *result++ = *first2++; - } - if (fill_pointer == len) { - raw_storage_iterator p = result; - result += last2 - first2; - fill_pointer += last2 - first2; - while (first2 != last2) *p++ = *first2++; - } - } - return result; -} - -template -void __merge_sort_loop_aux(RandomAccessIterator1 first, - RandomAccessIterator1 last, - RandomAccessIterator2 result, Distance step_size, - Distance& fill_pointer, T*) { - Distance two_step = 2 * step_size; - - while (last - first >= two_step) { - result = __merge_aux(first, first + step_size, first + step_size, - first + two_step, result, fill_pointer, (T*)0); - first += two_step; - } - step_size = min(Distance(last - first), step_size); - - __merge_aux(first, first + step_size, first + step_size, last, result, - fill_pointer, (T*)0); -} - -template -void __merge_sort_loop_aux(RandomAccessIterator1 first, - RandomAccessIterator1 last, - RandomAccessIterator2 result, Distance step_size, - Distance& fill_pointer, T*, Compare comp) { - Distance two_step = 2 * step_size; - - while (last - first >= two_step) { - result = __merge_aux(first, first + step_size, first + step_size, - first + two_step, result, fill_pointer, (T*)0, - comp); - first += two_step; - } - step_size = min(Distance(last - first), step_size); - - __merge_aux(first, first + step_size, first + step_size, last, result, - fill_pointer, (T*)0, comp); -} - -template -void __merge_sort_loop(RandomAccessIterator1 first, - RandomAccessIterator1 last, - RandomAccessIterator2 result, Distance step_size) { - Distance two_step = 2 * step_size; - - while (last - first >= two_step) { - result = merge(first, first + step_size, - first + step_size, first + two_step, result); - first += two_step; - } - step_size = min(Distance(last - first), step_size); - - merge(first, first + step_size, first + step_size, last, result); -} - -template -void __merge_sort_loop(RandomAccessIterator1 first, - RandomAccessIterator1 last, - RandomAccessIterator2 result, Distance step_size, - Compare comp) { - Distance two_step = 2 * step_size; - - while (last - first >= two_step) { - result = merge(first, first + step_size, - first + step_size, first + two_step, result, comp); - first += two_step; - } - step_size = min(Distance(last - first), step_size); - - merge(first, first + step_size, first + step_size, last, result, comp); -} - -const int __stl_chunk_size = 7; - -template -void __chunk_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last, Distance chunk_size) { - while (last - first >= chunk_size) { - __insertion_sort(first, first + chunk_size); - first += chunk_size; - } - __insertion_sort(first, last); -} - -template -void __chunk_insertion_sort(RandomAccessIterator first, - RandomAccessIterator last, - Distance chunk_size, Compare comp) { - while (last - first >= chunk_size) { - __insertion_sort(first, first + chunk_size, comp); - first += chunk_size; - } - __insertion_sort(first, last, comp); -} - -template -void __merge_sort_with_buffer(RandomAccessIterator first, - RandomAccessIterator last, - Pointer buffer, Distance& fill_pointer, T*) { - Distance len = last - first; - Pointer buffer_last = buffer + len; - - Distance step_size = __stl_chunk_size; - __chunk_insertion_sort(first, last, step_size); - while (step_size < len) { - __merge_sort_loop_aux(first, last, buffer, step_size, fill_pointer, - (T*)0); - step_size *= 2; - __merge_sort_loop(buffer, buffer_last, first, step_size); - step_size *= 2; - } -} - -template -void __merge_sort_with_buffer(RandomAccessIterator first, - RandomAccessIterator last, - Pointer buffer, Distance& fill_pointer, - T*, Compare comp) { - Distance len = last - first; - Pointer buffer_last = buffer + len; - - Distance step_size = __stl_chunk_size; - __chunk_insertion_sort(first, last, step_size, comp); - - while (step_size < len) { - __merge_sort_loop_aux(first, last, buffer, step_size, fill_pointer, - (T*)0, comp); - step_size *= 2; - __merge_sort_loop(buffer, buffer_last, first, step_size, comp); - step_size *= 2; - } -} - -template -void __stable_sort_adaptive(RandomAccessIterator first, - RandomAccessIterator last, Pointer buffer, - Distance buffer_size, Distance& fill_pointer, T*) { - Distance len = (last - first + 1) / 2; - RandomAccessIterator middle = first + len; - if (len > buffer_size) { - __stable_sort_adaptive(first, middle, buffer, buffer_size, - fill_pointer, (T*)0); - __stable_sort_adaptive(middle, last, buffer, buffer_size, - fill_pointer, (T*)0); - } else { - __merge_sort_with_buffer(first, middle, buffer, fill_pointer, (T*)0); - __merge_sort_with_buffer(middle, last, buffer, fill_pointer, (T*)0); - } - __merge_adaptive(first, middle, last, Distance(middle - first), - Distance(last - middle), buffer, buffer_size, - fill_pointer, (T*)0); -} - -template -void __stable_sort_adaptive(RandomAccessIterator first, - RandomAccessIterator last, Pointer buffer, - Distance buffer_size, Distance& fill_pointer, - T*, Compare comp) { - Distance len = (last - first + 1) / 2; - RandomAccessIterator middle = first + len; - if (len > buffer_size) { - __stable_sort_adaptive(first, middle, buffer, buffer_size, - fill_pointer, (T*)0, comp); - __stable_sort_adaptive(middle, last, buffer, buffer_size, - fill_pointer, (T*)0, comp); - } else { - __merge_sort_with_buffer(first, middle, buffer, fill_pointer, - (T*)0, comp); - __merge_sort_with_buffer(middle, last, buffer, fill_pointer, - (T*)0, comp); - } - __merge_adaptive(first, middle, last, Distance(middle - first), - Distance(last - middle), buffer, buffer_size, - fill_pointer, (T*)0, comp); -} - -template -inline void __stable_sort(RandomAccessIterator first, - RandomAccessIterator last, - pair p) { - if (p.first == 0) { - __inplace_stable_sort(first, last); - return; - } - Distance fill_pointer = 0; - __stable_sort_adaptive(first, last, p.first, p.second, fill_pointer, - value_type(first)); - destroy(p.first, p.first + fill_pointer); - return_temporary_buffer(p.first); -} - -template -inline void __stable_sort(RandomAccessIterator first, - RandomAccessIterator last, - pair p, Compare comp) { - if (p.first == 0) { - __inplace_stable_sort(first, last, comp); - return; - } - Distance fill_pointer = 0; - __stable_sort_adaptive(first, last, p.first, p.second, fill_pointer, - value_type(first), comp); - destroy(p.first, p.first + fill_pointer); - return_temporary_buffer(p.first); -} - -template -inline void __stable_sort_aux(RandomAccessIterator first, - RandomAccessIterator last, Distance*) { - __stable_sort(first, last, get_temporary_buffer(Distance(last - first), - value_type(first))); -} - -template -inline void __stable_sort_aux(RandomAccessIterator first, - RandomAccessIterator last, Distance*, - Compare comp) { - __stable_sort(first, last, get_temporary_buffer(Distance(last - first), - value_type(first)), comp); -} - -template -inline void stable_sort(RandomAccessIterator first, - RandomAccessIterator last) { - __stable_sort_aux(first, last, distance_type(first)); -} - -template -inline void stable_sort(RandomAccessIterator first, - RandomAccessIterator last, Compare comp) { - __stable_sort_aux(first, last, distance_type(first), comp); -} - -template -void __partial_sort(RandomAccessIterator first, RandomAccessIterator middle, - RandomAccessIterator last, T*) { - make_heap(first, middle); - for (RandomAccessIterator i = middle; i < last; ++i) - if (*i < *first) - __pop_heap(first, middle, i, T(*i), distance_type(first)); - sort_heap(first, middle); -} - -template -inline void partial_sort(RandomAccessIterator first, - RandomAccessIterator middle, - RandomAccessIterator last) { - __partial_sort(first, middle, last, value_type(first)); -} - -template -void __partial_sort(RandomAccessIterator first, RandomAccessIterator middle, - RandomAccessIterator last, T*, Compare comp) { - make_heap(first, middle, comp); - for (RandomAccessIterator i = middle; i < last; ++i) - if (*i < *first) - __pop_heap(first, middle, i, T(*i), comp, distance_type(first)); - sort_heap(first, middle, comp); -} - -template -inline void partial_sort(RandomAccessIterator first, - RandomAccessIterator middle, - RandomAccessIterator last, Compare comp) { - __partial_sort(first, middle, last, value_type(first), comp); -} - -template -RandomAccessIterator __partial_sort_copy(InputIterator first, - InputIterator last, - RandomAccessIterator result_first, - RandomAccessIterator result_last, - Distance*, T*) { - if (result_first == result_last) return result_last; - RandomAccessIterator result_real_last = result_first; - while(first != last && result_real_last != result_last) - *result_real_last++ = *first++; - make_heap(result_first, result_real_last); - while (first != last) { - if (*first < *result_first) - __adjust_heap(result_first, Distance(0), - Distance(result_real_last - result_first), T(*first)); - ++first; - } - sort_heap(result_first, result_real_last); - return result_real_last; -} - -template -inline RandomAccessIterator -partial_sort_copy(InputIterator first, InputIterator last, - RandomAccessIterator result_first, - RandomAccessIterator result_last) { - return __partial_sort_copy(first, last, result_first, result_last, - distance_type(result_first), value_type(first)); -} - -template -RandomAccessIterator __partial_sort_copy(InputIterator first, - InputIterator last, - RandomAccessIterator result_first, - RandomAccessIterator result_last, - Compare comp, Distance*, T*) { - if (result_first == result_last) return result_last; - RandomAccessIterator result_real_last = result_first; - while(first != last && result_real_last != result_last) - *result_real_last++ = *first++; - make_heap(result_first, result_real_last, comp); - while (first != last) { - if (*first < *result_first) - __adjust_heap(result_first, Distance(0), - Distance(result_real_last - result_first), T(*first), - comp); - ++first; - } - sort_heap(result_first, result_real_last, comp); - return result_real_last; -} - -template -inline RandomAccessIterator -partial_sort_copy(InputIterator first, InputIterator last, - RandomAccessIterator result_first, - RandomAccessIterator result_last, Compare comp) { - return __partial_sort_copy(first, last, result_first, result_last, comp, - distance_type(result_first), value_type(first)); -} - -template -void __nth_element(RandomAccessIterator first, RandomAccessIterator nth, - RandomAccessIterator last, T*) { - while (last - first > 3) { - RandomAccessIterator cut = __unguarded_partition - (first, last, T(__median(*first, *(first + (last - first)/2), - *(last - 1)))); - if (cut <= nth) - first = cut; - else - last = cut; - } - __insertion_sort(first, last); -} - -template -inline void nth_element(RandomAccessIterator first, RandomAccessIterator nth, - RandomAccessIterator last) { - __nth_element(first, nth, last, value_type(first)); -} - -template -void __nth_element(RandomAccessIterator first, RandomAccessIterator nth, - RandomAccessIterator last, T*, Compare comp) { - while (last - first > 3) { - RandomAccessIterator cut = __unguarded_partition - (first, last, T(__median(*first, *(first + (last - first)/2), - *(last - 1), comp)), comp); - if (cut <= nth) - first = cut; - else - last = cut; - } - __insertion_sort(first, last, comp); -} - -template -inline void nth_element(RandomAccessIterator first, RandomAccessIterator nth, - RandomAccessIterator last, Compare comp) { - __nth_element(first, nth, last, value_type(first), comp); -} - -template -ForwardIterator __lower_bound(ForwardIterator first, ForwardIterator last, - const T& value, Distance*, - forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (*middle < value) { - first = middle; - ++first; - len = len - half - 1; - } else - len = half; - } - return first; -} - -template -inline ForwardIterator __lower_bound(ForwardIterator first, - ForwardIterator last, - const T& value, Distance*, - bidirectional_iterator_tag) { - return __lower_bound(first, last, value, (Distance*)0, - forward_iterator_tag()); -} - -template -RandomAccessIterator __lower_bound(RandomAccessIterator first, - RandomAccessIterator last, const T& value, - Distance*, random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (*middle < value) { - first = middle + 1; - len = len - half - 1; - } else - len = half; - } - return first; -} - -template -inline ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, - const T& value) { - return __lower_bound(first, last, value, distance_type(first), - iterator_category(first)); -} - -template -ForwardIterator __lower_bound(ForwardIterator first, ForwardIterator last, - const T& value, Compare comp, Distance*, - forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (comp(*middle, value)) { - first = middle; - ++first; - len = len - half - 1; - } else - len = half; - } - return first; -} - -template -inline ForwardIterator __lower_bound(ForwardIterator first, - ForwardIterator last, - const T& value, Compare comp, Distance*, - bidirectional_iterator_tag) { - return __lower_bound(first, last, value, comp, (Distance*)0, - forward_iterator_tag()); -} - -template -RandomAccessIterator __lower_bound(RandomAccessIterator first, - RandomAccessIterator last, - const T& value, Compare comp, Distance*, - random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (comp(*middle, value)) { - first = middle + 1; - len = len - half - 1; - } else - len = half; - } - return first; -} - -template -inline ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, - const T& value, Compare comp) { - return __lower_bound(first, last, value, comp, distance_type(first), - iterator_category(first)); -} - -template -ForwardIterator __upper_bound(ForwardIterator first, ForwardIterator last, - const T& value, Distance*, - forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (value < *middle) - len = half; - else { - first = middle; - ++first; - len = len - half - 1; - } - } - return first; -} - -template -inline ForwardIterator __upper_bound(ForwardIterator first, - ForwardIterator last, - const T& value, Distance*, - bidirectional_iterator_tag) { - return __upper_bound(first, last, value, (Distance*)0, - forward_iterator_tag()); -} - -template -RandomAccessIterator __upper_bound(RandomAccessIterator first, - RandomAccessIterator last, const T& value, - Distance*, random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (value < *middle) - len = half; - else { - first = middle + 1; - len = len - half - 1; - } - } - return first; -} - -template -inline ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, - const T& value) { - return __upper_bound(first, last, value, distance_type(first), - iterator_category(first)); -} - -template -ForwardIterator __upper_bound(ForwardIterator first, ForwardIterator last, - const T& value, Compare comp, Distance*, - forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (comp(value, *middle)) - len = half; - else { - first = middle; - ++first; - len = len - half - 1; - } - } - return first; -} - -template -inline ForwardIterator __upper_bound(ForwardIterator first, - ForwardIterator last, - const T& value, Compare comp, Distance*, - bidirectional_iterator_tag) { - return __upper_bound(first, last, value, comp, (Distance*)0, - forward_iterator_tag()); -} - -template -RandomAccessIterator __upper_bound(RandomAccessIterator first, - RandomAccessIterator last, - const T& value, Compare comp, Distance*, - random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (comp(value, *middle)) - len = half; - else { - first = middle + 1; - len = len - half - 1; - } - } - return first; -} - -template -inline ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, - const T& value, Compare comp) { - return __upper_bound(first, last, value, comp, distance_type(first), - iterator_category(first)); -} - -template -pair -__equal_range(ForwardIterator first, ForwardIterator last, const T& value, - Distance*, forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle, left, right; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (*middle < value) { - first = middle; - ++first; - len = len - half - 1; - } else if (value < *middle) - len = half; - else { - left = lower_bound(first, middle, value); - advance(first, len); - right = upper_bound(++middle, first, value); - return pair(left, right); - } - } - return pair(first, first); -} - -template -inline pair -__equal_range(ForwardIterator first, ForwardIterator last, const T& value, - Distance*, bidirectional_iterator_tag) { - return __equal_range(first, last, value, (Distance*)0, - forward_iterator_tag()); -} - -template -pair -__equal_range(RandomAccessIterator first, RandomAccessIterator last, - const T& value, Distance*, random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle, left, right; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (*middle < value) { - first = middle + 1; - len = len - half - 1; - } else if (value < *middle) - len = half; - else { - left = lower_bound(first, middle, value); - right = upper_bound(++middle, first + len, value); - return pair(left, - right); - } - } - return pair(first, first); -} - -template -inline pair -equal_range(ForwardIterator first, ForwardIterator last, const T& value) { - return __equal_range(first, last, value, distance_type(first), - iterator_category(first)); -} - -template -pair -__equal_range(ForwardIterator first, ForwardIterator last, const T& value, - Compare comp, Distance*, forward_iterator_tag) { - Distance len = 0; - distance(first, last, len); - Distance half; - ForwardIterator middle, left, right; - - while (len > 0) { - half = len / 2; - middle = first; - advance(middle, half); - if (comp(*middle, value)) { - first = middle; - ++first; - len = len - half - 1; - } else if (comp(value, *middle)) - len = half; - else { - left = lower_bound(first, middle, value, comp); - advance(first, len); - right = upper_bound(++middle, first, value, comp); - return pair(left, right); - } - } - return pair(first, first); -} - -template -inline pair -__equal_range(ForwardIterator first, ForwardIterator last, const T& value, - Compare comp, Distance*, bidirectional_iterator_tag) { - return __equal_range(first, last, value, comp, (Distance*)0, - forward_iterator_tag()); -} - -template -pair -__equal_range(RandomAccessIterator first, RandomAccessIterator last, - const T& value, Compare comp, Distance*, - random_access_iterator_tag) { - Distance len = last - first; - Distance half; - RandomAccessIterator middle, left, right; - - while (len > 0) { - half = len / 2; - middle = first + half; - if (comp(*middle, value)) { - first = middle + 1; - len = len - half - 1; - } else if (comp(value, *middle)) - len = half; - else { - left = lower_bound(first, middle, value, comp); - right = upper_bound(++middle, first + len, value, comp); - return pair(left, - right); - } - } - return pair(first, first); -} - -template -inline pair -equal_range(ForwardIterator first, ForwardIterator last, const T& value, - Compare comp) { - return __equal_range(first, last, value, comp, distance_type(first), - iterator_category(first)); -} - -template -bool binary_search(ForwardIterator first, ForwardIterator last, - const T& value) { - ForwardIterator i = lower_bound(first, last, value); - return i != last && !(value < *i); -} - -template -bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, - Compare comp) { - ForwardIterator i = lower_bound(first, last, value, comp); - return i != last && !comp(value, *i); -} - -template -OutputIterator merge(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result) { - while (first1 != last1 && first2 != last2) - if (*first2 < *first1) - *result++ = *first2++; - else - *result++ = *first1++; - return copy(first2, last2, copy(first1, last1, result)); -} - -template -OutputIterator merge(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first2, *first1)) - *result++ = *first2++; - else - *result++ = *first1++; - return copy(first2, last2, copy(first1, last1, result)); -} - -template -void __merge_without_buffer(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, - Distance len1, Distance len2) { - if (len1 == 0 || len2 == 0) return; - if (len1 + len2 == 2) { - if (*middle < *first) iter_swap(first, middle); - return; - } - BidirectionalIterator first_cut = first; - BidirectionalIterator second_cut = middle; - Distance len11 = 0; - Distance len22 = 0; - if (len1 > len2) { - len11 = len1 / 2; - advance(first_cut, len11); - second_cut = lower_bound(middle, last, *first_cut); - distance(middle, second_cut, len22); - } else { - len22 = len2 / 2; - advance(second_cut, len22); - first_cut = upper_bound(first, middle, *second_cut); - distance(first, first_cut, len11); - } - rotate(first_cut, middle, second_cut); - BidirectionalIterator new_middle = first_cut; - advance(new_middle, len22); - __merge_without_buffer(first, first_cut, new_middle, len11, len22); - __merge_without_buffer(new_middle, second_cut, last, len1 - len11, - len2 - len22); -} - -template -void __merge_without_buffer(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, - Distance len1, Distance len2, Compare comp) { - if (len1 == 0 || len2 == 0) return; - if (len1 + len2 == 2) { - if (comp(*middle, *first)) iter_swap(first, middle); - return; - } - BidirectionalIterator first_cut = first; - BidirectionalIterator second_cut = middle; - Distance len11 = 0; - Distance len22 = 0; - if (len1 > len2) { - len11 = len1 / 2; - advance(first_cut, len11); - second_cut = lower_bound(middle, last, *first_cut, comp); - distance(middle, second_cut, len22); - } else { - len22 = len2 / 2; - advance(second_cut, len22); - first_cut = upper_bound(first, middle, *second_cut, comp); - distance(first, first_cut, len11); - } - rotate(first_cut, middle, second_cut); - BidirectionalIterator new_middle = first_cut; - advance(new_middle, len22); - __merge_without_buffer(first, first_cut, new_middle, len11, len22, comp); - __merge_without_buffer(new_middle, second_cut, last, len1 - len11, - len2 - len22, comp); -} - - -template -OutputIterator __borland_bugfix_copy(InputIterator first, InputIterator last, - OutputIterator result) { -// this is used in __rotate_adaptive to work around some obscure Borland -// bug. It is the same as copy, but with a different (and appropriate) name. - while (first != last) *result++ = *first++; - return result; -} - -template -BidirectionalIterator1 __rotate_adaptive(BidirectionalIterator1 first, - BidirectionalIterator1 middle, - BidirectionalIterator1 last, - Distance len1, Distance len2, - BidirectionalIterator2 buffer, - Distance buffer_size) { - BidirectionalIterator2 buffer_end; - if (len1 > len2 && len2 <= buffer_size) { - buffer_end = __borland_bugfix_copy(middle, last, buffer); - copy_backward(first, middle, last); - return copy(buffer, buffer_end, first); - } else if (len1 <= buffer_size) { - buffer_end = __borland_bugfix_copy(first, middle, buffer); - copy(middle, last, first); - return copy_backward(buffer, buffer_end, last); - } else { - rotate(first, middle, last); - advance(first, len2); - return first; - } -} - -template -BidirectionalIterator3 __merge_backward(BidirectionalIterator1 first1, - BidirectionalIterator1 last1, - BidirectionalIterator2 first2, - BidirectionalIterator2 last2, - BidirectionalIterator3 result) { - if (first1 == last1) return copy_backward(first2, last2, result); - if (first2 == last2) return copy_backward(first1, last1, result); - --last1; - --last2; - while (true) { - if (*last2 < *last1) { - *--result = *last1; - if (first1 == last1) return copy_backward(first2, ++last2, result); - --last1; - } else { - *--result = *last2; - if (first2 == last2) return copy_backward(first1, ++last1, result); - --last2; - } - } -} - -template -BidirectionalIterator3 __merge_backward(BidirectionalIterator1 first1, - BidirectionalIterator1 last1, - BidirectionalIterator2 first2, - BidirectionalIterator2 last2, - BidirectionalIterator3 result, - Compare comp) { - if (first1 == last1) return copy_backward(first2, last2, result); - if (first2 == last2) return copy_backward(first1, last1, result); - --last1; - --last2; - while (true) { - if (comp(*last2, *last1)) { - *--result = *last1; - if (first1 == last1) return copy_backward(first2, ++last2, result); - --last1; - } else { - *--result = *last2; - if (first2 == last2) return copy_backward(first1, ++last1, result); - --last2; - } - } -} - -template -void __merge_adaptive(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance len1, Distance len2, - Pointer buffer, Distance buffer_size, - Distance& fill_pointer, T*) { - if (len1 <= len2 && len1 <= buffer_size) { - BidirectionalIterator i = first; - Pointer j = buffer; - len2 = 0; - while (len2 < len1 && len2 < fill_pointer) { - *buffer++ = *first++; - ++len2; - } - raw_storage_iterator end_buffer = buffer; - while (len2++ < len1) { - *end_buffer++ = *first++; - ++fill_pointer; - } - merge(j, j + len1, middle, last, i); - } else if (len2 <= buffer_size) { - BidirectionalIterator i = middle; - Pointer j = buffer; - len1 = 0; - while (len1 < len2 && len1 < fill_pointer) { - *buffer++ = *middle++; - ++len1; - } - raw_storage_iterator end_buffer = buffer; - while (len1++ < len2) { - *end_buffer++ = *middle++; - ++fill_pointer; - } - __merge_backward(first, i, j, j + len2, last); - } else { - BidirectionalIterator first_cut = first; - BidirectionalIterator second_cut = middle; - Distance len11 = 0; - Distance len22 = 0; - if (len1 > len2) { - len11 = len1 / 2; - advance(first_cut, len11); - second_cut = lower_bound(middle, last, *first_cut); - distance(middle, second_cut, len22); - } else { - len22 = len2 / 2; - advance(second_cut, len22); - first_cut = upper_bound(first, middle, *second_cut); - distance(first, first_cut, len11); - } - BidirectionalIterator new_middle = - __rotate_adaptive(first_cut, middle, second_cut, len1 - len11, - len22, buffer, buffer_size); - __merge_adaptive(first, first_cut, new_middle, len11, len22, buffer, - buffer_size, fill_pointer, (T*)0); - __merge_adaptive(new_middle, second_cut, last, len1 - len11, - len2 - len22, buffer, buffer_size, fill_pointer, - (T*)0); - } -} - -template -void __merge_adaptive(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance len1, Distance len2, - Pointer buffer, Distance buffer_size, - Distance& fill_pointer, T*, Compare comp) { - if (len1 <= len2 && len1 <= buffer_size) { - BidirectionalIterator i = first; - Pointer j = buffer; - len2 = 0; - while (len2 < len1 && len2 < fill_pointer) { - *buffer++ = *first++; - ++len2; - } - raw_storage_iterator end_buffer = buffer; - while (len2++ < len1) { - *end_buffer++ = *first++; - ++fill_pointer; - } - merge(j, j + len1, middle, last, i, comp); - } else if (len2 <= buffer_size) { - BidirectionalIterator i = middle; - Pointer j = buffer; - len1 = 0; - while (len1 < len2 && len1 < fill_pointer) { - *buffer++ = *middle++; - ++len1; - } - raw_storage_iterator end_buffer = buffer; - while (len1++ < len2) { - *end_buffer++ = *middle++; - ++fill_pointer; - } - __merge_backward(first, i, j, j + len2, last, comp); - } else { - BidirectionalIterator first_cut = first; - BidirectionalIterator second_cut = middle; - Distance len11 = 0; - Distance len22 = 0; - if (len1 > len2) { - len11 = len1 / 2; - advance(first_cut, len11); - second_cut = lower_bound(middle, last, *first_cut, comp); - distance(middle, second_cut, len22); - } else { - len22 = len2 / 2; - advance(second_cut, len22); - first_cut = upper_bound(first, middle, *second_cut, comp); - distance(first, first_cut, len11); - } - BidirectionalIterator new_middle = - __rotate_adaptive(first_cut, middle, second_cut, len1 - len11, - len22, buffer, buffer_size); - __merge_adaptive(first, first_cut, new_middle, len11, len22, buffer, - buffer_size, fill_pointer, (T*)0, comp); - __merge_adaptive(new_middle, second_cut, last, len1 - len11, - len2 - len22, buffer, buffer_size, fill_pointer, - (T*)0, comp); - } -} - -template -void __inplace_merge(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance len1, Distance len2, - pair p) { - if (p.first == 0) { - __merge_without_buffer(first, middle, last, len1, len2); - return; - } - Distance fill_pointer = 0; - __merge_adaptive(first, middle, last, len1, len2, p.first, p.second, - fill_pointer, value_type(first)); - destroy(p.first, p.first + fill_pointer); - return_temporary_buffer(p.first); -} - -template -void __inplace_merge(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance len1, Distance len2, - pair p, Compare comp) { - if (p.first == 0) { - __merge_without_buffer(first, middle, last, len1, len2, comp); - return; - } - Distance fill_pointer = 0; - __merge_adaptive(first, middle, last, len1, len2, p.first, p.second, - fill_pointer, value_type(first), comp); - destroy(p.first, p.first + fill_pointer); - return_temporary_buffer(p.first); -} - -template -inline void __inplace_merge_aux(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance*) { - Distance len1 = 0; - distance(first, middle, len1); - Distance len2 = 0; - distance(middle, last, len2); - __inplace_merge(first, middle, last, len1, len2, - get_temporary_buffer(len1 + len2, value_type(first))); -} - -template -inline void __inplace_merge_aux(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Distance*, - Compare comp) { - Distance len1 = 0; - distance(first, middle, len1); - Distance len2 = 0; - distance(middle, last, len2); - __inplace_merge(first, middle, last, len1, len2, - get_temporary_buffer(len1 + len2, value_type(first)), - comp); -} - -template -inline void inplace_merge(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last) { - __inplace_merge_aux(first, middle, last, distance_type(first)); -} - -template -inline void inplace_merge(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last, Compare comp) { - __inplace_merge_aux(first, middle, last, distance_type(first), comp); -} - -template -bool includes(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2) { - while (first1 != last1 && first2 != last2) - if (*first2 < *first1) - return false; - else if(*first1 < *first2) - ++first1; - else - ++first1, ++first2; - - return first2 == last2; -} - -template -bool includes(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first2, *first1)) - return false; - else if(comp(*first1, *first2)) - ++first1; - else - ++first1, ++first2; - - return first2 == last2; -} - -template -OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result) { - while (first1 != last1 && first2 != last2) - if (*first1 < *first2) - *result++ = *first1++; - else if (*first2 < *first1) - *result++ = *first2++; - else { - *result++ = *first1++; - first2++; - } - return copy(first2, last2, copy(first1, last1, result)); -} - -template -OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first1, *first2)) - *result++ = *first1++; - else if (comp(*first2, *first1)) - *result++ = *first2++; - else { - *result++ = *first1++; - ++first2; - } - return copy(first2, last2, copy(first1, last1, result)); -} - -template -OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result) { - while (first1 != last1 && first2 != last2) - if (*first1 < *first2) - ++first1; - else if (*first2 < *first1) - ++first2; - else { - *result++ = *first1++; - ++first2; - } - return result; -} - -template -OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first1, *first2)) - ++first1; - else if (comp(*first2, *first1)) - ++first2; - else { - *result++ = *first1++; - ++first2; - } - return result; -} - -template -OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result) { - while (first1 != last1 && first2 != last2) - if (*first1 < *first2) - *result++ = *first1++; - else if (*first2 < *first1) - ++first2; - else { - ++first1; - ++first2; - } - return copy(first1, last1, result); -} - -template -OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - OutputIterator result, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first1, *first2)) - *result++ = *first1++; - else if (comp(*first2, *first1)) - ++first2; - else { - ++first1; - ++first2; - } - return copy(first1, last1, result); -} - -template -OutputIterator set_symmetric_difference(InputIterator1 first1, - InputIterator1 last1, - InputIterator2 first2, - InputIterator2 last2, - OutputIterator result) { - while (first1 != last1 && first2 != last2) - if (*first1 < *first2) - *result++ = *first1++; - else if (*first2 < *first1) - *result++ = *first2++; - else { - ++first1; - ++first2; - } - return copy(first2, last2, copy(first1, last1, result)); -} - -template -OutputIterator set_symmetric_difference(InputIterator1 first1, - InputIterator1 last1, - InputIterator2 first2, - InputIterator2 last2, - OutputIterator result, Compare comp) { - while (first1 != last1 && first2 != last2) - if (comp(*first1, *first2)) - *result++ = *first1++; - else if (comp(*first2, *first1)) - *result++ = *first2++; - else { - ++first1; - ++first2; - } - return copy(first2, last2, copy(first1, last1, result)); -} - -template -InputIterator max_element(InputIterator first, InputIterator last) { - if (first == last) return first; - InputIterator result = first; - while (++first != last) - if (*result < *first) result = first; - return result; -} - -template -InputIterator max_element(InputIterator first, InputIterator last, - Compare comp) { - if (first == last) return first; - InputIterator result = first; - while (++first != last) - if (comp(*result, *first)) result = first; - return result; -} - -template -InputIterator min_element(InputIterator first, InputIterator last) { - if (first == last) return first; - InputIterator result = first; - while (++first != last) - if (*first < *result) result = first; - return result; -} - -template -InputIterator min_element(InputIterator first, InputIterator last, - Compare comp) { - if (first == last) return first; - InputIterator result = first; - while (++first != last) - if (comp(*first, *result)) result = first; - return result; -} - -template -bool next_permutation(BidirectionalIterator first, - BidirectionalIterator last) { - if (first == last) return false; - BidirectionalIterator i = first; - ++i; - if (i == last) return false; - i = last; - --i; - - for(;;) { - BidirectionalIterator ii = i--; - if (*i < *ii) { - BidirectionalIterator j = last; - while (!(*i < *--j)); - iter_swap(i, j); - reverse(ii, last); - return true; - } - if (i == first) { - reverse(first, last); - return false; - } - } -} - -template -bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, - Compare comp) { - if (first == last) return false; - BidirectionalIterator i = first; - ++i; - if (i == last) return false; - i = last; - --i; - - for(;;) { - BidirectionalIterator ii = i--; - if (comp(*i, *ii)) { - BidirectionalIterator j = last; - while (!comp(*i, *--j)); - iter_swap(i, j); - reverse(ii, last); - return true; - } - if (i == first) { - reverse(first, last); - return false; - } - } -} - -template -bool prev_permutation(BidirectionalIterator first, - BidirectionalIterator last) { - if (first == last) return false; - BidirectionalIterator i = first; - ++i; - if (i == last) return false; - i = last; - --i; - - for(;;) { - BidirectionalIterator ii = i--; - if (!(*i < *ii)) { - BidirectionalIterator j = last; - while (*i < *--j); - iter_swap(i, j); - reverse(ii, last); - return true; - } - if (i == first) { - reverse(first, last); - return false; - } - } -} - -template -bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, - Compare comp) { - if (first == last) return false; - BidirectionalIterator i = first; - ++i; - if (i == last) return false; - i = last; - --i; - - for(;;) { - BidirectionalIterator ii = i--; - if (!comp(*i, *ii)) { - BidirectionalIterator j = last; - while (comp(*i, *--j)); - iter_swap(i, j); - reverse(ii, last); - return true; - } - if (i == first) { - reverse(first, last); - return false; - } - } -} - -template -T accumulate(InputIterator first, InputIterator last, T init) { - while (first != last) - init = init + *first++; - return init; -} - -template -T accumulate(InputIterator first, InputIterator last, T init, - BinaryOperation binary_op) { - while (first != last) - init = binary_op(init, *first++); - return init; -} - -template -T inner_product(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, T init) { - while (first1 != last1) - init = init + (*first1++ * *first2++); - return init; -} - -template -T inner_product(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, T init, BinaryOperation1 binary_op1, - BinaryOperation2 binary_op2) { - while (first1 != last1) - init = binary_op1(init, binary_op2(*first1++, *first2++)); - return init; -} - -template -OutputIterator __partial_sum(InputIterator first, InputIterator last, - OutputIterator result, T*) { - T value = *first; - while (++first != last) { - value = value + *first; - *++result = value; - } - return ++result; -} - -template -OutputIterator partial_sum(InputIterator first, InputIterator last, - OutputIterator result) { - if (first == last) return result; - *result = *first; - return __partial_sum(first, last, result, value_type(first)); -} - -template -OutputIterator __partial_sum(InputIterator first, InputIterator last, - OutputIterator result, T*, - BinaryOperation binary_op) { - T value = *first; - while (++first != last) { - value = binary_op(value, *first); - *++result = value; - } - return ++result; -} - -template -OutputIterator partial_sum(InputIterator first, InputIterator last, - OutputIterator result, BinaryOperation binary_op) { - if (first == last) return result; - *result = *first; - return __partial_sum(first, last, result, value_type(first), binary_op); -} - -template -OutputIterator __adjacent_difference(InputIterator first, InputIterator last, - OutputIterator result, T*) { - T value = *first; - while (++first != last) { - T tmp = *first; - *++result = tmp - value; - value = tmp; - } - return ++result; -} - -template -OutputIterator adjacent_difference(InputIterator first, InputIterator last, - OutputIterator result) { - if (first == last) return result; - *result = *first; - return __adjacent_difference(first, last, result, value_type(first)); -} - -template -OutputIterator __adjacent_difference(InputIterator first, InputIterator last, - OutputIterator result, T*, - BinaryOperation binary_op) { - T value = *first; - while (++first != last) { - T tmp = *first; - *++result = binary_op(tmp, value); - value = tmp; - } - return ++result; -} - -template -OutputIterator adjacent_difference(InputIterator first, InputIterator last, - OutputIterator result, - BinaryOperation binary_op) { - if (first == last) return result; - *result = *first; - return __adjacent_difference(first, last, result, value_type(first), - binary_op); -} - -template -void iota(ForwardIterator first, ForwardIterator last, T value) { - while (first != last) *first++ = value++; -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/algobase.h b/STL/algobase.h deleted file mode 100644 index 17816328155..00000000000 --- a/STL/algobase.h +++ /dev/null @@ -1,250 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef ALGOBASE_H -#define ALGOBASE_H - -#include -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -inline void __iter_swap(ForwardIterator1 a, ForwardIterator2 b, T*) { - T tmp = *a; - *a = *b; - *b = tmp; -} - -template -inline void iter_swap(ForwardIterator1 a, ForwardIterator2 b) { - __iter_swap(a, b, value_type(a)); -} - -template -inline void swap(T& a, T& b) { - T tmp = a; - a = b; - b = tmp; -} - -#if ! defined (VXWORKS) -template -inline const T& min(const T& a, const T& b) { - return b < a ? b : a; -} - -template -inline const T& min(const T& a, const T& b, Compare comp) { - return comp(b, a) ? b : a; -} - -template -inline const T& max(const T& a, const T& b) { - return a < b ? b : a; -} - -template -inline const T& max(const T& a, const T& b, Compare comp) { - return comp(a, b) ? b : a; -} -#endif /* VXWORKS */ - -template -void __distance(InputIterator first, InputIterator last, Distance& n, - input_iterator_tag) { - while (first != last) { ++first; ++n; } -} - -template -void __distance(ForwardIterator first, ForwardIterator last, Distance& n, - forward_iterator_tag) { - while (first != last) { ++first; ++n; } -} - -template -void __distance(BidirectionalIterator first, BidirectionalIterator last, - Distance& n, bidirectional_iterator_tag) { - while (first != last) { ++first; ++n; } -} - -template -inline void __distance(RandomAccessIterator first, RandomAccessIterator last, - Distance& n, random_access_iterator_tag) { - n = last - first; -} - -template -inline void distance(InputIterator first, InputIterator last, Distance& n) { - __distance(first, last, n, iterator_category(first)); -} - -template -void __advance(InputIterator& i, Distance n, input_iterator_tag) { - while (n--) ++i; -} - -template -void __advance(ForwardIterator& i, Distance n, forward_iterator_tag) { - while (n--) ++i; -} - -template -void __advance(BidirectionalIterator& i, Distance n, - bidirectional_iterator_tag) { - if (n >= 0) - while (n--) ++i; - else - while (n++) --i; -} - -template -inline void __advance(RandomAccessIterator& i, Distance n, - random_access_iterator_tag) { - i += n; -} - -template -inline void advance(InputIterator& i, Distance n) { - __advance(i, n, iterator_category(i)); -} - -template -void destroy(ForwardIterator first, ForwardIterator last) { - while (first != last) { - /* Borland bug */ - destroy(first); - ++first; - //destroy(first++); - } -} - -template -ForwardIterator uninitialized_copy(InputIterator first, InputIterator last, - ForwardIterator result) { - while (first != last) construct(result++, *first++); - return result; -} - -template -void uninitialized_fill(ForwardIterator first, ForwardIterator last, - const T& x) { - while (first != last) construct(first++, x); -} - -template -void uninitialized_fill_n(ForwardIterator first, Size n, const T& x) { - while (n--) construct(first++, x); -} - -template -OutputIterator copy(InputIterator first, InputIterator last, - OutputIterator result) { - while (first != last) *result++ = *first++; - return result; -} - -template -BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, - BidirectionalIterator1 last, - BidirectionalIterator2 result) { - while (first != last) *--result = *--last; - return result; -} - -template -void fill(ForwardIterator first, ForwardIterator last, const T& value) { - while (first != last) *first++ = value; -} - -template -void fill_n(OutputIterator first, Size n, const T& value) { - while (n-- > 0) *first++ = value; -} - -template -pair mismatch(InputIterator1 first1, - InputIterator1 last1, - InputIterator2 first2) { - while (first1 != last1 && *first1 == *first2) { - ++first1; - ++first2; - } - return pair(first1, first2); -} - -template -pair mismatch(InputIterator1 first1, - InputIterator1 last1, - InputIterator2 first2, - BinaryPredicate binary_pred) { - while (first1 != last1 && binary_pred(*first1, *first2)) { - ++first1; - ++first2; - } - return pair(first1, first2); -} - -template -inline bool equal(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2) { - return mismatch(first1, last1, first2).first == last1; -} - -template -inline bool equal(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, BinaryPredicate binary_pred) { - return mismatch(first1, last1, first2, binary_pred).first == last1; -} - -template -bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2) { - while (first1 != last1 && first2 != last2) { - if (*first1 < *first2) return true; - if (*first2++ < *first1++) return false; - } - return first1 == last1 && first2 != last2; -} - -template -bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, InputIterator2 last2, - Compare comp) { - while (first1 != last1 && first2 != last2) { - if (comp(*first1, *first2)) return true; - if (comp(*first2++, *first1++)) return false; - } - return first1 == last1 && first2 != last2; -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/bool.h b/STL/bool.h deleted file mode 100644 index 095ee898ad0..00000000000 --- a/STL/bool.h +++ /dev/null @@ -1,57 +0,0 @@ - - -#if !defined (ACE_BOOL_H) -#define ACE_BOOL_H - -// Define bool out of the std namespace. -#if (_MSC_VER > 1010) -#include /**/ -#else -#if !defined (bool) -#define bool int -#endif /* bool */ - -#if !defined (true) -#define true 1 -#endif /* true */ - -#if !defined (false) -#define false 0 -#endif /* false */ - -#endif /* WIN32 */ - - - /* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif /* ACE_BOOL_H */ diff --git a/STL/bstring.h b/STL/bstring.h deleted file mode 100644 index 04f6d9e6c01..00000000000 --- a/STL/bstring.h +++ /dev/null @@ -1,2516 +0,0 @@ -/** - ** Copyright (c) 1994-1995 Modena Software Inc., - ** - ** Permission to use, copy, modify, distribute and sell this software - ** and its documentation for any purpose is hereby granted without fee, - ** provided that the above copyright notice appear in all copies and - ** that both that copyright notice and this permission notice appear - ** in supporting documentation. Modena Software, Inc. makes no - ** representations about the suitability of this software for any - ** purpose. It is provided "as is" without express or implied warranty. - ** - **/ - -#ifndef __cplusplus -#error Must use C++ for BSTRING.H -#endif - -#ifndef __MBSTRING_H -#define __MBSTRING_H - -extern "C" { -#include -#include -#include -#include -} - -#include -#include - -// bc4const - -#ifdef __BC4_STL -#define __BC401_STL -#endif - -#ifdef __BC401_STL -#define __BC401_const -#else -#define __BC401_const const -#endif - -// bndchk.h -#ifdef BOUNDS_CHECK -void check_bounds - ( int index, - int container_size, - int lineno, - char *filename ); -#endif - -// mexcept.h - -#define _THROW_NONE -#define _THROW_DOMAIN -#define _THROW_INVALIDARG -#define _THROW_LENGTH -#define _THROW_OUTRANGE -#define _THROW_RANGE -#define _THROW_OVERFLOW -#define _THROW_ALLOC -#define _THROW_CAST -#define _THROW_TYPEID -#define _THROW_ALLOC_LENGTH -#define _THROW_ALLOC_OUTRANGE -#define _THROW_LENGTH_OUTRANGE -#define _THROW_ALLOC_LENGTH_OUTRANGE - -#include - -#ifdef __MMULTITHREAD -#include /**/ "mutex.h" -#endif - -const size_t NPOS = (size_t)(-1); - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -enum capacity { default_size, reserve }; - -template -struct string_char_baggage { - - typedef charT char_type; - - // - // for users to acquire the basic character type - // - // constraints functions - // - static void - assign (char_type& c1, const char_type& c2) _THROW_NONE - { - c1 = c2; - } - static bool - eq (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 == c2); - } - static bool - ne (const char_type& c1, const char_type& c2) _THROW_NONE - { - return !(c1 == c2); - } - static bool - lt (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 < c2); - } - static char_type - eos () _THROW_NONE - { - return char_type(); // the null character - } - static istream& - char_in (istream& is, char_type& c) _THROW_NONE - { - return is >> c; // extractor for a char_type object - } - static ostream& - char_out (ostream& os, char_type c) _THROW_NONE - { - return os << c; // inserter for a char_type object - } - static bool - is_del (char_type c) _THROW_NONE - { - // characteristic function for delimiters of char_type - return isspace(c) != 0; - } - - // - // speed-up functions - // - static int - compare (const char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - for (size_t i = 0; i < n; ++i, ++s1, ++s2) - if (ne(*s1, *s2)) - { - return lt(*s1, *s2) ? -1 : 1; - } - return 0; - } - static size_t - length (const char_type* s) _THROW_NONE - { - size_t l = 0; - while (ne(*s++, eos())) - ++l; - return l; - } - static char_type* - copy (char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - char_type* s = s1; - for (size_t i = 0; i < n; ++i, s1++, s2++) - assign(*s1, *s2); - return s; - } -}; - -struct string_char_baggage { - - typedef char char_type; - - // - // constraint member functions - // - static void - assign (char_type& c1, const char_type& c2) _THROW_NONE - { - c1 = c2; - } - static bool - eq (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 == c2); - } - static bool - ne (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 != c2); - } - static bool - lt (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 < c2); - } - static char_type - eos () _THROW_NONE - { - return 0; // the null character - } - static istream& - char_in (istream& is, char_type& c) _THROW_NONE - { - // extractor for a char_type object - // return is >> c; // this does not work - is.get(c); - return is; - } - static ostream& - char_out (ostream& os, char_type c) _THROW_NONE - { - return os << c; // inserter for a char_type object - } - static bool - is_del (char_type c) _THROW_NONE - { - // characteristic function for delimiters of char_type - return isspace(c) != 0; - } - - // - // speed-up functions - // - static int - compare (const char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - return memcmp(s1, s2, n); - } - static size_t - length (const char_type* s) _THROW_NONE - { - return strlen(s); - } - static char_type* - copy (char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - // type cast required as memcpy returns void* - return (char_type*)memcpy(s1, s2, n); - } -}; - -/* -struct string_char_baggage { - - typedef wchar_t char_type; - - static void - assign (char_type& c1, const char_type& c2) _THROW_NONE - { - c1 = c2; - } - static bool - eq (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 == c2); - } - static bool - ne (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 != c2); - } - static bool - lt (const char_type& c1, const char_type& c2) _THROW_NONE - { - return (c1 < c2); - } - static char_type - eos () _THROW_NONE - { - return 0; // the null character - } - static istream& - char_in (istream& is, char_type& c) _THROW_NONE - { - return is >> c; // extractor for a char_type object - } - static ostream& - char_out (ostream& os, char_type c) _THROW_NONE - { - return os << c; // inserter for a char_type object - } - static bool - is_del (char_type c) _THROW_NONE - { - // characteristic function for delimiters of char_type - // using templatized locale::isspace function - return isspace(c); - } - - // - // speed-up functions - // - static int - compare (const char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - return wmemcmp(s1, s2, n); - } - static size_t - length (const char_type* s) _THROW_NONE - { - return wcslen(s); - // May use Koshida's overloaded MSE function strlen(s) - } - static char_type* - copy (char_type* s1, const char_type* s2, size_t n) _THROW_NONE - { - return (char_type*)wmemcpy(s1, s2, n); - } -}; -*/ - -template -class basic_string; - -template -class basic_string_ref { - -// -// friend class declaration -// -friend class basic_string; - -// -// typedef declarations -// -typedef string_char_baggage baggage_type; - -// -// private data members -// - charT* ptr; - size_t len; - size_t res; - -#ifdef __MMULTITHREAD - mutex_arith count; // reference count -#else - size_t count; // reference count -#endif - -// -// private constructors and destructors -// - basic_string_ref () _THROW_NONE ; - - basic_string_ref (size_t size, capacity cap) _THROW_ALLOC_LENGTH ; - - basic_string_ref (const basic_string& str, size_t pos , size_t rlen) - _THROW_ALLOC ; - - basic_string_ref (const charT* s, size_t rlen, size_t rres) _THROW_ALLOC ; - - basic_string_ref (const charT* s, size_t n) _THROW_ALLOC_LENGTH ; - - basic_string_ref (const charT* s) _THROW_ALLOC ; - - basic_string_ref (charT c, size_t rep) _THROW_ALLOC_LENGTH ; - - basic_string_ref (const vector& vec) _THROW_ALLOC_LENGTH ; - - ~basic_string_ref () _THROW_NONE ; - - inline void - delete_ptr () _THROW_NONE ; - - inline static - charT - eos () _THROW_NONE ; - - inline static - void - throwlength () _THROW_LENGTH; - - inline static - void - throwrange () _THROW_OUTRANGE; - -}; - -template -class basic_string { - -private: - -// -// typedef declaration -// - typedef basic_string_ref reference_class; - typedef basic_string_ref* reference_pointer; - -// -// data member -// - charT* c_str_ptr; - reference_pointer reference; - -// -// private member functions -// - inline charT* - point () _THROW_NONE ; - - inline size_t& - len () _THROW_NONE ; - - inline size_t - ref_count () const _THROW_NONE ; - - inline static - charT - eos () _THROW_NONE ; - - void - assign_str (const charT* s, size_t slen) _THROW_ALLOC_LENGTH ; - - void - append_str (const charT* s, size_t slen) _THROW_ALLOC_LENGTH ; - - void - insert_str (size_t pos, const charT* s, size_t slen) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - void - replace_str (size_t xlen, size_t pos, const charT* s, size_t slen) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - int - compare_str (size_t pos, const charT* str, size_t slen, size_t strlen) - const _THROW_OUTRANGE ; - - size_t - find_str (const charT* s, size_t pos, size_t len) const _THROW_NONE ; - - size_t - rfind_str (const charT* s, size_t pos, size_t len) const _THROW_NONE ; - - size_t - find_first_of_str (const charT* s, size_t pos, size_t len) const - _THROW_NONE ; - - size_t - find_last_of_str (const charT* s, size_t pos, size_t len) const - _THROW_NONE ; - - size_t - find_first_not_of_str (const charT* s, size_t pos, size_t len) const - _THROW_NONE ; - - size_t - find_last_not_of_str (const charT* s, size_t pos, size_t len) const - _THROW_NONE ; - - -protected: - - basic_string (const charT* s, size_t rlen, size_t xlen) _THROW_ALLOC_LENGTH; - - inline void - delete_ref () _THROW_NONE ; - -public: - - static const size_t npos; - - typedef charT char_type; - typedef string_char_baggage baggage_type; - - basic_string () _THROW_ALLOC ; - - basic_string (size_t size, capacity cap) _THROW_ALLOC_LENGTH ; - - basic_string (const basic_string& str, size_t pos = 0, size_t n = NPOS) - _THROW_ALLOC_OUTRANGE ; - - basic_string (const charT* s, size_t n) _THROW_ALLOC_LENGTH ; - - basic_string (const charT* s) _THROW_ALLOC ; - - basic_string (charT c, size_t rep = 1) _THROW_ALLOC_LENGTH ; - - basic_string (const vector& vec) _THROW_ALLOC_LENGTH ; - - ~basic_string () _THROW_NONE ; - - basic_string& - operator= (const basic_string& str) _THROW_ALLOC ; - - basic_string& - operator= (const charT* s) _THROW_ALLOC ; - - basic_string& - operator= (charT c) _THROW_ALLOC ; - - basic_string& - operator+= (const basic_string& rhs) _THROW_ALLOC_LENGTH ; - - basic_string& - operator+= (const charT* s) _THROW_ALLOC_LENGTH ; - - basic_string& - operator+= (charT c) _THROW_ALLOC_LENGTH ; - - operator vector () const _THROW_ALLOC - { - return vector (data(), data()+length()); - } - - - basic_string& - append (const basic_string& str, size_t pos = 0, size_t n = NPOS) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - append (const charT* s, size_t n) _THROW_ALLOC_LENGTH ; - - basic_string& - append (const charT* s) _THROW_ALLOC_LENGTH ; - - basic_string& - append (charT c, size_t rep = 1) _THROW_ALLOC_LENGTH ; - - basic_string& - assign (const basic_string& str, size_t pos = 0, size_t n = NPOS) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - assign (const charT* s, size_t n) _THROW_ALLOC_LENGTH ; - - basic_string& - assign (const charT* s) _THROW_ALLOC_LENGTH ; - - basic_string& - assign (charT c, size_t rep = 1) _THROW_ALLOC_LENGTH ; - - basic_string& - insert (size_t pos1, const basic_string& str, size_t pos2 = 0, - size_t n = NPOS) _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - insert (size_t pos, const charT* s, size_t n) _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - insert (size_t pos, const charT* s) _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - insert (size_t pos, charT c, size_t rep = 1) _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - remove (size_t pos = 0, size_t n = NPOS) _THROW_ALLOC_OUTRANGE ; - - basic_string& - replace (size_t pos1, size_t n1, const basic_string& str, size_t pos2 = 0, - size_t n2 = NPOS) _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - replace (size_t pos, size_t n1, const charT* s, size_t n2) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - replace (size_t pos, size_t n1, const charT* s) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - basic_string& - replace (size_t pos, size_t n, charT c, size_t rep = 1) - _THROW_ALLOC_LENGTH_OUTRANGE ; - - inline charT - get_at (size_t pos) const _THROW_OUTRANGE ; - - void - put_at (size_t pos, charT c) _THROW_ALLOC_OUTRANGE ; - - inline charT - operator[] (size_t pos) const _THROW_NONE ; - - charT& - operator[] (size_t pos) _THROW_ALLOC_OUTRANGE ; - - const charT* - c_str () const _THROW_ALLOC ; - - inline const charT* - data () const _THROW_NONE ; - - inline size_t - length () const _THROW_NONE ; - - void - resize (size_t n, charT c) _THROW_ALLOC_LENGTH ; - - void - resize (size_t n) _THROW_ALLOC_LENGTH ; - - inline size_t - reserve () const _THROW_NONE ; - - void - reserve (size_t res_arg) _THROW_ALLOC_LENGTH ; - - size_t - copy (charT* s, size_t n, size_t pos = 0) const _THROW_OUTRANGE ; - - size_t - find (const basic_string& str, size_t pos = 0) const _THROW_NONE ; - - size_t - find (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - find (const charT* s, size_t pos = 0) const _THROW_NONE ; - - size_t - find (charT c, size_t pos = 0) const _THROW_NONE ; - - size_t - rfind (const basic_string& str, size_t pos = NPOS) const _THROW_NONE ; - - size_t - rfind (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - rfind (const charT* s, size_t pos = NPOS) const _THROW_NONE ; - - size_t - rfind (charT c, size_t pos = NPOS) const _THROW_NONE ; - - size_t - find_first_of (const basic_string& str, size_t pos = 0) const _THROW_NONE ; - - size_t - find_first_of (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - find_first_of (const charT* s, size_t pos = 0) const _THROW_NONE ; - - size_t - find_first_of (charT c, size_t pos = 0) const _THROW_NONE ; - - - size_t - find_last_of (const basic_string& str, size_t pos = NPOS) const - _THROW_NONE ; - - size_t - find_last_of (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - find_last_of (const charT* s, size_t pos = NPOS) const _THROW_NONE ; - - size_t - find_last_of (charT c, size_t pos = NPOS) const _THROW_NONE ; - - size_t - find_first_not_of (const basic_string& str, size_t pos = 0) const - _THROW_NONE ; - - size_t - find_first_not_of (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - find_first_not_of (const charT* s, size_t pos = 0) const _THROW_NONE ; - - size_t - find_first_not_of (charT c, size_t pos = 0) const _THROW_NONE ; - - size_t - find_last_not_of (const basic_string& str, size_t pos = NPOS) const - _THROW_NONE ; - - size_t - find_last_not_of (const charT* s, size_t pos, size_t n) const _THROW_NONE ; - - size_t - find_last_not_of (const charT* s, size_t pos = NPOS) const _THROW_NONE ; - - size_t - find_last_not_of (charT c, size_t pos = NPOS) const _THROW_NONE ; - - basic_string - substr (size_t pos = 0, size_t n = NPOS) const _THROW_ALLOC_OUTRANGE ; - - int - compare (const basic_string& str, size_t pos = 0, size_t n = NPOS) const - _THROW_OUTRANGE ; - - int - compare (const charT* s, size_t pos, size_t n) const - _THROW_LENGTH_OUTRANGE ; - - int - compare (const charT* s, size_t pos = 0) const _THROW_OUTRANGE ; - - int - compare (charT c, size_t pos = 0, size_t rep = 1) const - _THROW_LENGTH_OUTRANGE ; - - friend - ostream& - operator<< (ostream& o, const basic_string& s) _THROW_NONE ; - - friend - istream& - operator>> (istream& i, basic_string& s) _THROW_ALLOC_LENGTH ; - - friend - basic_string - operator+ (const basic_string& lhs, const basic_string& rhs) - _THROW_ALLOC_LENGTH ; - - friend - basic_string - operator+ (const charT* lhs, const basic_string& rhs) - _THROW_ALLOC_LENGTH ; - - friend - basic_string - operator+ (charT lhs, const basic_string& rhs) _THROW_ALLOC_LENGTH ; - - friend - basic_string - operator+ (const basic_string& lhs, const charT* rhs) - _THROW_ALLOC_LENGTH ; - - friend - basic_string - operator+ (const basic_string& lhs, charT rhs) _THROW_ALLOC_LENGTH ; - -}; - -template -inline void -basic_string_ref::delete_ptr () _THROW_NONE -{ - if (res) - { - delete[] ptr; - res = 0; - ptr = 0; - } -} - -template -inline void -basic_string_ref::throwlength () _THROW_LENGTH -{ -#ifdef __MEXCEPT - throw length_error("Length exception occurred"); -#else - cout << "Length exception occurred" << endl; - exit(1); -#endif -} - -template -inline void -basic_string_ref::throwrange () _THROW_OUTRANGE -{ -#ifdef __MEXCEPT - throw out_of_range("Out of range exception occurred"); -#else - cout << "Out of range exception occurred" << endl; - exit(1); -#endif -} - -template -inline void -basic_string::delete_ref () _THROW_NONE -{ - --(reference->count); - if (!(reference->count)) - delete reference; -} - -template -inline size_t -basic_string::ref_count () const _THROW_NONE -{ - return reference->count; -} - -template -inline const charT* -basic_string::data () const _THROW_NONE -{ - if (length()) - return reference->ptr; - else - return 0; -} - -template -inline charT* -basic_string::point () _THROW_NONE -{ - return reference->ptr; -} - -template -inline size_t& -basic_string::len () _THROW_NONE -{ - return reference->len; -} - -template -inline size_t -basic_string::length () const _THROW_NONE -{ - return reference->len; -} - -template -inline size_t -basic_string::reserve () const _THROW_NONE -{ - return reference->res; -} - -template -inline charT -basic_string::get_at (size_t pos) const _THROW_OUTRANGE -{ - if (pos >= length()) - { - reference_class::throwrange(); - } - return *(data()+pos); -} - -template -inline charT -basic_string::operator[] (size_t pos) const _THROW_NONE -{ - if (pos < length()) - return *(data()+pos); - else - return 0; -} - -template -inline bool -operator== (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - return !(lhs.compare(rhs)); -} - -template -inline bool -operator== (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - return !(rhs.compare(lhs)); -} - -template -inline bool -operator== (charT lhs, const basic_string& rhs) _THROW_NONE -{ - return !(rhs.compare(lhs)); -} - -template -inline bool -operator== (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - return !(lhs.compare(rhs)); -} - -template -inline bool -operator== (const basic_string& lhs, charT rhs) _THROW_NONE -{ - return !(lhs.compare(rhs)); -} - -#ifdef __MNONDEF -template -inline bool -operator!= (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - return lhs.compare(rhs); -} -#endif - -template -inline bool -operator!= (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - return rhs.compare(lhs); -} - -template -inline bool -operator!= (charT lhs, const basic_string& rhs) _THROW_NONE -{ - return rhs.compare(lhs); -} - -template -inline bool -operator!= (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - return lhs.compare(rhs); -} - -template -inline bool -operator!= (const basic_string& lhs, charT rhs) _THROW_NONE -{ - return lhs.compare(rhs); -} - -template -inline bool -operator< (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - if (lhs.compare(rhs) < 0) - return true; - else - return false; -} - -template -inline bool -operator< (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - if (rhs.compare(lhs) > 0) - return true; - else - return false; -} - -template -inline bool -operator< (charT lhs, const basic_string& rhs) _THROW_NONE -{ - if (rhs.compare(lhs) > 0) - return true; - else - return false; -} - -template -inline bool -operator< (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - if (lhs.compare(rhs) < 0) - return true; - else - return false; -} - -template -inline bool -operator< (const basic_string& lhs, charT rhs) _THROW_NONE -{ - if (lhs.compare(rhs) < 0) - return true; - else - return false; -} - -#ifdef __MNONDEF -template -inline bool -operator> (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - return (rhs < lhs); -} -#endif - -template -inline bool -operator> (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - return (rhs < lhs); -} - -template -inline bool -operator> (charT lhs, const basic_string& rhs) _THROW_NONE -{ - return (rhs < lhs); -} - -template -inline bool -operator> (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - return (rhs < lhs); -} - -template -inline bool -operator> (const basic_string& lhs, charT rhs) _THROW_NONE -{ - return (rhs < lhs); -} - -#ifdef __MNONDEF -template -inline bool -operator>= (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - return !(lhs < rhs); -} -#endif - -template -inline bool -operator>= (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - return !(lhs < rhs); -} - -template -inline bool -operator>= (charT lhs, const basic_string& rhs) _THROW_NONE -{ - return !(lhs < rhs); -} - -template -inline bool -operator>= (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - return !(lhs < rhs); -} - -template -inline bool -operator>= (const basic_string& lhs, charT rhs) _THROW_NONE -{ - return !(lhs < rhs); -} - -#ifdef __MNONDEF -template -inline bool -operator<= (const basic_string& lhs, const basic_string& rhs) - _THROW_NONE -{ - return !(rhs < lhs); -} -#endif - -template -inline bool -operator<= (const charT* lhs, const basic_string& rhs) _THROW_NONE -{ - return !(rhs < lhs); -} - -template -inline bool -operator<= (charT lhs, const basic_string& rhs) _THROW_NONE -{ - return !(rhs < lhs); -} - -template -inline bool -operator<= (const basic_string& lhs, const charT* rhs) _THROW_NONE -{ - return !(rhs < lhs); -} - -template -inline bool -operator<= (const basic_string& lhs, charT rhs) _THROW_NONE -{ - return !(rhs < lhs); -} - -// definitions : can be in a .c file -// - -template -charT -basic_string_ref::eos () _THROW_NONE -{ - return baggage_type::eos(); -} - -template -basic_string_ref::basic_string_ref () _THROW_NONE -{ - res = len = 0; - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (size_t size, capacity cap) - _THROW_ALLOC_LENGTH -{ - /* - * This should be correctly scoped - * - * if (cap == ::reserve) - */ - - if (cap == std::reserve) - { - len = 0; - res = size; - ptr = new charT [res]; - } - /* - * This should be correctly scoped - * - * else if ((cap == ::default_size) && (size != NPOS)) - */ - - else if ((cap == std::default_size) && (size != NPOS)) - { - res = len = size; - if (res) - { - ptr = new charT [res]; - for (size_t position = 0; position < len; ++position) - baggage_type::assign (*(ptr+position), eos()); - } - else - ptr = 0; - } - else - { - throwlength(); - } - count = 1; -} - -template -basic_string_ref::basic_string_ref (const basic_string& str, - size_t pos, size_t rlen) _THROW_ALLOC -{ - res = len = rlen; - if (res) - { - ptr = new charT [res]; - baggage_type::copy (ptr, str.data()+pos, len); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (const charT* s, size_t rlen, - size_t rres) _THROW_ALLOC -{ - res = rres; - len = rlen; - if (res) - { - ptr = new charT [res]; - if (len) - baggage_type::copy (ptr, s, len); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (const charT* s, size_t n) - _THROW_ALLOC_LENGTH -{ - if (n == NPOS) - { - throwlength(); - } - res = len = n; - if (res) - { - ptr = new charT [res]; - baggage_type::copy (ptr, s, len); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (const charT* s) _THROW_ALLOC -{ - res = len = baggage_type::length(s); - if (res) - { - ptr = new charT [res]; - baggage_type::copy (ptr, s, len); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (charT c, size_t rep) - _THROW_ALLOC_LENGTH -{ - if (rep == NPOS) - { - throwlength(); - } - res = len = rep; - if (res) - { - ptr = new charT [res]; - for (size_t position = 0; position < len; ++position) - baggage_type::assign (*(ptr+position), c); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::basic_string_ref (const vector& vec) - _THROW_ALLOC_LENGTH -{ - size_t n = vec.size(); - if (n == NPOS) - { - throwlength(); - } - res = len = n; - if (res) - { - ptr = new charT [res]; - baggage_type::copy (ptr, vec.begin(), len); - } - else - ptr = 0; - count = 1; -} - -template -basic_string_ref::~basic_string_ref () _THROW_NONE -{ - delete_ptr(); -} - -template -charT -basic_string::eos () _THROW_NONE -{ - return baggage_type::eos(); -} - -template -void -basic_string::assign_str (const charT* s, size_t slen) - _THROW_ALLOC_LENGTH -{ - if (slen == NPOS) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (slen && (reserve() < slen))) - { - reference_pointer tmp; - tmp = new basic_string_ref (s, slen); - delete_ref(); - reference = tmp; - } - else if (slen) - { - baggage_type::copy (point(), s, slen); - } - reference->len = slen; -} - -template -void -basic_string::append_str (const charT* s, size_t slen) - _THROW_ALLOC_LENGTH -{ - if (length() >= (NPOS-slen)) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (slen > (reserve()-length()))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), length()+slen); - delete_ref(); - reference = tmp; - } - if (slen) - baggage_type::copy (point()+length(), s, slen); - reference->len += slen; -} - -template -void -basic_string::insert_str (size_t pos, const charT* s, size_t slen) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if (length() >= (NPOS-slen)) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (slen > (reserve()-length()))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), pos, length()+slen); - baggage_type::copy (tmp->ptr+pos+slen, data()+pos, length()-pos); - tmp->len = length(); - delete_ref(); - reference = tmp; - } - else - { - for (size_t count = length()-pos; count > 0; --count) - baggage_type::assign (*(point()+pos+slen+count-1), - *(data()+pos+count-1)); - } - if (slen) - baggage_type::copy (point()+pos, s, slen); - reference->len += slen; -} - -template -void -basic_string::replace_str (size_t xlen, size_t pos, const charT* s, - size_t slen) _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if ((length()-xlen) >= (NPOS-slen)) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (reserve() < (length()+slen-xlen))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), pos, length()+slen-xlen); - baggage_type::copy (tmp->ptr+pos+slen, data()+pos+xlen, - length()-pos-xlen); - tmp->len = length(); - delete_ref(); - reference = tmp; - } - else - { - if (slen < xlen) - baggage_type::copy (point()+pos+slen, data()+pos+xlen, - length()-pos-xlen); - else - { - for (size_t count = length()-pos-xlen; count > 0; --count) - baggage_type::assign (*(point()+pos+slen+count-1), - *(data()+pos+xlen+count-1)); - } - } - if (slen) - baggage_type::copy (point()+pos, s, slen); - reference->len += (slen-xlen); -} - -template -int -basic_string::compare_str (size_t pos, const charT* str, size_t slen, - size_t strlen) const _THROW_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - size_t rlen = (slen > strlen ) ? strlen : slen; - int result; - if (!length()) - return str ? (eos()- *str) : eos(); - result = baggage_type::compare (data()+pos, str, rlen); - return result ? result : (length()-pos-strlen); -} - -template -size_t -basic_string::find_str (const charT* s, size_t pos, size_t len) - const _THROW_NONE -{ - size_t count = pos; - size_t shift; - size_t place; - if ((length() == 0) || (len == 0)) - return NPOS; - while (len <= (length()-count)) - { - for (place = 0; place < len; ++place) - { - if (baggage_type::ne(*(s+len-1-place), *(data()+count+(len-1-place)))) - break; - } - if (place == len) - return count; - shift = find(*(s+len-1-place), count+(len-place)); - if (shift == NPOS) - return NPOS; - count = shift-(len-place-1); - } - return NPOS; -} - -template -size_t -basic_string::rfind_str (const charT* s, size_t pos, size_t len) - const _THROW_NONE -{ - size_t count = (pos < (length()-len)) ? (pos+1) : (length()-len); - size_t shift; - size_t place; - if ((length() < len) || (len == 0)) - return NPOS; - while (count > 0) - { - for (place = 0; place < len; ++place) - { - if (baggage_type::ne(*(s+len-1-place), *(data()+count+(len-place)-2))) - break; - } - if (place == len) - return count-1; - shift = rfind(*(s+len-1-place), count+(len-place)-3); - if (shift == NPOS) - return NPOS; - count = shift+place-len+2; - } - return NPOS; - -} - -template -size_t -basic_string::find_first_of_str (const charT* s, size_t pos, size_t len) - const _THROW_NONE -{ - size_t temp; - size_t count = pos; - size_t result = NPOS; - while (count < length()) - { - temp = 0; - while ((temp < len) && baggage_type::ne(*(data()+count), *(s+temp))) - ++temp; - if (temp != len) - break; - ++count; - } - temp = (count >= length()) ? NPOS : count; - return ((result > temp) ? temp : result); -} - -template -size_t -basic_string::find_last_of_str (const charT* s, size_t pos, size_t len) - const _THROW_NONE -{ - size_t temp = 0; - size_t count = (pos < length()) ? (pos+1) : length(); - if (length()) - { - while (count > 0) - { - temp = 0; - --count; - while ((temp != len) && baggage_type::ne(*(data()+count), *(s+temp))) - ++temp; - if (temp != len) - break; - } - } - return ((temp != len) && length()) ? count : NPOS; -} - -template -size_t -basic_string::find_first_not_of_str (const charT* s, size_t pos, - size_t len) const _THROW_NONE -{ - size_t count = pos; - while (count < length()) - { - size_t temp = 0; - while (temp < len) - { - if (baggage_type::eq(*(data()+count), *(s+temp))) - break; - ++temp; - } - if (temp == len) - break; - ++count; - } - return ((count >= length()) ? NPOS : count); -} - -template -size_t -basic_string::find_last_not_of_str (const charT* s, size_t pos, - size_t len) const _THROW_NONE -{ - size_t temp = 0; - size_t count = (pos < length()) ? (pos+1) : length(); - - if (length()) - { - while (count > 0) - { - temp = 0; - while (temp != len) - { - if (baggage_type::eq(*(data()+count-1), *(s+temp))) - break; - ++temp; - } - if (temp == len) - break; - --count; - } - } - return ((temp == len) && length()) ? count-1 : NPOS; -} - -template -basic_string::basic_string () _THROW_ALLOC -{ - reference = new basic_string_ref (); - c_str_ptr = 0; -} - -template -basic_string::basic_string (size_t size, capacity cap) - _THROW_ALLOC_LENGTH -{ - reference = new basic_string_ref (size, cap); - c_str_ptr = 0; -} - -template -basic_string::basic_string (const basic_string& str, - size_t pos, size_t n) _THROW_ALLOC_OUTRANGE -{ - if (pos > str.length()) - { - reference_class::throwrange(); - } - size_t rlen = (n > (str.length() - pos)) ? str.length() - pos : n; - if ((rlen == str.length()) && (str.ref_count() != NPOS)) - (reference = str.reference)->count++; - else - reference = new basic_string_ref (str, pos, rlen); - c_str_ptr = 0; -} - -template -basic_string::basic_string (const charT* s, size_t rlen, size_t xlen) - _THROW_ALLOC_LENGTH -{ - if (rlen >= (NPOS - xlen)) - { - reference_class::throwlength(); - } - reference = new basic_string_ref (s, rlen, rlen+xlen); - c_str_ptr = 0; -} - -template -basic_string::basic_string (const charT* s, size_t n) _THROW_ALLOC_LENGTH -{ - reference = new basic_string_ref (s, n); - c_str_ptr = 0; -} - -template -basic_string::basic_string (const charT* s) _THROW_ALLOC -{ - reference = new basic_string_ref (s); - c_str_ptr = 0; -} - -template -basic_string::basic_string (charT c, size_t rep) _THROW_ALLOC_LENGTH -{ - reference = new basic_string_ref (c, rep); - c_str_ptr = 0; -} - -template -basic_string::basic_string (const vector& vec) _THROW_ALLOC_LENGTH -{ - reference = new basic_string_ref (vec); - c_str_ptr = 0; -} - -template -basic_string::~basic_string () _THROW_NONE -{ - delete_ref(); - if (c_str_ptr) - delete[] c_str_ptr; -} - -template -basic_string& -basic_string::operator= (const basic_string& str) _THROW_ALLOC -{ - if (this != &str) - { - delete_ref(); - if (str.ref_count() != NPOS) - (reference = str.reference)->count++; - else - reference = new basic_string_ref (str, 0, str.length()); - } - return *this; -} - -template -basic_string& -basic_string::operator= (const charT* s) _THROW_ALLOC -{ - assign_str (s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::operator= (charT c) _THROW_ALLOC -{ - if ((ref_count() == 1) && (reserve() >= 1)) - { - baggage_type::assign (*(point()), c); - reference->len = 1; - } - else - { - delete_ref(); - reference = new basic_string_ref (c, 1); - } - return *this; -} - -template -basic_string& -basic_string::operator+= (const basic_string& rhs) _THROW_ALLOC_LENGTH -{ - append_str (rhs.data(), rhs.length()); - return *this; -} - -template -basic_string& -basic_string::operator+= (const charT* s) _THROW_ALLOC_LENGTH -{ - append_str (s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::operator+= (charT c) _THROW_ALLOC_LENGTH -{ - if (length() >= (NPOS-1)) - { - reference_class::throwlength(); - } - if (!((ref_count() == 1) && (reserve() > length()))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), length()+1); - delete_ref(); - reference = tmp; - } - baggage_type::assign (*(point()+length()), c); - reference->len++; - return *this; -} - -template -basic_string& -basic_string::append (const basic_string& str, size_t pos, size_t n) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > str.length()) - { - reference_class::throwrange(); - } - append_str (str.data() + pos, (n>(str.length()-pos))?(str.length()-pos):n); - return *this; -} - -template -basic_string& -basic_string::append (const charT* s, size_t n) _THROW_ALLOC_LENGTH -{ - append_str (s, n); - return *this; -} - -template -basic_string& -basic_string::append (const charT* s) _THROW_ALLOC_LENGTH -{ - append_str (s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::append (charT c, size_t rep) _THROW_ALLOC_LENGTH -{ - if (length() >= (NPOS-rep)) - { - reference_class::throwlength(); - } - if (rep) - { - if ((ref_count() > 1) || (reserve() < (length() + rep))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), length()+rep); - delete_ref(); - reference = tmp; - } - for (size_t count = 0; count < rep; ++count) - baggage_type::assign (*(point()+length()+count), c); - reference->len += rep; - } - return *this; -} - -template -basic_string& -basic_string::assign (const basic_string& str, size_t pos, size_t n) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > str.length()) - { - reference_class::throwrange(); - } - size_t rlen = (n > (str.length() - pos)) ? str.length() - pos : n; - if ((rlen == str.length()) && (str.ref_count() != NPOS)) - { - delete_ref(); - (reference = str.reference)->count++; - } - else - assign_str (str.data()+pos, rlen); - return *this; -} - -template -basic_string& -basic_string::assign (const charT* s, size_t n) _THROW_ALLOC_LENGTH -{ - assign_str (s, n); - return *this; -} - -template -basic_string& -basic_string::assign (const charT* s) _THROW_ALLOC_LENGTH -{ - assign_str (s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::assign (charT c, size_t rep) _THROW_ALLOC_LENGTH -{ - if (rep == NPOS) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (rep && (reserve() < rep))) - { - reference_pointer tmp; - tmp = new basic_string_ref (c, rep); - delete_ref(); - reference = tmp; - } - else - { - for (size_t count = 0; count < rep; ++count) - baggage_type::assign (*(point()+count), c); - reference->len = rep; - } - return *this; -} - -template -basic_string& -basic_string::insert (size_t pos1, const basic_string& str, - size_t pos2, size_t n) _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos2 > str.length()) - { - reference_class::throwrange(); - } - size_t rlen = (n > (str.length() - pos2)) ? str.length() - pos2 : n; - insert_str (pos1, str.data()+pos2, rlen); - return *this; -} - -template -basic_string& -basic_string::insert (size_t pos, const charT* s, size_t n) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - insert_str(pos, s, n); - return *this; -} - -template -basic_string& -basic_string::insert (size_t pos, const charT* s) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - insert_str(pos, s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::insert (size_t pos, charT c, size_t rep) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if ((rep == NPOS) || (length() >= (NPOS - rep))) - { - reference_class::throwlength(); - } - if (rep) - { - size_t count; - if ((ref_count() > 1) || (reserve() < (length()+rep))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), pos, length()+rep); - if (length()) - for (count = length()-pos; count > 0; --count) - baggage_type::assign (*(tmp->ptr+pos+rep+count-1), - *(data()+pos+count-1)); - tmp->len = length(); - delete_ref(); - reference = tmp; - } - else - { - for (count = length()-pos; count > 0; --count) - baggage_type::assign (*(point()+pos+rep+count-1), - *(data()+pos+count-1)); - } - for (count = 0; count < rep; ++count) - baggage_type::assign (*(point()+pos+count), c); - reference->len += rep; - } - return *this; -} - -template -basic_string& -basic_string::remove (size_t pos, size_t n) _THROW_ALLOC_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - size_t xlen = (n > (length()-pos)) ? (length()-pos) : n; - if (ref_count() > 1) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), pos, length()); - baggage_type::copy (tmp->ptr+pos, data()+pos+xlen, length()-xlen-pos); - tmp->len = length()-xlen; - delete_ref(); - reference = tmp; - } - else if (xlen == length()) - reference->len = 0; - else if (xlen) - { - baggage_type::copy (point()+pos, data()+pos+xlen, length()-xlen-pos); - reference->len -= xlen; - } - return *this; -} - -template -basic_string& -basic_string::replace (size_t pos1, size_t n1, const basic_string& str, - size_t pos2, size_t n2) _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos2 > str.length()) - { - reference_class::throwrange(); - } - size_t xlen = (n1 > (length()-pos1)) ? (length()-pos1) : n1; - size_t rlen = (n2 > (str.length()-pos2)) ? (str.length()-pos2) : n2; - replace_str (xlen, pos1, str.data()+pos2, rlen); - return *this; -} - -template -basic_string& -basic_string::replace (size_t pos, size_t n1, const charT* s, size_t n2) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - size_t xlen = (n1 > (length()-pos)) ? (length()-pos) : n1; - replace_str (xlen, pos, s, n2); - return *this; -} - -template -basic_string& -basic_string::replace (size_t pos, size_t n1, const charT* s) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - size_t xlen = (n1 > (length()-pos)) ? (length()-pos) : n1; - replace_str (xlen, pos, s, baggage_type::length(s)); - return *this; -} - -template -basic_string& -basic_string::replace (size_t pos, size_t n, charT c, size_t rep) - _THROW_ALLOC_LENGTH_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - size_t xlen = (n > (length()-pos)) ? (length()-pos) : n; - if ((length()-xlen) >= (NPOS-rep)) - { - reference_class::throwlength(); - } - if (!rep) - return remove (pos, n); - else - { - size_t count; - if ((ref_count() > 1) || (reserve() < (length()-xlen+rep))) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), pos, - length()+((xlen > rep) ? (xlen-rep) : 0)); - if (rep < xlen) - baggage_type::copy (tmp->ptr+pos+rep, data()+pos+xlen, - length()-pos-xlen); - else - { - for (count = length()-xlen-pos; count > 0; --count) - baggage_type::assign (*(tmp->ptr+pos+rep+count-1), - *(data()+pos+xlen+count-1)); - } - tmp->len = length(); - delete_ref(); - reference = tmp; - } - else - { - if (rep < xlen) - baggage_type::copy (point()+pos+rep, data()+pos+xlen, - length()-pos-xlen); - else - { - for (count = length()-xlen-pos; count > 0; --count) - baggage_type::assign (*(point()+pos+rep+count-1), - *(data()+pos+xlen+count-1)); - } - } - for (count = 0; count < rep; ++count) - baggage_type::assign (*(point()+pos+count), c); - reference->len += (rep-xlen); - } - return *this; -} - -template -void -basic_string::put_at (size_t pos, charT c) _THROW_ALLOC_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if ((ref_count() > 1) || (pos == reserve())) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), - length()+((pos==length())?1:0)); - delete_ref(); - reference = tmp; - } - if (pos == length()) - ++reference->len; - baggage_type::assign (*(point()+pos), c); -} - -template -charT& -basic_string::operator[] (size_t pos) _THROW_ALLOC_OUTRANGE -{ - if (pos >= length()) - { - reference_class::throwrange(); - } - if (ref_count() > 1) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), length()); - delete_ref(); - reference = tmp; - } - return *(point()+pos); -} - -template -const charT* -basic_string::c_str () const _THROW_ALLOC -{ - if (c_str_ptr) - delete[] ((basic_string*)this)->c_str_ptr; - ((basic_string*)this)->c_str_ptr = new charT [length()+1]; - if (length()) - baggage_type::copy (((basic_string*)this)->c_str_ptr, data(), - length()); - baggage_type::assign (*(((basic_string*)this)->c_str_ptr+length()), - eos()); - return c_str_ptr; -} - -template -void -basic_string::resize (size_t n, charT c) _THROW_ALLOC_LENGTH -{ - if (n == NPOS) - { - reference_class::throwlength(); - } - if ((ref_count() > 1) || (n > reserve())) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), - ((n > length()) ? length() : n), n); - delete_ref(); - reference = tmp; - } - while (reference->len < n) - { - baggage_type::assign (*(reference->ptr+length()), c); - ++reference->len; - } - reference->len = n; -} - -template -void -basic_string::resize (size_t n) _THROW_ALLOC_LENGTH -{ - resize (n, eos()); -} - -template -void -basic_string::reserve (size_t res_arg) _THROW_ALLOC_LENGTH -{ - if (res_arg == NPOS) - { - reference_class::throwlength(); - } - if (res_arg > reserve()) - { - reference_pointer tmp; - tmp = new basic_string_ref (data(), length(), res_arg); - delete_ref(); - reference = tmp; - } -} - -template -size_t -basic_string::copy (charT* s, size_t n, size_t pos) const _THROW_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - size_t rlen = (n > (length()-pos)) ? (length()-pos) : n; - if (length()) - baggage_type::copy (s, data()+pos, rlen); - return rlen; -} - -template -size_t -basic_string::find (const basic_string& str, size_t pos) const - _THROW_NONE -{ - return find_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::find (const charT* s, size_t pos, size_t n) const - _THROW_NONE -{ - return find_str (s, pos, n); -} - -template -size_t -basic_string::find (const charT* s, size_t pos) const _THROW_NONE -{ - return find_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::find (charT c, size_t pos) const _THROW_NONE -{ - while ((pos < length()) && (baggage_type::ne(*(data()+pos), c))) - ++pos; - return ((pos < length()) ? pos : NPOS); -} - -template -size_t -basic_string::rfind (const basic_string& str, size_t pos) const - _THROW_NONE -{ - return rfind_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::rfind (const charT* s, size_t pos, size_t n) const - _THROW_NONE -{ - return rfind_str (s, pos, n); -} - -template -size_t -basic_string::rfind (const charT* s, size_t pos) const _THROW_NONE -{ - return rfind_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::rfind (charT c, size_t pos) const _THROW_NONE -{ - size_t count = ((pos < length()) ? pos+1 : length()); - if (length() == 0) - return NPOS; - while ((baggage_type::ne(*(data()+count-1), c)) && (count > 1)) - --count; - if ((count == 1) && (baggage_type::ne(*(data()), c))) - return NPOS; - else - return count-1; -} - -template -size_t -basic_string::find_first_of (const basic_string& str, size_t pos) const - _THROW_NONE -{ - return find_first_of_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::find_first_of (const charT* s, size_t pos, size_t n) const - _THROW_NONE -{ - return find_first_of_str (s, pos, n); -} - -template -size_t -basic_string::find_first_of (const charT* s, size_t pos) const - _THROW_NONE -{ - return find_first_of_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::find_first_of (charT c, size_t pos) const _THROW_NONE -{ - return find (c, pos); -} - -template -size_t -basic_string::find_last_of (const basic_string& str, size_t pos) const - _THROW_NONE -{ - return find_last_of_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::find_last_of (const charT* s, size_t pos, size_t n) const - _THROW_NONE -{ - return find_last_of_str (s, pos, n); -} - -template -size_t -basic_string::find_last_of (const charT* s, size_t pos) const _THROW_NONE -{ - return find_last_of_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::find_last_of (charT c, size_t pos) const _THROW_NONE -{ - return rfind (c, pos); -} - -template -size_t -basic_string::find_first_not_of (const basic_string& str, size_t pos) - const _THROW_NONE -{ - return find_first_not_of_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::find_first_not_of (const charT* s, size_t pos, size_t n) - const _THROW_NONE -{ - return find_first_not_of_str (s, pos, n); -} - -template -size_t -basic_string::find_first_not_of (const charT* s, size_t pos) const - _THROW_NONE -{ - return find_first_not_of_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::find_first_not_of (charT c, size_t pos) const _THROW_NONE -{ - while ((pos < length()) && (baggage_type::eq(*(data()+pos), c))) - ++pos; - return ((pos < length()) ? pos : NPOS); -} - -template -size_t -basic_string::find_last_not_of (const basic_string& str, size_t pos) - const _THROW_NONE -{ - return find_last_not_of_str (str.data(), pos, str.length()); -} - -template -size_t -basic_string::find_last_not_of (const charT* s, size_t pos, size_t n) - const _THROW_NONE -{ - return find_last_not_of_str (s, pos, n); -} - -template -size_t -basic_string::find_last_not_of (const charT* s, size_t pos) const - _THROW_NONE -{ - return find_last_not_of_str (s, pos, baggage_type::length(s)); -} - -template -size_t -basic_string::find_last_not_of (charT c, size_t pos) const _THROW_NONE -{ - size_t count = ((pos < length()) ? pos+1 : length()); - if (length() == 0) - return NPOS; - while ((baggage_type::eq(*(data()+count-1), c)) && (count > 1)) - --count; - if ((count == 1) && (baggage_type::eq(*(data()), c))) - return NPOS; - else - return count-1; -} - -template -basic_string -basic_string::substr (size_t pos, size_t n) const _THROW_ALLOC_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if (length()) - return basic_string (data()+pos, - (n > (length()-pos)) ? (length()-pos) : n); - else - return basic_string(); -} - -template -int -basic_string::compare (const basic_string& str, size_t pos, - size_t n) const _THROW_OUTRANGE -{ - size_t slen = (n > (length()-pos)) ? (length()-pos) : n; - return compare_str (pos, str.data(), slen, str.length()); -} - -template -int -basic_string::compare (const charT* s, size_t pos, size_t n) const - _THROW_LENGTH_OUTRANGE -{ - if (n == NPOS) - { - reference_class::throwlength(); - } - return compare_str (pos, s, length()-pos, n); -} - -template -int -basic_string::compare (const charT* s, size_t pos) const _THROW_OUTRANGE -{ - return compare_str (pos, s, length()-pos, baggage_type::length(s)); -} - -template -int -basic_string::compare (charT c, size_t pos, size_t rep) const - _THROW_LENGTH_OUTRANGE -{ - if (pos > length()) - { - reference_class::throwrange(); - } - if (rep == NPOS) - { - reference_class::throwlength(); - } - if (rep) - { - size_t count = 0; - while ((count < rep) && (count < (length()-pos)) && - baggage_type::eq (*(data()+pos+count), c)) - ++count; - if ((count == rep) || (count == (length()-pos))) - return (length()-pos-count); - else - return (*(data()+pos+count)-c); - } - else - { - return (length()-pos); - } -} - -template -basic_string -operator+ (const basic_string& lhs, const basic_string& rhs) - _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - basic_string tmp(lhs.data(), lhs.length(), rhs.length()); - if (rhs.length()) - baggage_type::copy (tmp.point()+lhs.length(), rhs.data(), rhs.length()); - tmp.len() += rhs.length(); - return tmp; -} - -template -basic_string -operator+ (const charT* lhs, const basic_string& rhs) _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - size_t slen = baggage_type::length(lhs); - basic_string tmp(lhs, slen, rhs.length()); - if (rhs.length()) - baggage_type::copy (tmp.point()+slen, rhs.data(), rhs.length()); - tmp.len() += rhs.length(); - return tmp; -} - -template -basic_string -operator+ (charT lhs, const basic_string& rhs) _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - basic_string tmp(&lhs, 1, rhs.length()); - if (rhs.length()) - baggage_type::copy (tmp.point()+1, rhs.data(), rhs.length()); - tmp.len() += rhs.length(); - return tmp; -} - -template -basic_string -operator+ (const basic_string& lhs, const charT* rhs) _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - size_t slen = baggage_type::length(rhs); - basic_string tmp(lhs.data(), lhs.length(), slen); - if (slen) - baggage_type::copy (tmp.point()+lhs.length(), rhs, slen); - tmp.len() += slen; - return tmp; -} - -template -basic_string -operator+ (const basic_string& lhs, charT rhs) _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - basic_string tmp(lhs.data(), lhs.length(), 1); - baggage_type::assign (*(tmp.point()+lhs.length()), rhs); - ++tmp.len(); - return tmp; -} - -template -ostream& -operator<< (ostream& o, const basic_string& s) _THROW_NONE -{ - typedef basic_string::baggage_type baggage_type; - for (size_t count = 0; count < s.length(); ++count) - baggage_type::char_out (o, *(s.data()+count)); - return o; -} - -template -istream& -operator>> (istream& i, basic_string& s) _THROW_ALLOC_LENGTH -{ - typedef basic_string::baggage_type baggage_type; - s.remove(); - while (true) - { - charT value; - baggage_type::char_in (i, value); - if (!i.operator void*()) - break; - if (!baggage_type::is_del (value)) - { - s.append(value); - while (true) - { - baggage_type::char_in (i, value); - if (!i.operator void*()) - break; - if (!baggage_type::is_del (value)) - { - s.append(value); - } - else - break; - } - break; - } - } - return i; -} - -#if ! defined (ghs) -// GreenHills 1.8.8 doesn't like this template specialization . . . -template class basic_string; -#endif /* ghs */ -/* static */ -template -const size_t basic_string::npos = NPOS; -typedef basic_string cstring; -typedef basic_string string; -//typedef basic_string wstring; - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/bvector.cpp b/STL/bvector.cpp deleted file mode 100644 index 86b134c4b5e..00000000000 --- a/STL/bvector.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#define STL_BVECTOR -#define SA_STD std -#include - -namespace std -{ - -Allocator bit_vector::static_allocator; - -inline bool operator==(const bit_vector& x, const bit_vector& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -inline bool operator<(const bit_vector& x, const bit_vector& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -void swap(bit_vector::reference x, bit_vector::reference y) { - bool tmp = x; - x = y; - y = tmp; -} - -void bit_vector::insert_aux(iterator position, bool x) { - if (finish.p != end_of_storage) { - copy_backward(position, finish - 1, finish); - *position = x; - ++finish; - } else { - size_type len = size() ? 2 * size() : __WORD_BIT; - unsigned int* q = bit_alloc(len); - iterator i = copy(begin(), position, iterator(q, 0)); - *i++ = x; - finish = copy(position, end(), i); - static_allocator.deallocate(start.p); - end_of_storage = q + (len + __WORD_BIT - 1)/__WORD_BIT; - start = iterator(q, 0); - } -} - -void bit_vector::insert(iterator position, size_type n, bool x) { - if (n == 0) return; - if (capacity() - size() >= n) { - copy_backward(position, end(), finish + n); - fill(position, position + n, x); - finish += n; - } else { - size_type len = size() + max(size(), n); - unsigned int* q = bit_alloc(len); - iterator i = copy(begin(), position, iterator(q, 0)); - fill_n(i, n, x); - finish = copy(position, end(), i + n); - static_allocator.deallocate(start.p); - end_of_storage = q + (n + __WORD_BIT - 1)/__WORD_BIT; - start = iterator(q, 0); - } -} - -void bit_vector::insert(iterator position, const_iterator first, - const_iterator last) { - if (first == last) return; - size_type n = 0; - distance(first, last, n); - if (capacity() - size() >= n) { - copy_backward(position, end(), finish + n); - copy(first, last, position); - finish += n; - } else { - size_type len = size() + max(size(), n); - unsigned int* q = bit_alloc(len); - iterator i = copy(begin(), position, iterator(q, 0)); - i = copy(first, last, i); - finish = copy(position, end(), i); - static_allocator.deallocate(start.p); - end_of_storage = q + (len + __WORD_BIT - 1)/__WORD_BIT; - start = iterator(q, 0); - } -} - -} \ No newline at end of file diff --git a/STL/bvector.h b/STL/bvector.h deleted file mode 100644 index 01f66ecddd3..00000000000 --- a/STL/bvector.h +++ /dev/null @@ -1,378 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -// vector is replaced by bit_vector at present because bool is not -// implemented. - -#ifndef BVECTOR_H -#define BVECTOR_H - -#include -#include -#include -#include - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#define __WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -class bit_vector { -public: - typedef Allocator vector_allocator; - typedef bool value_type; - typedef vector_allocator::size_type size_type; - typedef vector_allocator::difference_type difference_type; - - class iterator; - class const_iterator; - - class reference { - friend class iterator; - friend class const_iterator; - protected: - unsigned int* p; - unsigned int mask; - reference(unsigned int* x, unsigned int y) : p(x), mask(y) {} - public: - reference() : p(0), mask(0) {} - operator bool() const { return !(!(*p & mask)); } - reference& operator=(bool x) { - if (x) - *p |= mask; - else - *p &= ~mask; - return *this; - } - reference& operator=(const reference& x) { return *this = bool(x); } - bool operator==(const reference& x) const { - return bool(*this) == bool(x); - } - bool operator<(const reference& x) const { - return bool(*this) < bool(x); - } - void flip() { *p ^= mask; } - }; - typedef bool const_reference; - class iterator : public random_access_iterator { - friend class bit_vector; - friend class const_iterator; - protected: - unsigned int* p; - unsigned int offset; - void bump_up() { - if (offset++ == __WORD_BIT - 1) { - offset = 0; - ++p; - } - } - void bump_down() { - if (offset-- == 0) { - offset = __WORD_BIT - 1; - --p; - } - } - public: - iterator() : p(0), offset(0) {} - iterator(unsigned int* x, unsigned int y) : p(x), offset(y) {} - reference operator*() const { return reference(p, 1U << offset); } - iterator& operator++() { - bump_up(); - return *this; - } - iterator operator++(int) { - iterator tmp = *this; - bump_up(); - return tmp; - } - iterator& operator--() { - bump_down(); - return *this; - } - iterator operator--(int) { - iterator tmp = *this; - bump_down(); - return tmp; - } - iterator& operator+=(difference_type i) { - difference_type n = i + offset; - p += n / __WORD_BIT; - n = n % __WORD_BIT; - if (n < 0) { - offset = n + __WORD_BIT; - --p; - } else - offset = n; - return *this; - } - iterator& operator-=(difference_type i) { - *this += -i; - return *this; - } - iterator operator+(difference_type i) const { - iterator tmp = *this; - return tmp += i; - } - iterator operator-(difference_type i) const { - iterator tmp = *this; - return tmp -= i; - } - difference_type operator-(iterator x) const { - return __WORD_BIT * (p - x.p) + offset - x.offset; - } - reference operator[](difference_type i) { return *(*this + i); } - bool operator==(const iterator& x) const { - return p == x.p && offset == x.offset; - } - bool operator<(iterator x) const { - return p < x.p || (p == x.p && offset < x.offset); - } - }; - - class const_iterator - : public random_access_iterator { - friend class bit_vector; - protected: - unsigned int* p; - unsigned int offset; - void bump_up() { - if (offset++ == __WORD_BIT - 1) { - offset = 0; - ++p; - } - } - void bump_down() { - if (offset-- == 0) { - offset = __WORD_BIT - 1; - --p; - } - } - public: - const_iterator() : p(0), offset(0) {} - const_iterator(unsigned int* x, unsigned int y) : p(x), offset(y) {} - const_iterator(const iterator& x) : p(x.p), offset(x.offset) {} - const_reference operator*() const { - return reference(p, 1U << offset); - } - const_iterator& operator++() { - bump_up(); - return *this; - } - const_iterator operator++(int) { - const_iterator tmp = *this; - bump_up(); - return tmp; - } - const_iterator& operator--() { - bump_down(); - return *this; - } - const_iterator operator--(int) { - const_iterator tmp = *this; - bump_down(); - return tmp; - } - const_iterator& operator+=(difference_type i) { - difference_type n = i + offset; - p += n / __WORD_BIT; - n = n % __WORD_BIT; - if (n < 0) { - offset = n + __WORD_BIT; - --p; - } else - offset = n; - return *this; - } - const_iterator& operator-=(difference_type i) { - *this += -i; - return *this; - } - const_iterator operator+(difference_type i) const { - const_iterator tmp = *this; - return tmp += i; - } - const_iterator operator-(difference_type i) const { - const_iterator tmp = *this; - return tmp -= i; - } - difference_type operator-(const_iterator x) const { - return __WORD_BIT * (p - x.p) + offset - x.offset; - } - const_reference operator[](difference_type i) { - return *(*this + i); - } - bool operator==(const const_iterator& x) const { - return p == x.p && offset == x.offset; - } - bool operator<(const_iterator x) const { - return p < x.p || (p == x.p && offset < x.offset); - } - }; - - typedef reverse_iterator const_reverse_iterator; - typedef reverse_iterator - reverse_iterator; - -protected: - static Allocator static_allocator; - iterator start; - iterator finish; - unsigned int* end_of_storage; - unsigned int* bit_alloc(size_type n) { - return static_allocator.allocate((n + __WORD_BIT - 1)/__WORD_BIT); - } - void initialize(size_type n) { - unsigned int* q = bit_alloc(n); - end_of_storage = q + (n + __WORD_BIT - 1)/__WORD_BIT; - start = iterator(q, 0); - finish = start + n; - } - void insert_aux(iterator position, bool x); - typedef bit_vector self; -public: - iterator begin() { return start; } - const_iterator begin() const { return start; } - iterator end() { return finish; } - const_iterator end() const { return finish; } - - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { - return const_reverse_iterator(end()); - } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { - return const_reverse_iterator(begin()); - } - - size_type size() const { return size_type(end() - begin()); } - size_type max_size() const { return static_allocator.max_size(); } - size_type capacity() const { - return size_type(const_iterator(end_of_storage, 0) - begin()); - } - bool empty() const { return begin() == end(); } - reference operator[](size_type n) { return *(begin() + n); } - const_reference operator[](size_type n) const { return *(begin() + n); } - bit_vector() : start(iterator()), finish(iterator()), end_of_storage(0) {} - bit_vector(size_type n, bool value = bool()) { - initialize(n); - fill(start.p, end_of_storage, value ? ~0 : 0); - } - bit_vector(const self& x) { - initialize(x.size()); - copy(x.begin(), x.end(), start); - } - bit_vector(const_iterator first, const_iterator last) { - size_type n = 0; - distance(first, last, n); - initialize(n); - copy(first, last, start); - } - ~bit_vector() { static_allocator.deallocate(start.p); } - self& operator=(const self& x) { - if (&x == this) return *this; - if (x.size() > capacity()) { - static_allocator.deallocate(start.p); - initialize(x.size()); - } - copy(x.begin(), x.end(), begin()); - finish = begin() + x.size(); - return *this; - } - void reserve(size_type n) { - if (capacity() < n) { - unsigned int* q = bit_alloc(n); - finish = copy(begin(), end(), iterator(q, 0)); - static_allocator.deallocate(start.p); - start = iterator(q, 0); - end_of_storage = q + (n + __WORD_BIT - 1)/__WORD_BIT; - } - } - reference front() { return *begin(); } - const_reference front() const { return *begin(); } - reference back() { return *(end() - 1); } - const_reference back() const { return *(end() - 1); } - void push_back(bool x) { - if (finish.p != end_of_storage) - *finish++ = x; - else - insert_aux(end(), x); - } - void swap(bit_vector& x) { - std::swap(start, x.start); - std::swap(finish, x.finish); - std::swap(end_of_storage, x.end_of_storage); - } - iterator insert(iterator position, bool x) { - size_type n = position - begin(); - if (finish.p != end_of_storage && position == end()) - *finish++ = x; - else - insert_aux(position, x); - return begin() + n; - } - void insert(iterator position, const_iterator first, - const_iterator last); - void insert(iterator position, size_type n, bool x); - void pop_back() { --finish; } - void erase(iterator position) { - if (position + 1 != end()) - copy(position + 1, end(), position); - --finish; - } - void erase(iterator first, iterator last) { - finish = copy(last, end(), first); - } -}; - -// Code moved to bvector.cpp by Terris - -// Added by Terris --begin-- -bool operator==(const bit_vector& x, const bit_vector& y); -bool operator<(const bit_vector& x, const bit_vector& y); -void swap(bit_vector::reference x, bit_vector::reference y); -// Added by Terris --end-- - -// Added by Terris --begin-- - -#ifndef STL_BVECTOR -#undef Allocator -#undef __WORD_BIT -#endif - -// Added by Terris --end-- - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/defalloc.h b/STL/defalloc.h deleted file mode 100644 index c0e2e04998d..00000000000 --- a/STL/defalloc.h +++ /dev/null @@ -1,211 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef DEFALLOC_H -#define DEFALLOC_H - -#include -#include -#include -#include -#include -#include - -#if 0 -inline void* operator new(size_t, void* p) {return p;} -#endif - -/* - * the following template function is replaced by the following two functions - * due to the fact that the Borland compiler doesn't change prediff_t type - * to type long when compile with -ml or -mh. - - -template -inline T* allocate(ptrdiff_t size, T*) { - set_new_handler(0); - T* tmp = (T*)(::operator new((size_t)(size * sizeof(T)))); - if (tmp == 0) { - cerr << "out of memory" << endl; - exit(1); - } - return tmp; -} -*/ - -/* - * Begin change by Terris - */ -namespace std { -/* - * End change by Terris - */ - -/* -* Added by Terris (#if out code) - */ -#if 0 -/* - * Added by Terris End - */ -template -inline T* allocate(int size, T*) { - set_new_handler(0); - T* tmp = (T*)(::operator new((unsigned int)(size * sizeof(T)))); - if (tmp == 0) { - cerr << "out of memory" << endl; - exit(1); - } - return tmp; -} -/* - * Added by Terris - */ -#endif -/* - * Added by Terris End - */ - -template -inline T* allocate(int size, T*) { // Changed by Terris -- was long. -/* - * Begin Change by Terris - */ -// set_new_handler(0); -// T* tmp = (T*)(::operator new((unsigned long)(size * sizeof(T)))); -// if (tmp == 0) { -// cerr << "out of memory" << endl; -// exit(1); -// } -// return tmp; -/* - * End Change by Terris - */ - return (T*)(::operator new((unsigned long)(size * sizeof(T)))); -} - -template -inline void deallocate(T* buffer) { - ::operator delete(buffer); -} - -template -inline void destroy(T* pointer) { - pointer->~T(); -} - -inline void destroy(char*) {} -inline void destroy(unsigned char*) {} -inline void destroy(short*) {} -inline void destroy(unsigned short*) {} -inline void destroy(int*) {} -inline void destroy(unsigned int*) {} -inline void destroy(long*) {} -inline void destroy(unsigned long*) {} -inline void destroy(float*) {} -inline void destroy(double*) {} -inline void destroy(char**) {} -inline void destroy(unsigned char**) {} -inline void destroy(short**) {} -inline void destroy(unsigned short**) {} -inline void destroy(int**) {} -inline void destroy(unsigned int**) {} -inline void destroy(long**) {} -inline void destroy(unsigned long**) {} -inline void destroy(float**) {} -inline void destroy(double**) {} - -inline void destroy(char*, char*) {} -inline void destroy(unsigned char*, unsigned char*) {} -inline void destroy(short*, short*) {} -inline void destroy(unsigned short*, unsigned short*) {} -inline void destroy(int*, int*) {} -inline void destroy(unsigned int*, unsigned int*) {} -inline void destroy(long*, long*) {} -inline void destroy(unsigned long*, unsigned long*) {} -inline void destroy(float*, float*) {} -inline void destroy(double*, double*) {} -inline void destroy(char**, char**) {} -inline void destroy(unsigned char**, unsigned char**) {} -inline void destroy(short**, short**) {} -inline void destroy(unsigned short**, unsigned short**) {} -inline void destroy(int**, int**) {} -inline void destroy(unsigned int**, unsigned int**) {} -inline void destroy(long**, long**) {} -inline void destroy(unsigned long**, unsigned long**) {} -inline void destroy(float**, float**) {} -inline void destroy(double**, double**) {} - -template -inline void construct(T1* p, const T2& value) { - new (p) T1(value); -} - -template -class allocator { -public: - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - - /* - * Begin change by Terris - * - * This removes compile-time warnings about signed/unsigned mismatch - * and negating unsigned values. - * typedef size_t size_type; - */ - typedef long size_type; - /* - * End change by Terris - */ - - typedef ptrdiff_t difference_type; - pointer allocate(size_type n) { - return std::allocate((difference_type)n, (pointer)0); - } - void deallocate(pointer p) { std::deallocate(p); } - pointer address(reference x) { return (pointer)&x; } - const_pointer const_address(const_reference x) { - return (const_pointer)&x; - } - size_type init_page_size() { - return max(size_type(1), size_type(4096/sizeof(T))); - } - size_type max_size() const { - return max(size_type(1), size_type(UINT_MAX/sizeof(T))); - } -}; - -class allocator { -public: - typedef void* pointer; -}; - - - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/deque.h b/STL/deque.h deleted file mode 100644 index 1eddbc7f7c8..00000000000 --- a/STL/deque.h +++ /dev/null @@ -1,586 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef DEQUE_H -#define DEQUE_H - -#include -#include -#include -#include - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#ifndef deque -#define deque deque -#endif - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class deque { -public: - class iterator; - class const_iterator; - friend class iterator; - friend class const_iterator; -public: - typedef T value_type; - typedef Allocator data_allocator_type; - typedef Allocator::pointer pointer; - typedef Allocator::reference reference; - typedef Allocator::const_reference const_reference; - typedef Allocator::size_type size_type; - typedef Allocator::difference_type difference_type; - typedef Allocator map_allocator_type; -protected: - static data_allocator_type data_allocator; - static size_type buffer_size; - static map_allocator_type map_allocator; - typedef Allocator::pointer map_pointer; -public: - class iterator : public random_access_iterator { - friend class deque; - friend class const_iterator; - protected: - pointer current; - pointer first; - pointer last; - map_pointer node; - iterator(pointer x, map_pointer y) - : current(x), first(*y), last(*y + buffer_size), node(y) {} - public: - iterator() : current(0), first(0), last(0), node(0) {} - reference operator*() const { return *current; } - difference_type operator-(const iterator& x) const { - return node == x.node - ? current - x.current - : difference_type(buffer_size * (node - x.node - 1) + - (current - first) + (x.last - x.current)); - } - iterator& operator++() { - if (++current == last) { - first = *(++node); - current = first; - last = first + buffer_size; - } - return *this; - } - iterator operator++(int) { - iterator tmp = *this; - ++*this; - return tmp; - } - iterator& operator--() { - if (current == first) { - first = *(--node); - last = first + buffer_size; - current = last; - } - --current; - return *this; - } - iterator operator--(int) { - iterator tmp = *this; - --*this; - return tmp; - } - iterator& operator+=(difference_type n) { - difference_type offset = n + (current - first); - difference_type num_node_to_jump = offset >= 0 - ? offset / buffer_size - : -((-offset + buffer_size - 1) / buffer_size); - if (num_node_to_jump == 0) - current += n; - else { - node = node + num_node_to_jump; - first = *node; - last = first + buffer_size; - current = first + (offset - num_node_to_jump * buffer_size); - } - return *this; - } - iterator& operator-=(difference_type n) { return *this += -n; } - iterator operator+(difference_type n) const { - iterator tmp = *this; - return tmp += n; - } - iterator operator-(difference_type n) const { - iterator tmp = *this; - return tmp -= n; - } - reference operator[](difference_type n) { return *(*this + n); } - bool operator==(const iterator& x) const { - return current == x.current || - ((current == first || x.current == x.first) && - *this - x == 0); - } - bool operator<(const iterator& x) const { - return (node == x.node) ? (current < x.current) : (node < x.node); - } - }; - class const_iterator : public random_access_iterator { - friend class deque; - protected: - pointer current; - pointer first; - pointer last; - map_pointer node; - const_iterator(pointer x, map_pointer y) - : current(x), first(*y), last(*y + buffer_size), node(y) {} - public: - const_iterator() : current(0), first(0), last(0), node(0) {} - const_iterator(const iterator& x) - : current(x.current), first(x.first), last(x.last), node(x.node) {} - const_reference operator*() const { return *current; } - difference_type operator-(const const_iterator& x) const { - return node == x.node - ? current - x.current - : difference_type(buffer_size * (node - x.node - 1) + - (current - first) + (x.last - x.current)); - } - const_iterator& operator++() { - if (++current == last) { - first = *(++node); - current = first; - last = first + buffer_size; - } - return *this; - } - const_iterator operator++(int) { - const_iterator tmp = *this; - ++*this; - return tmp; - } - const_iterator& operator--() { - if (current == first) { - first = *(--node); - last = first + buffer_size; - current = last; - } - --current; - return *this; - } - const_iterator operator--(int) { - const_iterator tmp = *this; - --*this; - return tmp; - } - const_iterator& operator+=(difference_type n) { - difference_type offset = n + (current - first); - difference_type num_node_to_jump = offset >= 0 - ? offset / buffer_size - : -((-offset + buffer_size - 1) / buffer_size); - if (num_node_to_jump == 0) - current += n; - else { - node = node + num_node_to_jump; - first = *node; - last = first + buffer_size; - current = first + (offset - num_node_to_jump * buffer_size); - } - return *this; - } - const_iterator& operator-=(difference_type n) { return *this += -n; } - const_iterator operator+(difference_type n) const { - const_iterator tmp = *this; - return tmp += n; - } - const_iterator operator-(difference_type n) const { - const_iterator tmp = *this; - return tmp -= n; - } - const_reference operator[](difference_type n) { - return *(*this + n); - } - bool operator==(const const_iterator& x) const { - return current == x.current || - ((current == first || x.current == x.first) && - *this - x == 0); - } - bool operator<(const const_iterator& x) const { - return (node == x.node) ? (current < x.current) : (node < x.node); - } - }; - typedef reverse_iterator const_reverse_iterator; - typedef reverse_iterator - reverse_iterator; -protected: - iterator start; - iterator finish; - size_type length; - map_pointer map; - size_type map_size; - - void allocate_at_begin(); - void allocate_at_end(); - void deallocate_at_begin(); - void deallocate_at_end(); - -public: - deque() : start(), finish(), length(0), map(0), map_size(0) { -/* - * Changed by Terris - */ - /*buffer_size = data_allocator.init_page_size();*/ - } - iterator begin() { return start; } - const_iterator begin() const { return start; } - iterator end() { return finish; } - const_iterator end() const { return finish; } - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { - return const_reverse_iterator(end()); - } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { - return const_reverse_iterator(begin()); - } - bool empty() const { return length == 0; } - size_type size() const { return length; } - size_type max_size() const { return data_allocator.max_size(); } - reference operator[](size_type n) { return *(begin() + n); } - const_reference operator[](size_type n) const { return *(begin() + n); } - reference front() { return *begin(); } - const_reference front() const { return *begin(); } - reference back() { return *(end() - 1); } - const_reference back() const { return *(end() - 1); } - void push_front(const T& x) { - if (empty() || begin().current == begin().first) - allocate_at_begin(); - --start.current; - construct(start.current, x); - ++length; - } - void push_back(const T& x) { - if (empty() || end().current == end().last) - allocate_at_end(); - construct(finish.current, x); - ++finish.current; - ++length; - } - void pop_front() { - destroy(start.current); - ++start.current; - --length; - if (empty() || begin().current == begin().last) - deallocate_at_begin(); - } - void pop_back() { - --finish.current; - destroy(finish.current); - --length; - if (empty() || end().current == end().first) - deallocate_at_end(); - } - void swap(deque& x) { - std::swap(start, x.start); - std::swap(finish, x.finish); - std::swap(length, x.length); - std::swap(map, x.map); - std::swap(map_size, x.map_size); - } - iterator insert(iterator position, const T& x); - void insert(iterator position, size_type n, const T& x); -// template void insert(iterator position, -// Iterator first, Iterator last); - void insert(iterator position, const T* first, const T* last); - void erase(iterator position); - void erase(iterator first, iterator last); - deque(size_type n, const T& value = T()) - : start(), finish(), length(0), map(0), map_size(0) { -/* - * Changed by Terris - */ - /*buffer_size = data_allocator.init_page_size();*/ - insert(begin(), n, value); - } -// template deque(Iterator first, Iterator last); - deque(const T* first, const T* last) - : start(), finish(), length(0), map(0), map_size(0) { -/* - * Changed by Terris - */ - /*buffer_size = data_allocator.init_page_size();*/ - copy(first, last, back_inserter(*this)); - } - deque(const deque& x) - : start(), finish(), length(0), map(0), map_size(0) { -/* - * Changed by Terris - */ - /*buffer_size = data_allocator.init_page_size();*/ - copy(x.begin(), x.end(), back_inserter(*this)); - } - deque& operator=(const deque& x) { - if (this != &x) - if (size() >= x.size()) - erase(copy(x.begin(), x.end(), begin()), end()); - else - copy(x.begin() + size(), x.end(), - inserter(*this, copy(x.begin(), x.begin() + size(), - begin()))); - return *this; - } - ~deque(); -}; - -template -deque::data_allocator_type deque::data_allocator; - -template -deque::map_allocator_type deque::map_allocator; - -/* - * Changed by Terris - */ -#if 0 -template -deque::size_type deque::buffer_size = 0; -// should be data_allocator.init_page_size(); // Borland bug -#endif - -/* - * Added by Terris - */ -template -deque::size_type deque::buffer_size = data_allocator.init_page_size(); - -template -bool operator==(const deque& x, const deque& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -bool operator<(const deque& x, const deque& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -template -deque::~deque() { while (!empty()) pop_front(); } - -template -void deque::allocate_at_begin() { - pointer p = data_allocator.allocate(buffer_size); - if (!empty()) { - if (start.node == map) { - difference_type i = finish.node - start.node; - map_size = (i + 1) * 2; - map_pointer tmp = map_allocator.allocate(map_size); - copy(start.node, finish.node + 1, tmp + map_size / 4 + 1); - map_allocator.deallocate(map); - map = tmp; - map[map_size / 4] = p; - start = iterator(p + buffer_size, map + map_size / 4); - finish = iterator(finish.current, map + map_size / 4 + i + 1); - } else { - *--start.node = p; - start = iterator(p + buffer_size, start.node); - } - } else { - map_size = map_allocator.init_page_size(); - map = map_allocator.allocate(map_size); - map[map_size / 2] = p; - start = iterator(p + buffer_size / 2 + 1, map + map_size / 2); - finish = start; - } -} - -template -void deque::allocate_at_end() { - pointer p = data_allocator.allocate(buffer_size); - if (!empty()) { - if (finish.node == map + map_size - 1) { - difference_type i = finish.node - start.node; - map_size = (i + 1) * 2; - map_pointer tmp = map_allocator.allocate(map_size); - copy(start.node, finish.node + 1, tmp + map_size / 4); - map_allocator.deallocate(map); - map = tmp; - map[map_size / 4 + i + 1] = p; - start = iterator(start.current, map + map_size / 4); - finish = iterator(p, map + map_size / 4 + i + 1); - } else { - *++finish.node = p; - finish = iterator(p, finish.node); - } - } else { - map_size = map_allocator.init_page_size(); - map = map_allocator.allocate(map_size); - map[map_size / 2] = p; - start = iterator(p + buffer_size / 2, map + map_size / 2); - finish = start; - } -} - -template -void deque::deallocate_at_begin() { - data_allocator.deallocate(*start.node++); - if (empty()) { - start = iterator(); - finish = start; - map_allocator.deallocate(map); - } else - start = iterator(*start.node, start.node); -} - -template -void deque::deallocate_at_end() { - data_allocator.deallocate(*finish.node--); - if (empty()) { - start = iterator(); - finish = start; - map_allocator.deallocate(map); - } else - finish = iterator(*finish.node + buffer_size, finish.node); -} - -template -deque::iterator deque::insert(iterator position, const T& x) { - if (position == begin()) { - push_front(x); - return begin(); - } else if (position == end()) { - push_back(x); - return end() - 1; - } else if (end() - position > position - begin()) { - push_front(*begin()); - copy(begin() + 2, position, begin() + 1); - *(position - 1) = x; - return position - 1; - } else { - push_back(*(end() - 1)); - copy_backward(position, end() - 2, end() - 1); - *position = x; - return position; - } -} - -template -void deque::insert(iterator position, size_type n, const T& x) { - if (end() - position > position - begin()) { - iterator old_begin = begin(); - if (n > position - old_begin) { - size_type m = n - (position - old_begin); - while (m-- > 0) push_front(x); - iterator i = position; - while (i != old_begin) push_front(*--i); - fill(old_begin, position, x); - } else { - iterator i = old_begin + n; - while (i != old_begin) push_front(*--i); - copy(old_begin + n, position, old_begin); - fill(position - n, position, x); - } - } else { - iterator old_end = end(); - if (n > old_end - position) { - size_type m = n - (old_end - position); - while (m-- > 0) push_back(x); - iterator i = position; - while (i != old_end) push_back(*i++); - fill(position, old_end, x); - } else { - iterator i = old_end - n; - while (i != old_end) push_back(*i++); - copy_backward(position, old_end - n, old_end); - fill(position, position + n, x); - } - } -} - -template -void deque::insert(iterator position, const T* first, const T* last) { - size_type n = 0; - distance(first, last, n); - if (end() - position > position - begin()) { - iterator old_begin = begin(); - if (n > position - old_begin) { - const T* m = last - (position - old_begin); - while (m != first) push_front(*--m); - iterator i = position; - while (i != old_begin) push_front(*--i); - copy(last - (position - old_begin), last, old_begin); - } else { - iterator i = old_begin + n; - while (i != old_begin) push_front(*--i); - copy(old_begin + n, position, old_begin); - copy(first, last, position - n); - } - } else { - iterator old_end = end(); - if (n > old_end - position) { - const T* m = first + (old_end - position); - while (m != last) push_back(*m++); - iterator i = position; - while (i != old_end) push_back(*i++); - copy(first, first + (old_end - position), position); - } else { - iterator i = old_end - n; - while (i != old_end) push_back(*i++); - copy_backward(position, old_end - n, old_end); - copy(first, last, position); - } - } -} - -template -void deque::erase(iterator position) { - if (end() - position > position - begin()) { - copy_backward(begin(), position, position + 1); - pop_front(); - } else { - copy(position + 1, end(), position); - pop_back(); - } -} - -template -void deque::erase(iterator first, iterator last) { - difference_type n = last - first; - if (end() - last > first - begin()) { - copy_backward(begin(), first, last); - while(n-- > 0) pop_front(); - } else { - copy(last, end(), first); - while(n-- > 0) pop_back(); - } -} - -#undef Allocator -#undef deque - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/function.h b/STL/function.h deleted file mode 100644 index b6f87a69706..00000000000 --- a/STL/function.h +++ /dev/null @@ -1,287 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef FUNCTION_H -#define FUNCTION_H - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -inline bool operator!=(const T& x, const T& y) { - return !(x == y); -} - -template -inline bool operator>(const T& x, const T& y) { - return y < x; -} - -template -inline bool operator<=(const T& x, const T& y) { - return !(y < x); -} - -template -inline bool operator>=(const T& x, const T& y) { - return !(x < y); -} - -template -struct unary_function { - typedef Arg argument_type; - typedef Result result_type; -}; - -template -struct binary_function { - typedef Arg1 first_argument_type; - typedef Arg2 second_argument_type; - typedef Result result_type; -}; - -template -struct plus : binary_function { - T operator()(const T& x, const T& y) const { return x + y; } -}; - -template -struct minus : binary_function { - T operator()(const T& x, const T& y) const { return x - y; } -}; - -template -struct times : binary_function { - T operator()(const T& x, const T& y) const { return x * y; } -}; - -template -struct divides : binary_function { - T operator()(const T& x, const T& y) const { return x / y; } -}; - -template -struct modulus : binary_function { - T operator()(const T& x, const T& y) const { return x % y; } -}; - -template -struct negate : unary_function { - T operator()(const T& x) const { return -x; } -}; - -template -struct equal_to : binary_function { - bool operator()(const T& x, const T& y) const { return x == y; } -}; - -template -struct not_equal_to : binary_function { - bool operator()(const T& x, const T& y) const { return x != y; } -}; - -template -struct greater : binary_function { - bool operator()(const T& x, const T& y) const { return x > y; } -}; - -template -struct less : binary_function { - bool operator()(const T& x, const T& y) const { return x < y; } -}; - -template -struct greater_equal : binary_function { - bool operator()(const T& x, const T& y) const { return x >= y; } -}; - -template -struct less_equal : binary_function { - bool operator()(const T& x, const T& y) const { return x <= y; } -}; - -template -struct logical_and : binary_function { - bool operator()(const T& x, const T& y) const { return x && y; } -}; - -template -struct logical_or : binary_function { - bool operator()(const T& x, const T& y) const { return x || y; } -}; - -template -struct logical_not : unary_function { - bool operator()(const T& x) const { return !x; } -}; - -template -class unary_negate : public unary_function { -protected: - Predicate pred; -public: - unary_negate(const Predicate& x) : pred(x) {} - bool operator()(const argument_type& x) const { return !pred(x); } -}; - -template -unary_negate not1(const Predicate& pred) { - return unary_negate(pred); -} - -template -class binary_negate - : public binary_function { -protected: - Predicate pred; -public: - binary_negate(const Predicate& x) : pred(x) {} - bool operator()(const first_argument_type& x, - const second_argument_type& y) const { - return !pred(x, y); - } -}; - -template -binary_negate not2(const Predicate& pred) { - return binary_negate(pred); -} - -template -class binder1st : public unary_function { -protected: - Operation op; - Operation::first_argument_type value; -public: - binder1st(const Operation& x, const Operation::first_argument_type& y) - : op(x), value(y) {} - result_type operator()(const argument_type& x) const { - return op(value, x); - } -}; - -template -binder1st bind1st(const Operation& op, const T& x) { - return binder1st(op, Operation::first_argument_type(x)); -} - -template -class binder2nd : public unary_function { -protected: - Operation op; - Operation::second_argument_type value; -public: - binder2nd(const Operation& x, const Operation::second_argument_type& y) - : op(x), value(y) {} - result_type operator()(const argument_type& x) const { - return op(x, value); - } -}; - -template -binder2nd bind2nd(const Operation& op, const T& x) { - return binder2nd(op, Operation::second_argument_type(x)); -} - -template -class unary_compose : public unary_function { -protected: - Operation1 op1; - Operation2 op2; -public: - unary_compose(const Operation1& x, const Operation2& y) : op1(x), op2(y) {} - result_type operator()(const argument_type& x) const { - return op1(op2(x)); - } -}; - -template -unary_compose compose1(const Operation1& op1, - const Operation2& op2) { - return unary_compose(op1, op2); -} - -template -class binary_compose : public unary_function { -protected: - Operation1 op1; - Operation2 op2; - Operation3 op3; -public: - binary_compose(const Operation1& x, const Operation2& y, - const Operation3& z) : op1(x), op2(y), op3(z) { } - result_type operator()(const argument_type& x) const { - return op1(op2(x), op3(x)); - } -}; - -template -binary_compose -compose2(const Operation1& op1, const Operation2& op2, const Operation3& op3) { - return binary_compose(op1, op2, op3); -} - -template -class pointer_to_unary_function : public unary_function { -protected: - Result (*ptr)(Arg); -public: - pointer_to_unary_function(Result (*x)(Arg)) : ptr(x) {} - Result operator()(Arg x) const { return ptr(x); } -}; - -template -pointer_to_unary_function ptr_fun(Result (*x)(Arg)) { - return pointer_to_unary_function(x); -} - -template -class pointer_to_binary_function : public binary_function { -protected: - Result (*ptr)(Arg1, Arg2); -public: - pointer_to_binary_function(Result (*x)(Arg1, Arg2)) : ptr(x) {} - Result operator()(Arg1 x, Arg2 y) const { return ptr(x, y); } -}; - -template -pointer_to_binary_function -ptr_fun(Result (*x)(Arg1, Arg2)) { - return pointer_to_binary_function(x); -} - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/heap.h b/STL/heap.h deleted file mode 100644 index 75e1796beea..00000000000 --- a/STL/heap.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef HEAP_H -#define HEAP_H - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -void __push_heap(RandomAccessIterator first, Distance holeIndex, - Distance topIndex, T value) { - Distance parent = (holeIndex - 1) / 2; - while (holeIndex > topIndex && *(first + parent) < value) { - *(first + holeIndex) = *(first + parent); - holeIndex = parent; - parent = (holeIndex - 1) / 2; - } - *(first + holeIndex) = value; -} - -template -inline void __push_heap_aux(RandomAccessIterator first, - RandomAccessIterator last, T*) { - __push_heap(first, (last - first) - 1, 0, T(*(last - 1))); -} - -template -inline void push_heap(RandomAccessIterator first, RandomAccessIterator last) { - __push_heap_aux(first, last, value_type(first)); -} - -template -void __push_heap(RandomAccessIterator first, Distance holeIndex, - Distance topIndex, T value, Compare comp) { - Distance parent = (holeIndex - 1) / 2; - while (holeIndex > topIndex && comp(*(first + parent), value)) { - *(first + holeIndex) = *(first + parent); - holeIndex = parent; - parent = (holeIndex - 1) / 2; - } - *(first + holeIndex) = value; -} - -template -inline void __push_heap_aux(RandomAccessIterator first, - RandomAccessIterator last, Compare comp, T*) { - __push_heap(first, (last - first) - 1, 0, T(*(last - 1)), comp); -} - -template -inline void push_heap(RandomAccessIterator first, RandomAccessIterator last, - Compare comp) { - __push_heap_aux(first, last, comp, value_type(first)); -} - -template -void __adjust_heap(RandomAccessIterator first, Distance holeIndex, - Distance len, T value) { - Distance topIndex = holeIndex; - Distance secondChild = 2 * holeIndex + 2; - while (secondChild < len) { - if (*(first + secondChild) < *(first + (secondChild - 1))) - secondChild--; - *(first + holeIndex) = *(first + secondChild); - holeIndex = secondChild; - secondChild = 2 * (secondChild + 1); - } - if (secondChild == len) { - *(first + holeIndex) = *(first + (secondChild - 1)); - holeIndex = secondChild - 1; - } - __push_heap(first, holeIndex, topIndex, value); -} - -template -inline void __pop_heap(RandomAccessIterator first, RandomAccessIterator last, - RandomAccessIterator result, T value, Distance*) { - *result = *first; - __adjust_heap(first, Distance(0), Distance(last - first), value); -} - -template -inline void __pop_heap_aux(RandomAccessIterator first, - RandomAccessIterator last, T*) { - __pop_heap(first, last - 1, last - 1, T(*(last - 1)), distance_type(first)); -} - -template -inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last) { - __pop_heap_aux(first, last, value_type(first)); -} - -template -void __adjust_heap(RandomAccessIterator first, Distance holeIndex, - Distance len, T value, Compare comp) { - Distance topIndex = holeIndex; - Distance secondChild = 2 * holeIndex + 2; - while (secondChild < len) { - if (comp(*(first + secondChild), *(first + (secondChild - 1)))) - secondChild--; - *(first + holeIndex) = *(first + secondChild); - holeIndex = secondChild; - secondChild = 2 * (secondChild + 1); - } - if (secondChild == len) { - *(first + holeIndex) = *(first + (secondChild - 1)); - holeIndex = secondChild - 1; - } - __push_heap(first, holeIndex, topIndex, value, comp); -} - -template -inline void __pop_heap(RandomAccessIterator first, RandomAccessIterator last, - RandomAccessIterator result, T value, Compare comp, - Distance*) { - *result = *first; - __adjust_heap(first, Distance(0), Distance(last - first), value, comp); -} - -template -inline void __pop_heap_aux(RandomAccessIterator first, - RandomAccessIterator last, T*, Compare comp) { - __pop_heap(first, last - 1, last - 1, T(*(last - 1)), comp, - distance_type(first)); -} - -template -inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last, - Compare comp) { - __pop_heap_aux(first, last, value_type(first), comp); -} - -template -void __make_heap(RandomAccessIterator first, RandomAccessIterator last, T*, - Distance*) { - if (last - first < 2) return; - Distance len = last - first; - Distance parent = (len - 2)/2; - - while (true) { - __adjust_heap(first, parent, len, T(*(first + parent))); - if (parent == 0) return; - parent--; - } -} - -template -inline void make_heap(RandomAccessIterator first, RandomAccessIterator last) { - __make_heap(first, last, value_type(first), distance_type(first)); -} - -template -void __make_heap(RandomAccessIterator first, RandomAccessIterator last, - Compare comp, T*, Distance*) { - if (last - first < 2) return; - Distance len = last - first; - Distance parent = (len - 2)/2; - - while (true) { - __adjust_heap(first, parent, len, T(*(first + parent)), comp); - if (parent == 0) return; - parent--; - } -} - -template -inline void make_heap(RandomAccessIterator first, RandomAccessIterator last, - Compare comp) { - __make_heap(first, last, comp, value_type(first), distance_type(first)); -} - -template -void sort_heap(RandomAccessIterator first, RandomAccessIterator last) { - while (last - first > 1) pop_heap(first, last--); -} - -template -void sort_heap(RandomAccessIterator first, RandomAccessIterator last, - Compare comp) { - while (last - first > 1) pop_heap(first, last--, comp); -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/iterator.h b/STL/iterator.h deleted file mode 100644 index bf16eb0f40e..00000000000 --- a/STL/iterator.h +++ /dev/null @@ -1,414 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef ITERATOR_H -#define ITERATOR_H - -#include -#include -#include -#include - -struct input_iterator_tag {}; -struct output_iterator_tag {}; -struct forward_iterator_tag {}; -struct bidirectional_iterator_tag {}; -struct random_access_iterator_tag {}; - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template struct input_iterator {}; -struct output_iterator {}; -template struct forward_iterator {}; -template struct bidirectional_iterator {}; -template struct random_access_iterator {}; - -template -inline input_iterator_tag -iterator_category(const input_iterator&) { - return input_iterator_tag(); -} - -inline output_iterator_tag iterator_category(const output_iterator&) { - return output_iterator_tag(); -} - -template -inline forward_iterator_tag -iterator_category(const forward_iterator&) { - return forward_iterator_tag(); -} - -template -inline bidirectional_iterator_tag -iterator_category(const bidirectional_iterator&) { - return bidirectional_iterator_tag(); -} - -template -inline random_access_iterator_tag -iterator_category(const random_access_iterator&) { - return random_access_iterator_tag(); -} - -template -inline random_access_iterator_tag iterator_category(const T*) { - return random_access_iterator_tag(); -} - -template -inline T* value_type(const input_iterator&) { - return (T*)(0); -} - -template -inline T* value_type(const forward_iterator&) { - return (T*)(0); -} - -template -inline T* value_type(const bidirectional_iterator&) { - return (T*)(0); -} - -template -inline T* value_type(const random_access_iterator&) { - return (T*)(0); -} - -template -inline T* value_type(const T*) { return (T*)(0); } - -template -inline Distance* distance_type(const input_iterator&) { - return (Distance*)(0); -} - -template -inline Distance* distance_type(const forward_iterator&) { - return (Distance*)(0); -} - -template -inline Distance* -distance_type(const bidirectional_iterator&) { - return (Distance*)(0); -} - -template -inline Distance* -distance_type(const random_access_iterator&) { - return (Distance*)(0); -} - -template -inline ptrdiff_t* distance_type(const T*) { return (ptrdiff_t*)(0); } - -template -class back_insert_iterator : public output_iterator { -protected: - Container& container; -public: - back_insert_iterator(Container& x) : container(x) {} - back_insert_iterator & - operator=(const Container::value_type& value) { - container.push_back(value); - return *this; - } - back_insert_iterator & operator*() { return *this; } - back_insert_iterator & operator++() { return *this; } - back_insert_iterator & operator++(int) { return *this; } -}; - -template -back_insert_iterator back_inserter(Container& x) { - return back_insert_iterator(x); -} - -template -class front_insert_iterator : public output_iterator { -protected: - Container& container; -public: - front_insert_iterator(Container& x) : container(x) {} - front_insert_iterator& - operator=(const Container::value_type& value) { - container.push_front(value); - return *this; - } - front_insert_iterator& operator*() { return *this; } - front_insert_iterator& operator++() { return *this; } - front_insert_iterator& operator++(int) { return *this; } -}; - -template -front_insert_iterator front_inserter(Container& x) { - return front_insert_iterator(x); -} - -template -class insert_iterator : public output_iterator { -protected: - Container& container; - Container::iterator iter; -public: - insert_iterator(Container& x, Container::iterator i) - : container(x), iter(i) {} - insert_iterator & - operator=(const Container::value_type& value) { - iter = container.insert(iter, value); - ++iter; - return *this; - } - insert_iterator& operator*() { return *this; } - insert_iterator& operator++() { return *this; } - insert_iterator& operator++(int) { return *this; } -}; - -template -insert_iterator inserter(Container& x, Iterator i) { - return insert_iterator(x, Container::iterator(i)); -} - -template -// Reference = T& -// Distance = ptrdiff_t -class reverse_bidirectional_iterator - : public bidirectional_iterator { - typedef reverse_bidirectional_iterator self; - friend bool operator==(const self& x, const self& y); -protected: - BidirectionalIterator current; -public: - reverse_bidirectional_iterator() {} - reverse_bidirectional_iterator(BidirectionalIterator x) : current(x) {} - BidirectionalIterator base() { return current; } - Reference operator*() const { - BidirectionalIterator tmp = current; - return *--tmp; - } - self& operator++() { - --current; - return *this; - } - self operator++(int) { - self tmp = *this; - --current; - return tmp; - } - self& operator--() { - ++current; - return *this; - } - self operator--(int) { - self tmp = *this; - ++current; - return tmp; - } -}; - -template -inline bool operator==( - const reverse_bidirectional_iterator& x, - const reverse_bidirectional_iterator& y) { - return x.current == y.current; -} - -template -// Reference = T& -// Distance = ptrdiff_t -class reverse_iterator : public random_access_iterator { - typedef reverse_iterator - self; - friend bool operator==(const self& x, const self& y); - friend bool operator<(const self& x, const self& y); - friend Distance operator-(const self& x, const self& y); - friend self operator+(Distance n, const self& x); -protected: - RandomAccessIterator current; -public: - reverse_iterator() {} - reverse_iterator(RandomAccessIterator x) : current(x) {} - RandomAccessIterator base() { return current; } - Reference operator*() const { return *(current - 1); } - self& operator++() { - --current; - return *this; - } - self operator++(int) { - self tmp = *this; - --current; - return tmp; - } - self& operator--() { - ++current; - return *this; - } - self operator--(int) { - self tmp = *this; - ++current; - return tmp; - } - self operator+(Distance n) const { - return self(current - n); - } - self& operator+=(Distance n) { - current -= n; - return *this; - } - self operator-(Distance n) const { - return self(current + n); - } - self& operator-=(Distance n) { - current += n; - return *this; - } - Reference operator[](Distance n) { return *(*this + n); } -}; - -template -inline bool operator==(const reverse_iterator& x, - const reverse_iterator& y) { - return x.current == y.current; -} - -template -inline bool operator<(const reverse_iterator& x, - const reverse_iterator& y) { - return y.current < x.current; -} - -template -inline Distance operator-(const reverse_iterator& x, - const reverse_iterator& y) { - return y.current - x.current; -} - -template -inline reverse_iterator -operator+(Distance n, - const reverse_iterator& x) { - return reverse_iterator - (x.current - n); -} - - -template -class raw_storage_iterator : public output_iterator { -protected: - OutputIterator iter; -public: - raw_storage_iterator(OutputIterator x) : iter(x) {} - raw_storage_iterator& operator*() { return *this; } - raw_storage_iterator& operator=(const T& element) { - construct(iter, element); - return *this; - } - raw_storage_iterator& operator++() { - ++iter; - return *this; - } - raw_storage_iterator operator++(int) { - raw_storage_iterator tmp = *this; - ++iter; - return tmp; - } -}; - - -template // Distance == ptrdiff_t -class istream_iterator : public input_iterator { -friend bool operator==(const istream_iterator& x, - const istream_iterator& y); -protected: - istream* stream; - T value; - bool end_marker; - void read() { - end_marker = (*stream) ? true : false; - if (end_marker) *stream >> value; - end_marker = (*stream) ? true : false; - } -public: - istream_iterator() : stream(&cin), end_marker(false) {} - istream_iterator(istream& s) : stream(&s) { read(); } - const T& operator*() const { return value; } - istream_iterator& operator++() { - read(); - return *this; - } - istream_iterator operator++(int) { - istream_iterator tmp = *this; - read(); - return tmp; - } -}; - -template -bool operator==(const istream_iterator& x, - const istream_iterator& y) { - return x.stream == y.stream && x.end_marker == y.end_marker || - x.end_marker == false && y.end_marker == false; -} - -template -class ostream_iterator : public output_iterator { -protected: - ostream* stream; - char* string; -public: - ostream_iterator(ostream& s) : stream(&s), string(0) {} - ostream_iterator(ostream& s, char* c) : stream(&s), string(c) {} - ostream_iterator& operator=(const T& value) { - *stream << value; - if (string) *stream << string; - return *this; - } - ostream_iterator& operator*() { return *this; } - ostream_iterator& operator++() { return *this; } - ostream_iterator& operator++(int) { return *this; } -}; - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/list.h b/STL/list.h deleted file mode 100644 index b86184a777f..00000000000 --- a/STL/list.h +++ /dev/null @@ -1,520 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef LIST_H -#define LIST_H - -#include -#include -#include -#include - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#ifndef list -#define list list -#endif - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class list { -protected: - typedef Allocator::pointer void_pointer; - struct list_node; - friend list_node; - struct list_node { - void_pointer next; - void_pointer prev; - T data; - }; - static Allocator list_node_allocator; - static Allocator value_allocator; -public: - typedef T value_type; - typedef Allocator value_allocator_type; - typedef Allocator::pointer pointer; - typedef Allocator::reference reference; - typedef Allocator::const_reference const_reference; - typedef Allocator list_node_allocator_type; - typedef Allocator::pointer link_type; - typedef Allocator::size_type size_type; - typedef Allocator::difference_type difference_type; -protected: - size_type buffer_size() { - return list_node_allocator.init_page_size(); - } - struct list_node_buffer; - friend list_node_buffer; - struct list_node_buffer { - void_pointer next_buffer; - link_type buffer; - }; -public: - typedef Allocator buffer_allocator_type; - typedef Allocator::pointer buffer_pointer; -protected: - static Allocator buffer_allocator; -/* - * Changed by Terris - */ - /*static*/ buffer_pointer buffer_list; - /*static*/ link_type free_list; - /*static*/ link_type next_avail; - /*static*/ link_type last; - void add_new_buffer() { - buffer_pointer tmp = buffer_allocator.allocate((size_type)1); - tmp->buffer = list_node_allocator.allocate(buffer_size()); - tmp->next_buffer = buffer_list; - buffer_list = tmp; - next_avail = buffer_list->buffer; - last = next_avail + buffer_size(); - } -/* - * Changed by Terris - */ - /*static*/ size_type number_of_lists; - void deallocate_buffers(); - link_type get_node() { - link_type tmp = free_list; - return free_list ? (free_list = (link_type)(free_list->next), tmp) - : (next_avail == last ? (add_new_buffer(), next_avail++) - : next_avail++); - // ugly code for inlining - avoids multiple returns - } - void put_node(link_type p) { - p->next = free_list; - free_list = p; - } - -protected: - link_type node; - size_type length; -public: - class iterator; - class const_iterator; - class iterator : public bidirectional_iterator { - friend class list; - friend class const_iterator; -// friend bool operator==(const iterator& x, const iterator& y); - protected: - link_type node; - iterator(link_type x) : node(x) {} - public: - iterator() {} - bool operator==(const iterator& x) const { return node == x.node; } - reference operator*() const { return (*node).data; } - iterator& operator++() { - node = (link_type)((*node).next); - return *this; - } - iterator operator++(int) { - iterator tmp = *this; - ++*this; - return tmp; - } - iterator& operator--() { - node = (link_type)((*node).prev); - return *this; - } - iterator operator--(int) { - iterator tmp = *this; - --*this; - return tmp; - } - }; - class const_iterator : public bidirectional_iterator { - friend class list; - protected: - link_type node; - const_iterator(link_type x) : node(x) {} - public: - const_iterator() {} - const_iterator(const iterator& x) : node(x.node) {} - bool operator==(const const_iterator& x) const { return node == x.node; } - const_reference operator*() const { return (*node).data; } - const_iterator& operator++() { - node = (link_type)((*node).next); - return *this; - } - const_iterator operator++(int) { - const_iterator tmp = *this; - ++*this; - return tmp; - } - const_iterator& operator--() { - node = (link_type)((*node).prev); - return *this; - } - const_iterator operator--(int) { - const_iterator tmp = *this; - --*this; - return tmp; - } - }; - typedef reverse_bidirectional_iterator - const_reverse_iterator; - typedef reverse_bidirectional_iterator - reverse_iterator; -/* - * Changed by Terris - */ - list() : length(0), free_list(0), buffer_list(0), next_avail(0), last(0), number_of_lists(0) { - ++number_of_lists; - node = get_node(); - (*node).next = node; - (*node).prev = node; - } - iterator begin() { return (link_type)((*node).next); } - const_iterator begin() const { return (link_type)((*node).next); } - iterator end() { return node; } - const_iterator end() const { return node; } - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { - return const_reverse_iterator(end()); - } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { - return const_reverse_iterator(begin()); - } - bool empty() const { return length == 0; } - size_type size() const { return length; } - size_type max_size() const { return list_node_allocator.max_size(); } - reference front() { return *begin(); } - const_reference front() const { return *begin(); } - reference back() { return *(--end()); } - const_reference back() const { return *(--end()); } - void swap(list& x) { - std::swap(node, x.node); - std::swap(length, x.length); - /* - * Added By Terris - */ - std::swap(buffer_list, x.buffer_list); - std::swap(free_list, x.free_list); - std::swap(next_avail, x.next_avail); - std::swap(last, x.last); - /* - * Added By Terris - */ - } - iterator insert(iterator position, const T& x) { - link_type tmp = get_node(); - construct(value_allocator.address((*tmp).data), x); - (*tmp).next = position.node; - (*tmp).prev = (*position.node).prev; - (*(link_type((*position.node).prev))).next = tmp; - (*position.node).prev = tmp; - ++length; - return tmp; - } - void insert(iterator position, const T* first, const T* last); - void insert(iterator position, const_iterator first, - const_iterator last); - void insert(iterator position, size_type n, const T& x); - void push_front(const T& x) { insert(begin(), x); } - void push_back(const T& x) { insert(end(), x); } - void erase(iterator position) { - (*(link_type((*position.node).prev))).next = (*position.node).next; - (*(link_type((*position.node).next))).prev = (*position.node).prev; - destroy(value_allocator.address((*position.node).data)); - put_node(position.node); - --length; - } - void erase(iterator first, iterator last); - void pop_front() { erase(begin()); } - void pop_back() { - iterator tmp = end(); - erase(--tmp); - } -/* - * Changed by Terris - */ - list(size_type n, const T& value = T()) : length(0), free_list(0), buffer_list(0), next_avail(0), last(0), number_of_lists(0) { - ++number_of_lists; - node = get_node(); - (*node).next = node; - (*node).prev = node; - insert(begin(), n, value); - } -/* - * Changed by Terris - */ - list(const T* first, const T* last) : length(0), free_list(0), buffer_list(0), next_avail(0), last(0), number_of_lists(0) { - ++number_of_lists; - node = get_node(); - (*node).next = node; - (*node).prev = node; - insert(begin(), first, last); - } -/* - * Changed by Terris - */ - list(const list& x) : length(0), free_list(0), buffer_list(0), next_avail(0), last(0), number_of_lists(0) { - ++number_of_lists; - node = get_node(); - (*node).next = node; - (*node).prev = node; - insert(begin(), x.begin(), x.end()); - } - ~list() { - erase(begin(), end()); - put_node(node); - if (--number_of_lists == 0) deallocate_buffers(); - } - list& operator=(const list& x); -protected: - void transfer(iterator position, iterator first, iterator last) { - (*(link_type((*last.node).prev))).next = position.node; - (*(link_type((*first.node).prev))).next = last.node; - (*(link_type((*position.node).prev))).next = first.node; - link_type tmp = link_type((*position.node).prev); - (*position.node).prev = (*last.node).prev; - (*last.node).prev = (*first.node).prev; - (*first.node).prev = tmp; - } -public: - void splice(iterator position, list& x) { - if (!x.empty()) { - transfer(position, x.begin(), x.end()); - length += x.length; - x.length = 0; - } - } - void splice(iterator position, list& x, iterator i) { - iterator j = i; - if (position == i || position == ++j) return; - transfer(position, i, j); - ++length; - --x.length; - } - void splice(iterator position, list& x, iterator first, iterator last) { - if (first != last) { - if (&x != this) { - difference_type n = 0; - distance(first, last, n); - x.length -= n; - length += n; - } - transfer(position, first, last); - } - } - void remove(const T& value); - void unique(); - void merge(list& x); - void reverse(); - void sort(); -}; - -/* - * Added by Terris - */ -#if 0 -template -list::buffer_pointer list::buffer_list = 0; - -template -list::link_type list::free_list = 0; - -template -list::link_type list::next_avail = 0; - -template -list::link_type list::last = 0; - -template -list::size_type list::number_of_lists = 0; -/* - * Added by Terris - */ -#endif - -template -list::list_node_allocator_type list::list_node_allocator; - -template -list::value_allocator_type list::value_allocator; - -template -list::buffer_allocator_type list::buffer_allocator; - -/* - * currently the following does not work - made into a member function - -template -inline bool operator==(const list::iterator& x, const list::iterator& y) { - return x.node == y.node; -} -*/ - -template -inline bool operator==(const list& x, const list& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const list& x, const list& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -template -void list::deallocate_buffers() { - while (buffer_list) { - buffer_pointer tmp = buffer_list; - buffer_list = (buffer_pointer)(buffer_list->next_buffer); - list_node_allocator.deallocate(tmp->buffer); - buffer_allocator.deallocate(tmp); - } - free_list = 0; - next_avail = 0; - last = 0; -} - -template -void list::insert(iterator position, const T* first, const T* last) { - while (first != last) insert(position, *first++); -} - -template -void list::insert(iterator position, const_iterator first, - const_iterator last) { - while (first != last) insert(position, *first++); -} - -template -void list::insert(iterator position, size_type n, const T& x) { - while (n--) insert(position, x); -} - -template -void list::erase(iterator first, iterator last) { - while (first != last) erase(first++); -} - -template -list& list::operator=(const list& x) { - if (this != &x) { - iterator first1 = begin(); - iterator last1 = end(); - const_iterator first2 = x.begin(); - const_iterator last2 = x.end(); - while (first1 != last1 && first2 != last2) *first1++ = *first2++; - if (first2 == last2) - erase(first1, last1); - else - insert(last1, first2, last2); - } - return *this; -} - -template -void list::remove(const T& value) { - iterator first = begin(); - iterator last = end(); - while (first != last) { - iterator next = first; - ++next; - if (*first == value) erase(first); - first = next; - } -} - -template -void list::unique() { - iterator first = begin(); - iterator last = end(); - if (first == last) return; - iterator next = first; - while (++next != last) { - if (*first == *next) - erase(next); - else - first = next; - next = first; - } -} - -template -void list::merge(list& x) { - iterator first1 = begin(); - iterator last1 = end(); - iterator first2 = x.begin(); - iterator last2 = x.end(); - while (first1 != last1 && first2 != last2) - if (*first2 < *first1) { - iterator next = first2; - transfer(first1, first2, ++next); - first2 = next; - } else - ++first1; - if (first2 != last2) transfer(last1, first2, last2); - length += x.length; - x.length= 0; -} - -template -void list::reverse() { - if (size() < 2) return; - for (iterator first = ++begin(); first != end();) { - iterator old = first++; - transfer(begin(), old, first); - } -} - -template -void list::sort() { - if (size() < 2) return; - list carry; - list counter[64]; - int fill = 0; - while (!empty()) { - carry.splice(carry.begin(), *this, begin()); - int i = 0; - while(i < fill && !counter[i].empty()) { - counter[i].merge(carry); - carry.swap(counter[i++]); - } - carry.swap(counter[i]); - if (i == fill) ++fill; - } - while(fill--) merge(counter[fill]); -} - -#undef Allocator -#undef list - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/map.h b/STL/map.h deleted file mode 100644 index 2cf7e543269..00000000000 --- a/STL/map.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef MAP_H -#define MAP_H - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class map { -public: - -// typedefs: - - typedef Key key_type; - typedef pair value_type; - typedef Compare key_compare; - - class value_compare - : public binary_function { - friend class map; - protected : - Compare comp; - value_compare(Compare c) : comp(c) {} - public: - bool operator()(const value_type& x, const value_type& y) const { - return comp(x.first, y.first); - } - }; - -private: - typedef rb_tree, key_compare> rep_type; - rep_type t; // red-black tree representing map -public: - typedef rep_type::pointer pointer; - typedef rep_type::reference reference; - typedef rep_type::const_reference const_reference; - typedef rep_type::iterator iterator; - typedef rep_type::const_iterator const_iterator; - typedef rep_type::reverse_iterator reverse_iterator; - typedef rep_type::const_reverse_iterator const_reverse_iterator; - typedef rep_type::size_type size_type; - typedef rep_type::difference_type difference_type; - -// allocation/deallocation - - map(const Compare& comp = Compare()) : t(comp, false) {} - map(const value_type* first, const value_type* last, - const Compare& comp = Compare()) : t(first, last, comp, false) {} - map(const map& x) : t(x.t, false) {} - map& operator=(const map& x) { - t = x.t; - return *this; - } - -// accessors: - - key_compare key_comp() const { return t.key_comp(); } - value_compare value_comp() const { return value_compare(t.key_comp()); } - iterator begin() { return t.begin(); } - const_iterator begin() const { return t.begin(); } - iterator end() { return t.end(); } - const_iterator end() const { return t.end(); } - reverse_iterator rbegin() { return t.rbegin(); } - const_reverse_iterator rbegin() const { return t.rbegin(); } - reverse_iterator rend() { return t.rend(); } - const_reverse_iterator rend() const { return t.rend(); } - bool empty() const { return t.empty(); } - size_type size() const { return t.size(); } - size_type max_size() const { return t.max_size(); } - Allocator::reference operator[](const key_type& k) { - return (*((insert(value_type(k, T()))).first)).second; - } - void swap(map& x) { t.swap(x.t); } - -// insert/erase - - typedef pair pair_iterator_bool; - // typedef done to get around compiler bug - pair_iterator_bool insert(const value_type& x) { return t.insert(x); } - iterator insert(iterator position, const value_type& x) { - return t.insert(position, x); - } - void insert(const value_type* first, const value_type* last) { - t.insert(first, last); - } - void erase(iterator position) { t.erase(position); } - size_type erase(const key_type& x) { return t.erase(x); } - void erase(iterator first, iterator last) { t.erase(first, last); } - -// map operations: - - iterator find(const key_type& x) { return t.find(x); } - const_iterator find(const key_type& x) const { return t.find(x); } - size_type count(const key_type& x) const { return t.count(x); } - iterator lower_bound(const key_type& x) {return t.lower_bound(x); } - const_iterator lower_bound(const key_type& x) const { - return t.lower_bound(x); - } - iterator upper_bound(const key_type& x) {return t.upper_bound(x); } - const_iterator upper_bound(const key_type& x) const { - return t.upper_bound(x); - } - typedef pair pair_iterator_iterator; - // typedef done to get around compiler bug - pair_iterator_iterator equal_range(const key_type& x) { - return t.equal_range(x); - } - typedef pair pair_citerator_citerator; - // typedef done to get around compiler bug - pair_citerator_citerator equal_range(const key_type& x) const { - return t.equal_range(x); - } -}; - -template -inline bool operator==(const map& x, - const map& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const map& x, - const map& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -#undef Allocator - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/multimap.h b/STL/multimap.h deleted file mode 100644 index 570aa521999..00000000000 --- a/STL/multimap.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef MULTIMAP_H -#define MULTIMAP_H - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class multimap { -public: - -// typedefs: - - typedef Key key_type; - typedef pair value_type; - typedef Compare key_compare; - - class value_compare - : public binary_function { - friend class multimap; - protected: - Compare comp; - value_compare(Compare c) : comp(c) {} - public: - bool operator()(const value_type& x, const value_type& y) const { - return comp(x.first, y.first); - } - }; - -private: - typedef rb_tree, key_compare> rep_type; - rep_type t; // red-black tree representing multimap -public: - typedef rep_type::reference reference; - typedef rep_type::const_reference const_reference; - typedef rep_type::iterator iterator; - typedef rep_type::const_iterator const_iterator; - typedef rep_type::reverse_iterator reverse_iterator; - typedef rep_type::const_reverse_iterator const_reverse_iterator; - typedef rep_type::size_type size_type; - typedef rep_type::difference_type difference_type; - -// allocation/deallocation - - multimap(const Compare& comp = Compare()) : t(comp, true) { } - multimap(const value_type* first, const value_type* last, - const Compare& comp = Compare()) : t(first, last, comp, true) { } - multimap(const multimap& x) : t(x.t, true) { } - multimap& operator=(const multimap& x) { - t = x.t; - return *this; - } - -// accessors: - - key_compare key_comp() const { return t.key_comp(); } - value_compare value_comp() const { return value_compare(t.key_comp()); } - iterator begin() { return t.begin(); } - const_iterator begin() const { return t.begin(); } - iterator end() { return t.end(); } - const_iterator end() const { return t.end(); } - reverse_iterator rbegin() { return t.rbegin(); } - const_reverse_iterator rbegin() const { return t.rbegin(); } - reverse_iterator rend() { return t.rend(); } - const_reverse_iterator rend() const { return t.rend(); } - bool empty() const { return t.empty(); } - size_type size() const { return t.size(); } - size_type max_size() const { return t.max_size(); } - void swap(multimap& x) { t.swap(x.t); } - -// insert/erase - - iterator insert(const value_type& x) { return t.insert(x).first; } - iterator insert(iterator position, const value_type& x) { - return t.insert(position, x); - } - void insert(const value_type* first, const value_type* last) { - t.insert(first, last); - } - void erase(iterator position) { t.erase(position); } - size_type erase(const key_type& x) { return t.erase(x); } - void erase(iterator first, iterator last) { t.erase(first, last); } - -// multimap operations: - - iterator find(const key_type& x) { return t.find(x); } - const_iterator find(const key_type& x) const { return t.find(x); } - size_type count(const key_type& x) const { return t.count(x); } - iterator lower_bound(const key_type& x) {return t.lower_bound(x); } - const_iterator lower_bound(const key_type& x) const { - return t.lower_bound(x); - } - iterator upper_bound(const key_type& x) {return t.upper_bound(x); } - const_iterator upper_bound(const key_type& x) const { - return t.upper_bound(x); - } - typedef pair pair_iterator_iterator; - // typedef done to get around compiler bug - pair_iterator_iterator equal_range(const key_type& x) { - return t.equal_range(x); - } - typedef pair pair_citerator_citerator; - // typedef done to get around compiler bug - pair_citerator_citerator equal_range(const key_type& x) const { - return t.equal_range(x); - } -}; - -template -inline bool operator==(const multimap& x, - const multimap& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const multimap& x, - const multimap& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -#undef Allocator - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/multiset.h b/STL/multiset.h deleted file mode 100644 index 6c96e7504c3..00000000000 --- a/STL/multiset.h +++ /dev/null @@ -1,148 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef MULTISET_H -#define MULTISET_H - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class multiset { -public: -// typedefs: - - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; -private: - typedef rb_tree, key_compare> rep_type; - rep_type t; // red-black tree representing multiset -public: - typedef rep_type::const_reference reference; - typedef rep_type::const_reference const_reference; - typedef rep_type::const_iterator iterator; - typedef rep_type::const_iterator const_iterator; - typedef rep_type::const_reverse_iterator reverse_iterator; - typedef rep_type::const_reverse_iterator const_reverse_iterator; - typedef rep_type::size_type size_type; - typedef rep_type::difference_type difference_type; - -// allocation/deallocation - - multiset(const Compare& comp = Compare()) : t(comp, true) {} - multiset(const value_type* first, const value_type* last, - const Compare& comp = Compare()) : t(comp, true) { - for (const value_type* i = first; i != last; ++i) - t.insert(*i); - } - multiset(const multiset& x) : t(x.t, true) {} - multiset& operator=(const multiset& x) { - t = x.t; - return *this; - } - -// accessors: - - key_compare key_comp() const { return t.key_comp(); } - value_compare value_comp() const { return t.key_comp(); } - iterator begin() const { return t.begin(); } - iterator end() const { return t.end(); } - reverse_iterator rbegin() const { return t.rbegin(); } - reverse_iterator rend() const { return t.rend(); } - bool empty() const { return t.empty(); } - size_type size() const { return t.size(); } - size_type max_size() const { return t.max_size(); } - void swap(multiset& x) { t.swap(x.t); } - -// insert/erase - iterator insert(const value_type& x) { - return t.insert(x).first; - } - iterator insert(iterator position, const value_type& x) { - return t.insert((rep_type::iterator&)position, x); - } - void insert(const value_type* first, const value_type* last) { - for (const value_type* i = first; i != last; ++i) - t.insert(*i); - } - void erase(iterator position) { - t.erase((rep_type::iterator&)position); - } - size_type erase(const key_type& x) { - return t.erase(x); - } - void erase(iterator first, iterator last) { - t.erase((rep_type::iterator&)first, - (rep_type::iterator&)last); - } - -// multiset operations: - - iterator find(const key_type& x) const { return t.find(x); } - size_type count(const key_type& x) const { return t.count(x); } - iterator lower_bound(const key_type& x) const { - return t.lower_bound(x); - } - iterator upper_bound(const key_type& x) const { - return t.upper_bound(x); - } - typedef pair pair_iterator_iterator; - // typedef done to get around compiler bug - pair_iterator_iterator equal_range(const key_type& x) const { - return t.equal_range(x); - } -}; - -template -inline bool operator==(const multiset& x, - const multiset& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const multiset& x, - const multiset& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -#undef Allocator - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/pair.h b/STL/pair.h deleted file mode 100644 index acb45a2f7f1..00000000000 --- a/STL/pair.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef PAIR_H -#define PAIR_H - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -struct pair { - T1 first; - T2 second; - pair(const T1& a, const T2& b) : first(a), second(b) {} -}; - -template -inline bool operator==(const pair& x, const pair& y) { - return x.first == y.first && x.second == y.second; -} - -template -inline bool operator<(const pair& x, const pair& y) { - return x.first < y.first || (!(y.first < x.first) && x.second < y.second); -} - -template -inline pair make_pair(const T1& x, const T2& y) { - return pair(x, y); -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/projectn.h b/STL/projectn.h deleted file mode 100644 index eae35dd8e6d..00000000000 --- a/STL/projectn.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef PROJECTN_H -#define PROJECTN_H - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -struct select1st : public unary_function { - const U& operator()(const T& x) const { return x.first; } -}; - -template -struct ident : public unary_function { - const U& operator()(const T& x) const { return x; } -}; - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/ptr.h b/STL/ptr.h deleted file mode 100644 index ad0fe736795..00000000000 --- a/STL/ptr.h +++ /dev/null @@ -1,338 +0,0 @@ -//***************************************************************************** -// -// Class Ptr -// -// Ptr is a proxy for a pointer to an object. This class provides automatic -// deletion of objects allocated on the heap. Objects are viewed via the -// ->, *, and (itemClass *) operators. Since these operators are inline, there -// is no performance penalty for using this proxy instead of a real pointer. -// -// You can assign multiple pointers to one Ptr object. If you -// do, the old object will be destroyed automatically. -// -// Use suggestions: -// 1. To clean up pointers returned by functions or methods that -// return pointers and expect the caller to delete the pointer. -// 2. To make sure an object gets deleted. Using Ptr saves you -// the hassle of writing an exception handler for this purpose. -// 3. Part of a composite object (assembly-part). -// This class is a useful substitute when pointers are needed, -// because object clean-up is fully encapsulated. -// The following are cases where pointers would normally be used. -// -// For declaring class data members that may or -// may not be instantiated (1 to 0-or-1 relationship). -// -// To instantiate a data member only when it is really needed, -// reducing average memory consumption during execution. -// -// MFC and thread-local storage -- some MFC objects can only be -// accessed by the thread that created them. MFC sub-component -// objects cannot be instantiated along with its container object -// if the container object is created in one thread and the MFC -// object is accessed in another. -// -// When a 'part' class does not have a default constructor. -// There are two solutions provided by C++ for this situation. -// The designer could use a pointer to the object instead, -// or the designer could alter the assembly class's constructor -// to accept parameters that are passed on to the 'part' class's -// constructor. -// -// See Design Patterns - Proxy pattern, and the Iterator pattern (pg 266). -// -// Template Parameters: -// itemClass: The class of the underlying object (the 'pointed to' object). -// -//***************************************************************************** - -template -class Ptr -{ - public: - - // Construction - Ptr( itemClass *pItem = NULL ); - Ptr( const Ptr& ); - - // Destruction - ~Ptr(); - - // Access to 'real' object - inline itemClass * operator -> () const; - inline operator itemClass * () const; - inline itemClass& operator * () const; - - // Assignment - Ptr& operator = ( const Ptr& ); - Ptr& operator = ( itemClass *pItem ); - itemClass *& GetPtrRef(); - - // Other - void Disown(); - - private: - - itemClass *m_pObject; -}; - -//***************************************************************************** -// -// Ptr default constructor -// -// DESCRIPTION: -// -// Constructor. -// -// INPUT PARAMETERS: -// pItem - Pointer to the object to point to. pItem is deleted -// when 'this' is deleted. -// -//***************************************************************************** - -template -Ptr::Ptr( itemClass *pItem ) - : m_pObject( pItem ) -{ -} - -//***************************************************************************** -// -// Ptr::Ptr (Ptr&) -// -// DESCRIPTION: -// -// Copy constructor. To avoid deleting 'rCopy's object -// twice, 'rCopy' will not point to any object after this method completes. -// rCopy is not really const, but it is declared 'const' since -// this allows putting Ptr's in STL containers. -// -// INPUT PARAMETERS: -// rCopy - A reference to the Ptr to copy. -// -// OUTPUT PARAMETERS: -// rCopy - No longer points to anything. -// -//***************************************************************************** - -template -Ptr::Ptr( const Ptr& rCopy ) -{ - m_pObject = rCopy.m_pObject; - - // rCopy no longer owns the object. - const_cast< Ptr& >(rCopy).m_pObject = NULL; -} - -//***************************************************************************** -// -// Ptr::~Ptr -// -// DESCRIPTION: -// -// Destroys the object that is being pointed to (if any). -// -//***************************************************************************** - -template -Ptr::~Ptr() -{ - delete m_pObject; // delete NULL OK -} - -//***************************************************************************** -// -// Ptr::GetPtrRef -// -// DESCRIPTION: -// -// Returns a reference to an internal pointer. This allows these -// objects to be sent to functions that accept pointers to pointers -// or references to pointers as output arguments. Typically, this -// is how functions return multiple objects. -// -// This is not const because this method is ultimately intended -// for changing the object's value. -// -// RETURNS: -// A reference to the 'pointer' data member of this object. -// -//***************************************************************************** - -template -itemClass *& Ptr::GetPtrRef() -{ - return m_pObject; -} - -//***************************************************************************** -// -// Ptr::operator -> -// -// DESCRIPTION: -// -// Provides access to the interface of the underlying object. -// -// RETURNS: -// Nothing callers can really use - only the compiler can use it. -// This method is part of the pointer to member operator (-> *). -// -//***************************************************************************** - -template -itemClass * Ptr::operator -> () const -{ - return m_pObject; -} - -//***************************************************************************** -// -// Ptr::operator itemClass * -// -// DESCRIPTION: -// -// Provides access to the underlying object. -// -// RETURNS: -// Pointer to the object that is being pointed to. -// -//***************************************************************************** - -template -Ptr::operator itemClass * () const -{ - return m_pObject; -} - -//***************************************************************************** -// -// Ptr::operator * -// -// DESCRIPTION: -// -// Provides access to the underlying object. -// -// RETURNS: -// Reference to the object that is being pointed to. -// -//***************************************************************************** - -template -itemClass& Ptr::operator * () const -{ - return *m_pObject; -} - -//***************************************************************************** -// -// Ptr::operator = (Ptr&) -// -// DESCRIPTION: -// -// For assigning one Ptr to another. Deletes the object that 'this' -// is pointing to and makes 'this' point to the object that 'rCopy' -// is pointing to. To avoid deleting 'rCopy's object twice, 'rCopy' -// will not point to any object after this method completes. -// -// Although the parameter rCopy can be arugably not "const", it -// must be "const" since the compiler will complain in certain -// cases with warning C4270. -// -// INPUT PARAMETERS: -// rCopy - A reference to the Ptr to copy. -// -// OUTPUT PARAMETERS: -// rCopy - No longer points to anything. -// -// RETURNS: -// A reference to 'this'. -// -//***************************************************************************** - -template -Ptr& -Ptr::operator = ( const Ptr& rCopy ) -{ - // Check for A = A - if ( &rCopy == this ) - { - return *this; - } - - // Save current pointer so we can delete it after - // doing everything else - itemClass *pOldObject = m_pObject; - - // Get the pointer out of rCopy - m_pObject = rCopy.m_pObject; - - // rCopy no longer owns the object. - const_cast< Ptr& >(rCopy).m_pObject = NULL; - - // This might generate an exception. But, we won't - // introduce a memory leak because 'this' now - // owns rCopy's pointer. - delete pOldObject; // delete NULL OK - - return *this; -} - -//***************************************************************************** -// -// Ptr::operator = -// -// DESCRIPTION: -// -// Changes the underlying object. If the proxy currently has an -// underlying object, then it is deleted. -// -// INPUT PARAMETERS: -// pItem - Reference to the new object. Can be NULL. -// -// RETURNS: -// Reference to 'this'. -// -//***************************************************************************** - -template -Ptr& Ptr::operator = ( itemClass *pItem ) -{ - if ( m_pObject == pItem ) - { - return *this; - } - - // Save current pointer so we can delete it after - // doing everything else - itemClass *pOldObject = m_pObject; - - m_pObject = pItem; - - // This might generate an exception. But, we won't - // introduce a memory leak because 'this' now - // owns pItem. - delete pOldObject; // delete NULL OK - - return *this; -} - -//***************************************************************************** -// -// Ptr::Disown -// -// DESCRIPTION: -// -// Ptr objects delete their pointed-to objects when they go out -// of scope. Calling Disown() causes the Ptr object to 'forget' -// that it is currently pointing to an object. -// -// RETURNS: -// Doesn't return anything because returning a value such as a pointer -// to the item encourages misuse leading to memory leaks. -// -//***************************************************************************** -template -void Ptr::Disown() -{ - m_pObject = NULL; -} diff --git a/STL/queue.h b/STL/queue.h deleted file mode 100644 index 2c539450a61..00000000000 --- a/STL/queue.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/STL/random.cpp b/STL/random.cpp deleted file mode 100644 index 57ef645ae64..00000000000 --- a/STL/random.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#include - -#define __SEED 161803398 - -class __random_generator { -protected: - unsigned long table[55]; - size_t index1; - size_t index2; -public: - unsigned long operator()(unsigned long limit) { - index1 = (index1 + 1) % 55; - index2 = (index2 + 1) % 55; - table[index1] = table[index1] - table[index2]; - return table[index1] % limit; - } - void seed(unsigned long j); - __random_generator(unsigned long j) { seed(j); } -}; - -void __random_generator::seed(unsigned long j) { - unsigned long k = 1; - table[54] = j; - for (size_t i = 0; i < 54; i++) { - size_t ii = 21 * i % 55; - table[ii] = k; - k = j - k; - j = table[ii]; - } - for (int loop = 0; loop < 4; loop++) { - for (i = 0; i < 55; i++) - table[i] = table[i] - table[(1 + i + 30) % 55]; - } - index1 = 0; - index2 = 31; -} - -__random_generator rd(__SEED); - -unsigned long __long_random(unsigned long limit) { - return rd(limit); -} diff --git a/STL/readme2.stl b/STL/readme2.stl deleted file mode 100644 index 5132bc1189b..00000000000 --- a/STL/readme2.stl +++ /dev/null @@ -1,272 +0,0 @@ -STL2.ZIP - -Standard Template Library for Visual C++ 4.0 -and Related Classes - -Revised 10/15/96 - Bug fixes and change to bit_vector. - -This version supports DLLs and threading. You must use critical -sections around code that uses the same container in different -threads. These features come at a price -- since memory -usage is not optimal, this code may use more memory and -may be slower. - -+ General strategy: Remove all statics except the - static allocator objects. -+ Vectors were not affected. -+ Major changes made to tree.h -+ Stability: Very stable. - -This code should be considered for experimental use only. There -are still statics lurking in some functions; these functions -are not thread-safe. - -------------------------- -Fix for bit_vector -------------------------- -This version also has a fix for bit_vector, which doesn't really -work with VC++ 4.x. Please include bvector.cpp in your -project if you use bit_vector. This fixes the linker errors -that occur if you use bector.h in multiple .cpp files. - -------------------------- -Disclaimer -------------------------- -Code is provided without warranty, liability, or technical support. - -STL.H and PTR.H are freely distributable and can be -modified in any way. - --------------------------------- -STRING.H does not compile. --------------------------------- - -"D. Pirzadeh" Explains how to fix: - -First, I got compile errors in "bstring.h" -and changed it as follows to correct: - line 1104 "::reserve" -> "std::reserve" - line 1110 "::default_size" -> "std::default_size" - -Also, I got an INTERNAL COMPILER ERROR with Visual C++ v4.0 when I did the fol- -lowing: - class xyz : public std::string { } - -I fixed it with: - typedef std::string XyzString; - class xyz : public XyzString { } - --------------------------------- -Changes made to STL distribution --------------------------------- - -These files were modified from the STL distribution shipped with -Microsoft Visual C++ 4.0. The files here are a complete, -working version of the STL. These files have been tested with -MFC applications. - -Changes were made to practically all header files. Look for -comments like: - -*Added by... -*Changed by... - ------------------- -Usage Instructions ------------------- - -Set the preprocessor variable NOMINMAX. - -As Microsoft recommends, the STL is compiled in the std namespace. - -When including these files, do **not** do this: - - namespace std - { - #include - } - -Instead, do this: - - #include - -Recommended usage: - - First, include: - - #include - #include - #include - - Then include the STL header files. - -------------------- -Support for CString -------------------- -The stl.h file contains code written by me. The file contains -operators that will allow you to use CString objects with STL -containers and functions. - -!!!! CString will not work with STL unless you include !!!! - -------------------------------------------- -Helper functions for pointers-in-containers -------------------------------------------- -There is a file called stl.h which contains two functions: - SequenceDelete - MapDelete -These functions send "delete" to all of the objects in a container. - -If you don't like this approach, you can use a supplied "pointer -wrapper" class. - -There is a file called ptr.h which contains a class called Ptr -that can be used exactly like a pointer. The object has a pointer -inside it that points to an object of any class. When a Ptr object -is deleted, "delete" is sent to its underlying pointer. Ptr can be -used with any STL container, as it has a copy constructor and -assignment operator, which transfers "ownership" of the pointer from -the source object to the destination object. Ptr is from the book -Design Patterns by Gamma et al -- see the Proxy pattern. - -The Ptr class makes memory leaks impossible, because it deletes -objects automatically when the container is deleted, or when -functions like "delete" are used. - -Example: - - This is a vector of CStrings: - - std::vector< Ptr > StringVector; - - StringVector.push_back( Ptr( new CString( "hello" ) ) ); - StringVector.push_back( Ptr( new CString( "This is another string" ) ) ); - ------------------------- -Common Problems with STL ------------------------- - -1) Compiler error: != is ambiguous - - Solution: put the following line at the beginning of the method - that caused the error: - - using namespace std; - -2) When using maps, the debugger crashes. - - This is because symbols for maps (actually, for the "pair") - get truncated to 255 characters. Solution: Turn off the - variables window in the debugger. Don't try to look at - a symbol that has been truncated. This is not an STL-specific - bug -- It's a bug in the debugger. - -3) All sorts of compile errors in STL header files - - Make sure the preprocessor variable NOMINMAX is defined - - -4) Compiler errors about "operator < is not available", etc. - The class involved has global comparison operators. - - Solution: - Write "routers" in the std namespace to the global namespace. - Example (see also stl.h - this is how CString is able - to work with STL): - - namespace std - { - BOOL operator < ( const MyClass & rLhs, - const AnotherClass & rRhs ) - { - return ::operator < ( rLhs, rRhs ); - } - } - - See also 5. - -5) When you use find() or another algorithm, the compiler - complains that it cannot find the == or < operators. - -If your code compiles without any error messages, then disregard -this section. However, if you get errors like "cannot convert -first argument from const class X" then read on. - -I am assuming that your code is calling an STL algorithm like -std::sort() or std::find(). If you're not, I can't help -you. - -There is apparently a bug in the Microsoft compiler regarding -namespaces. Namespaces cannot locate global -functions that reside in the global namespace. For example, -the binary == operator. - -Maybe this is a bug, maybe it isn't. This is not clear -to me. However, I do know what works and have tried many other -approaches that do not work. If you have a better solution I -would appreciate it if you could let me know about it. - -So, if you declare your own class and want to use algorithms -like find() on an STL container, you have two choices: - -(1) Declare == as a member function. -(2) Declare global operators == and !=. - -(1) simply works. There will come a time, however, when (1) -won't satisfy your needs. If A == B, then B == A. You can't -do this using member functions if A and B are from different -classes. - -If you choose (2), you must add the != operator to the std -namespace. There are two ways to do this. First, you can do -this: - namespace std - { - inline operator != ( const MyClass &rLhs, const MyClass &rRhs ) - { - return ::operator != ( rLhs, rRhs ); - } - } -This "routes" != from the std namespace to the global namespace. - -Note that ( lhs != rhs ) can be derived from the == operator -as !( lhs == rhs ). There is a macro in STL.H, -STL_DECLARE_GLOBAL_NE, that does this derivation. -This derivation will not work when for whatever reason, !(lhs == rhs) -is not the same as ( lhs != rhs ). - -The following example shows what you have to do for find(). Other -algorithms require you to declare <, <=, and >= too. See the -macros STL_DECLARE_GLOBAL_GE, STL_DECLARE_GLOBAL_LT, and -STL_GLOBAL_LE. These macros derive new comparison operators -from "operator <( const T&, const T& )". - -class MyClass -{ - public: - - int units; - CString description; -}; - -// We want to be able to test two MyClass objects against each other -// in STL. Need to create a global operator for this purpose. -// Since we use find(), we need to declare not-equal too. -bool operator == ( const MyClass &, const MyClass & ); -STL_DECLARE_GLOBAL_NE( MyClass, MyClass ) - -// These operators test for a matching description. -// We do A == B and B == A to be consistent. -bool operator == ( const MyClass&, const CString & ); -bool operator == ( const CString&, const MyClass & ); -STL_DECLARE_GLOBAL_NE( MyClass, CString ) -STL_DECLARE_GLOBAL_NE( CString, MyClass ) - -6. Errors when creating vectors that have vectors and deques - that have deques. - - Solution: Provide atruments to the constructor. - - std::vector< std::vector > - TwoDimensional( 0, std::vector() ); - diff --git a/STL/set.h b/STL/set.h deleted file mode 100644 index 95ce5e1279d..00000000000 --- a/STL/set.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef SET_H -#define SET_H - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class set { -public: -// typedefs: - - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; -private: - typedef rb_tree, key_compare> rep_type; - rep_type t; // red-black tree representing set -public: - typedef rep_type::const_reference reference; - typedef rep_type::const_reference const_reference; - typedef rep_type::const_iterator iterator; - typedef rep_type::const_iterator const_iterator; - typedef rep_type::const_reverse_iterator reverse_iterator; - typedef rep_type::const_reverse_iterator const_reverse_iterator; - typedef rep_type::size_type size_type; - typedef rep_type::difference_type difference_type; - -// allocation/deallocation - - set(const Compare& comp = Compare()) : t(comp, false) {} - set(const value_type* first, const value_type* last, - const Compare& comp = Compare()) : t(comp, false) { - for (const value_type* i = first; i != last; ++i) - t.insert(*i); - } - set(const set& x) : t(x.t, false) {} - set& operator=(const set& x) { - t = x.t; - return *this; - } - -// accessors: - - key_compare key_comp() const { return t.key_comp(); } - value_compare value_comp() const { return t.key_comp(); } - iterator begin() const { return t.begin(); } - iterator end() const { return t.end(); } - reverse_iterator rbegin() const { return t.rbegin(); } - reverse_iterator rend() const { return t.rend(); } - bool empty() const { return t.empty(); } - size_type size() const { return t.size(); } - size_type max_size() const { return t.max_size(); } - void swap(set& x) { t.swap(x.t); } - -// insert/erase - typedef pair pair_iterator_bool; - // typedef done to get around compiler bug - pair_iterator_bool insert(const value_type& x) { - pair p = t.insert(x); - return pair(p.first, p.second); - } - iterator insert(iterator position, const value_type& x) { - return t.insert((rep_type::iterator&)position, x); - } - void insert(const value_type* first, const value_type* last) { - for (const value_type* i = first; i != last; ++i) - t.insert(*i); - } - void erase(iterator position) { - t.erase((rep_type::iterator&)position); - } - size_type erase(const key_type& x) { - return t.erase(x); - } - void erase(iterator first, iterator last) { - t.erase((rep_type::iterator&)first, - (rep_type::iterator&)last); - } - -// set operations: - - iterator find(const key_type& x) const { return t.find(x); } - size_type count(const key_type& x) const { return t.count(x); } - iterator lower_bound(const key_type& x) const { - return t.lower_bound(x); - } - iterator upper_bound(const key_type& x) const { - return t.upper_bound(x); - } - typedef pair pair_iterator_iterator; - // typedef done to get around compiler bug - pair_iterator_iterator equal_range(const key_type& x) const { - return t.equal_range(x); - } -}; - -template -inline bool operator==(const set& x, - const set& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const set& x, - const set& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -#undef Allocator - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/stack.h b/STL/stack.h deleted file mode 100644 index fbbfcff7541..00000000000 --- a/STL/stack.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef STACK_H -#define STACK_H - -#include -#include - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class stack { -friend bool operator==(const stack& x, const stack& y); -friend bool operator<(const stack& x, const stack& y); -public: - typedef Container::value_type value_type; - typedef Container::size_type size_type; -protected: - Container c; -public: - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - value_type& top() { return c.back(); } - const value_type& top() const { return c.back(); } - void push(const value_type& x) { c.push_back(x); } - void pop() { c.pop_back(); } -}; - -template -bool operator==(const stack& x, const stack& y) { - return x.c == y.c; -} - -template -bool operator<(const stack& x, const stack& y) { - return x.c < y.c; -} - -template -class queue { -friend bool operator==(const queue& x, const queue& y); -friend bool operator<(const queue& x, const queue& y); -public: - typedef Container::value_type value_type; - typedef Container::size_type size_type; -protected: - Container c; -public: - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - value_type& front() { return c.front(); } - const value_type& front() const { return c.front(); } - value_type& back() { return c.back(); } - const value_type& back() const { return c.back(); } - void push(const value_type& x) { c.push_back(x); } - void pop() { c.pop_front(); } -}; - -template -bool operator==(const queue& x, const queue& y) { - return x.c == y.c; -} - -template -bool operator<(const queue& x, const queue& y) { - return x.c < y.c; -} - -template -// Compare = less > -class priority_queue { -public: - typedef Container::value_type value_type; - typedef Container::size_type size_type; -protected: - Container c; - Compare comp; -public: - priority_queue(const Compare& x = Compare()) : c(), comp(x) {} - priority_queue(const value_type* first, const value_type* last, - const Compare& x = Compare()) : c(first, last), comp(x) { - make_heap(c.begin(), c.end(), comp); - } -/* - template - priority_queue(InputIterator first, InputIterator last, - const Compare& x = Compare()) : c(first, last), comp(x) { - make_heap(c.begin(), c.end(), comp); - } -*/ - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - value_type& top() { return c.front(); } - const value_type& top() const { return c.front(); } - void push(const value_type& x) { - c.push_back(x); - push_heap(c.begin(), c.end(), comp); - } - void pop() { - pop_heap(c.begin(), c.end(), comp); - c.pop_back(); - } -}; - -// no equality is provided - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/stl.h b/STL/stl.h deleted file mode 100644 index 2d75e19ba5a..00000000000 --- a/STL/stl.h +++ /dev/null @@ -1,206 +0,0 @@ -#ifndef __STL_H -#define __STL_H -#endif - -#include - -// Assumes MFC is included too. - -//***************************************************************************** -// -// SequenceDelete -// -// DESCRIPTION: -// -// Deletes items in an STL sequence container. All items in the -// container must be pointers to objects. -// -// INPUT PARAMETERS: -// first - An iterator. Should point to the first item to delete. -// last - An iterator. Should point AFTER the last item you wish -// to delete. -// -//***************************************************************************** - -template -void -SequenceDelete(ForwardIteratorClass first, const ForwardIteratorClass &last) -{ - using namespace std; - - while ( first != last ) - { - delete *first++; - } -} - -//***************************************************************************** -// -// MapDelete -// -// DESCRIPTION: -// -// Deletes items in an STL map container. All items in the container -// must be pointers to objects. -// -// INPUT PARAMETERS: -// first - An iterator. Should point to the first item to delete. -// last - An iterator. Should point AFTER the last item you wish -// to delete. -// -//***************************************************************************** - -template -void -MapDelete(ForwardIteratorClass first, const ForwardIteratorClass &last) -{ - using namespace std; - - while ( first != last ) - { - delete (*first++).second; - } -} - -//***************************************************************************** -// -// Comparison operators -// -// STL cannot find comparison operators at the global level. Is this a -// compier bug?? -// -// These functions cannot be templates because they will cause ambiguity -// errors within the STL code. -// -//***************************************************************************** - -//***************************************************************************** -// STL_ROUTE_ALL_GLOBALS(T1, T2) (macro) -// -// DESCRIPTION: -// -// This macro routes all of the comparison operators for a class whose -// operators happen to be defined at the global level. -// -// INPUT PARAMETERS: -// T1 - The name of the left-hand-side class. -// T2 - The name of the right-hand-side class. -// -//***************************************************************************** - -#define STL_ROUTE_ALL_GLOBALS(T1, T2) \ -namespace std \ -{ \ - inline bool operator == ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator == (s1, s2); \ - } \ - inline bool operator != ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator != (s1, s2); \ - } \ - inline bool operator > ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator > (s1, s2); \ - } \ - inline bool operator < ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator < (s1, s2); \ - } \ - inline bool operator >= ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator >= (s1, s2); \ - } \ - inline bool operator <= ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator <= (s1, s2); \ - } \ -} - -//***************************************************************************** -// STL_DECLARE_GLOBAL_NE(T1, T2) (macro) / Inequality -// STL_DECLARE_GLOBAL_GT(T1, T2) (macro) / Greater than -// STL_DECLARE_GLOBAL_GE(T1, T2) (macro) / Greater than or equal to -// STL_DECLARE_GLOBAL_LE(T1, T2) (macro) / Less than or equal to -// -// DESCRIPTION: -// -// These macros duplicate the behavior in the STL's function.h file. -// This behavior provides default implementations of certain comparison -// operators: !=, >, >=, and <=. -// -// STL is designed to instantiate these operators automatically if -// they are missing. This convenient feature of the STL has wreaked havoc -// on MFC and as a result Microsoft punted and said "use the std namespace." -// However, this introduced a new problem -- the STL can no longer -// automatically derive !=, <, >=, and <= from the objects' existing -// operators, because the operators are not accessible from the std -// namespace (they are in the global namespace). In fact, STL cannot -// even find the default global operators (such as == between two -// classes). This seems like a bug in Microsoft's compiler. -// -// If you are storing a new class of objects in an STL container and -// want to use find() on the container, then you must declare a global -// equality operator on the object. Then you can either create your -// own != operator, or derive one using STL_DECLARE_GLOBAL_NE. -// -// e.g., bool operator == ( const X&, const X& ) -// STL_DECLARE_GLOBAL_NE( X, X ) -// -// It's not a bad idea to declare: -// bool operator < ( const X&, const X& ) too. -// -// These macros should be used with classes that implement their -// comparison operators as global functions. -// -// INPUT PARAMETERS: -// T1 - The name of the left-hand-side class. -// T2 - The name of the right-hand-side class. -// -//***************************************************************************** - -// Retuires == (T1, T2) -#define STL_DECLARE_GLOBAL_NE(T1, T2) \ -namespace std \ -{ \ - inline bool operator != ( const T1 &s1, const T2 &s2 ) \ - { \ - return !( ::operator == (s1, s2) ); \ - } \ -} - -// Requires < ( T2, T1 ) -#define STL_DECLARE_GLOBAL_GT(T1, T2) \ -namespace std \ -{ \ - inline bool operator > ( const T1 &s1, const T2 &s2 ) \ - { \ - return ::operator < (s2, s1); \ - } \ -} - -// Requires < ( T1, T2 ) -#define STL_DECLARE_GLOBAL_GE(T1, T2) \ -namespace std \ -{ \ - inline bool operator >= ( const T1 &s1, const T2 &s2 ) \ - { \ - return !( ::operator < (s1, s2) ); \ - } \ -} - -// Requires < ( T2, T1 ) -#define STL_DECLARE_GLOBAL_LE(T1, T2) \ -namespace std \ -{ \ - inline bool operator <= ( const T1 &s1, const T2 &s2 ) \ - { \ - return !( ::operator < (s2, s1) ); \ - } \ -} - -//***************************************************************************** -// Route CString's comparison operators. -//***************************************************************************** - -STL_ROUTE_ALL_GLOBALS(CString, CString) diff --git a/STL/tempbuf.cpp b/STL/tempbuf.cpp deleted file mode 100644 index 90760dc5326..00000000000 --- a/STL/tempbuf.cpp +++ /dev/null @@ -1,19 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#include - -char __stl_temp_buffer[__stl_buffer_size]; diff --git a/STL/tempbuf.h b/STL/tempbuf.h deleted file mode 100644 index 84c9f4b2306..00000000000 --- a/STL/tempbuf.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef TEMPBUF_H -#define TEMPBUF_H - -#include -#include - -#ifndef __stl_buffer_size -#define __stl_buffer_size 16384 // 16k -#endif - -extern char __stl_temp_buffer[__stl_buffer_size]; - -//not reentrant code - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -pair get_temporary_buffer(int len, T*) { - while (len > __stl_buffer_size / sizeof(T)) { - set_new_handler(0); - T* tmp = (T*)(::operator new((unsigned int)len * sizeof(T))); - if (tmp) return pair(tmp, len); - len = len / 2; - } - return pair((T*)__stl_temp_buffer, - (int)(__stl_buffer_size / sizeof(T))); -} - -template -void return_temporary_buffer(T* p) { - if ((char*)(p) != __stl_temp_buffer) deallocate(p); -} - -template -pair get_temporary_buffer(long len, T* p) { - if (len > INT_MAX/sizeof(T)) - len = INT_MAX/sizeof(T); - pair tmp = get_temporary_buffer((int)len, p); - return pair(tmp.first, (long)(tmp.second)); -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/tree.h b/STL/tree.h deleted file mode 100644 index 738223f2fbf..00000000000 --- a/STL/tree.h +++ /dev/null @@ -1,1088 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef TREE_H -#define TREE_H - -/* - -Red-black tree class, designed for use in implementing STL -associative containers (set, multiset, map, and multimap). The -insertion and deletion algorithms are based on those in Cormen, -Leiserson, and Rivest, Introduction to Algorithms (MIT Press, 1990), -except that - -(1) the header cell is maintained with links not only to the root -but also to the leftmost node of the tree, to enable constant time -begin(), and to the rightmost node of the tree, to enable linear time -performance when used with the generic set algorithms (set_union, -etc.); - -(2) when a node being deleted has two children its successor node is -relinked into its place, rather than copied, so that the only -iterators invalidated are those referring to the deleted node. - -*/ - -#include -#include -#include -#include -#include - -#ifndef rb_tree -#define rb_tree rb_tree -#endif - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class rb_tree { -protected: - enum color_type {red, black}; - typedef Allocator::pointer void_pointer; - struct rb_tree_node; - friend rb_tree_node; - struct rb_tree_node { - color_type color_field; - void_pointer parent_link; - void_pointer left_link; - void_pointer right_link; - Value value_field; - }; - static Allocator rb_tree_node_allocator; - static Allocator value_allocator; -public: - typedef Key key_type; - typedef Value value_type; - typedef Allocator::pointer pointer; - typedef Allocator::reference reference; - typedef Allocator::const_reference const_reference; - typedef Allocator rb_tree_node_allocator_type; - typedef Allocator::pointer link_type; - typedef Allocator::size_type size_type; - typedef Allocator::difference_type difference_type; -protected: - size_type buffer_size() { - return rb_tree_node_allocator.init_page_size(); - } - struct rb_tree_node_buffer; - friend rb_tree_node_buffer; - struct rb_tree_node_buffer { - void_pointer next_buffer; - link_type buffer; - }; -public: - typedef Allocator buffer_allocator_type; - typedef Allocator::pointer buffer_pointer; -protected: - static Allocator buffer_allocator; -/* - * Changed by Terris - */ - /*static*/ buffer_pointer buffer_list; - /*static*/ link_type free_list; - /*static*/ link_type next_avail; - /*static*/ link_type last; - void add_new_buffer() { - buffer_pointer tmp = buffer_allocator.allocate((size_type)1); - tmp->buffer = rb_tree_node_allocator.allocate(buffer_size()); - tmp->next_buffer = buffer_list; - buffer_list = tmp; - next_avail = buffer_list->buffer; - last = next_avail + buffer_size(); - } -/* - * Changed by Terris - */ - /*static*/ size_type number_of_trees; - void deallocate_buffers(); - link_type get_node() { - link_type tmp = free_list; - return free_list ? - (free_list = (link_type)(free_list->right_link), tmp) - : (next_avail == last ? (add_new_buffer(), next_avail++) - : next_avail++); - // ugly code for inlining - avoids multiple returns - } - void put_node(link_type p) { - p->right_link = free_list; - free_list = p; - } -protected: - link_type header; - link_type& root() { return parent(header); } - link_type& root() const { return parent(header); } - link_type& leftmost() { return left(header); } - link_type& leftmost() const { return left(header); } - link_type& rightmost() { return right(header); } - link_type& rightmost() const { return right(header); } - size_type node_count; // keeps track of size of tree - bool insert_always; // controls whether an element already in the - // tree is inserted again -//public: - Compare key_compare; -/* - * Changed by Terris - */ - /*static*/ link_type NIL; - - static link_type& left(link_type x) { - return (link_type&)((*x).left_link); - } - static link_type& right(link_type x) { - return (link_type&)((*x).right_link); - } - static link_type& parent(link_type x) { - return (link_type&)((*x).parent_link); - } - static reference value(link_type x) { return (*x).value_field; } - static Allocator::const_reference key(link_type x) { - return KeyOfValue()(value(x)); - } - static color_type& color(link_type x) { - return (color_type&)(*x).color_field; } -/* - * Changed by Terris - * Doesn't need to take "NIL" parameter because everyone who calls this - * uses links only from "this" - */ - /*static*/ link_type minimum(link_type x) { - while (left(x) != NIL) - x = left(x); - return x; - } -/* - * Changed by Terris - */ - /*static*/ link_type maximum(link_type x) { - while (right(x) != NIL) - x = right(x); - return x; - } -public: - class iterator; - friend iterator; - class const_iterator; - friend const_iterator; -/* - * Terris comment: Here is where the iterator class starts. - */ - class iterator : public bidirectional_iterator { - friend class rb_tree; - friend class const_iterator; -/* - * Added by Terris - */ - link_type NIL; - -/* - friend bool operator==(const iterator& x, const iterator& y) { - return x.node == y.node; - } -*/ - protected: - link_type node; - iterator(link_type x, link_type NIL) : node(x), NIL(NIL) {} - public: -/* - * Changed by Terris - */ - iterator() { NIL = (link_type) NULL; } - bool operator==(const iterator& y) const { return node == y.node; } - reference operator*() const { return value(node); } - iterator& operator++() { - if (right(node) != NIL) { - node = right(node); - while (left(node) != NIL) - node = left(node); - } else { - link_type y = parent(node); - while (node == right(y)) { - node = y; - y = parent(y); - } - if (right(node) != y) // necessary because of rightmost - node = y; - } - return *this; - } - iterator operator++(int) { - iterator tmp = *this; - ++*this; - return tmp; - } - iterator& operator--() { - if (color(node) == red && parent(parent(node)) == node) - // check for header - node = right(node); // return rightmost - else if (left(node) != NIL) { - link_type y = left(node); - while (right(y) != NIL) - y = right(y); - node = y; - } else { - link_type y = parent(node); - while (node == left(y)) { - node = y; - y = parent(y); - } - node = y; - } - return *this; - } - iterator operator--(int) { - iterator tmp = *this; - --*this; - return tmp; - } - }; -/* - * Terris comment: Iterator class ends here - * Terris comment: Const Iterator class starts here - */ - class const_iterator - : public bidirectional_iterator { - friend class rb_tree; - friend class iterator; -/* - friend bool operator==(const const_iterator& x, const const_iterator& y) { - return x.node == y.node; - } -*/ -/* - * Added by Terris - */ - link_type NIL; - - protected: - link_type node; - const_iterator(link_type x, link_type NIL) : node(x), NIL(NIL) {} - public: -/* - * Changed by Terris - */ - const_iterator() { NIL = (link_type) NULL; } -/* - * Changed by Terris - */ - const_iterator(const iterator& x) : node(x.node), NIL(x.NIL) {} - bool operator==(const const_iterator& y) const { - return node == y.node; - } - bool operator!=(const const_iterator& y) const { - return node != y.node; - } - const_reference operator*() const { return value(node); } - const_iterator& operator++() { - if (right(node) != NIL) { - node = right(node); - while (left(node) != NIL) - node = left(node); - } else { - link_type y = parent(node); - while (node == right(y)) { - node = y; - y = parent(y); - } - if (right(node) != y) // necessary because of rightmost - node = y; - } - return *this; - } - const_iterator operator++(int) { - const_iterator tmp = *this; - ++*this; - return tmp; - } - const_iterator& operator--() { - if (color(node) == red && parent(parent(node)) == node) - // check for header - node = right(node); // return rightmost - else if (left(node) != NIL) { - link_type y = left(node); - while (right(y) != NIL) - y = right(y); - node = y; - } else { - link_type y = parent(node); - while (node == left(y)) { - node = y; - y = parent(y); - } - node = y; - } - return *this; - } - const_iterator operator--(int) { - const_iterator tmp = *this; - --*this; - return tmp; - } - }; -/* - * Terris comment: const_iterator ends here - */ - typedef reverse_bidirectional_iterator - reverse_iterator; - typedef reverse_bidirectional_iterator - const_reverse_iterator; -private: - iterator __insert(link_type x, link_type y, const value_type& v); -/* - * Changed by Terris - */ - link_type __copy(link_type x, link_type p, link_type nil); - void __erase(link_type x); - void init() { - ++number_of_trees; - if ( NIL == 0 ) { - NIL = get_node(); - color(NIL) = black; - parent(NIL) = 0; - left(NIL) = 0; - right(NIL) = 0; - } - header = get_node(); - color(header) = red; // used to distinguish header from root, - // in iterator.operator++ - root() = NIL; - leftmost() = header; - rightmost() = header; - } -public: - -// allocation/deallocation - -/* - * Changed by Terris - */ - rb_tree(const Compare& comp = Compare(), bool always = true) - : node_count(0), key_compare(comp), insert_always(always), free_list(0), buffer_list(0), next_avail(0), - last(0), number_of_trees(0), NIL(0) { - init(); - } -/* - * Changed by Terris - */ - rb_tree(const value_type* first, const value_type* last, - const Compare& comp = Compare(), bool always = true) - : node_count(0), key_compare(comp), insert_always(always), free_list(0), - buffer_list(0), next_avail(0), last(0), number_of_trees(0), NIL(0) { - init(); - insert(first, last); - } -/* - * Changed by Terris - */ - rb_tree(const rb_tree& x, - bool always = true) : node_count(x.node_count), - key_compare(x.key_compare), insert_always(always), free_list(0), - buffer_list(0), next_avail(0), last(0), number_of_trees(0), - NIL( 0 ) { -/* - * Added by Terris - */ - init(); -/* - * Changed by Terris - */ - // ++number_of_trees; - // header = get_node(); - // color(header) = red; -/* - * Changed by Terris - */ - root() = __copy(x.root(), header, x.NIL); - if (root() == NIL) { - leftmost() = header; - rightmost() = header; - } else { - leftmost() = minimum(root()); - rightmost() = maximum(root()); - } - } - ~rb_tree() { - erase(begin(), end()); - put_node(header); - if (--number_of_trees == 0) { - put_node(NIL); - NIL = 0; - deallocate_buffers(); - free_list = 0; - next_avail = 0; - last = 0; - } - } - rb_tree& - operator=(const rb_tree& x); - -// accessors: - - Compare key_comp() const { return key_compare; } -/* - * Changed by Terris - */ - iterator begin() { return iterator(leftmost(), NIL); } -/* - * Changed by Terris - */ - const_iterator begin() const { return const_iterator(leftmost(), NIL); } -/* - * Changed by Terris - */ - iterator end() { return iterator(header, NIL); } -/* - * Changed by Terris - */ - const_iterator end() const { return const_iterator(header, NIL); } - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { - return const_reverse_iterator(end()); - } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { - return const_reverse_iterator(begin()); - } - bool empty() const { return node_count == 0; } - size_type size() const { return node_count; } - size_type max_size() const { - return rb_tree_node_allocator.max_size(); - } - void swap(rb_tree& t) { - std::swap(header, t.header); - std::swap(node_count, t.node_count); - std::swap(insert_always, t.insert_always); - std::swap(key_compare, t.key_compare); - /* - * Added By Terris - */ - std::swap(NIL, t.NIL); - std::swap(buffer_list, t.buffer_list); - std::swap(free_list, t.free_list); - std::swap(next_avail, t.next_avail); - std::swap(last, t.last); - /* - * Added By Terris - */ - } - -// insert/erase - - typedef pair pair_iterator_bool; - // typedef done to get around compiler bug - pair_iterator_bool insert(const value_type& x); - iterator insert(iterator position, const value_type& x); - void insert(iterator first, iterator last); - void insert(const value_type* first, const value_type* last); - void erase(iterator position); - size_type erase(const key_type& x); - void erase(iterator first, iterator last); - void erase(const key_type* first, const key_type* last); - -// set operations: - - iterator find(const key_type& x); - const_iterator find(const key_type& x) const; - size_type count(const key_type& x) const; - iterator lower_bound(const key_type& x); - const_iterator lower_bound(const key_type& x) const; - iterator upper_bound(const key_type& x); - const_iterator upper_bound(const key_type& x) const; - typedef pair pair_iterator_iterator; - // typedef done to get around compiler bug - pair_iterator_iterator equal_range(const key_type& x); - typedef pair pair_citerator_citerator; - // typedef done to get around compiler bug - pair_citerator_citerator equal_range(const key_type& x) const; - inline void rotate_left(link_type x); - inline void rotate_right(link_type x); -}; - -/* - * Added by Terris - */ -#if 0 -template -rb_tree::buffer_pointer - rb_tree::buffer_list = 0; - -template -rb_tree::link_type - rb_tree::free_list = 0; - -template -rb_tree::link_type - rb_tree::next_avail = 0; - -template -rb_tree::link_type - rb_tree::last = 0; - -template -rb_tree::size_type - rb_tree::number_of_trees = 0; -/* - * Added by Terris - */ -#endif - -template -rb_tree::rb_tree_node_allocator_type - rb_tree::rb_tree_node_allocator; - -template -Allocator rb_tree::value_allocator; - -template -rb_tree::buffer_allocator_type - rb_tree::buffer_allocator; - -/* Added by Terris - */ -#if 0 -template -rb_tree::link_type - rb_tree::NIL = 0; -#endif - -template -void rb_tree::deallocate_buffers() { - while (buffer_list) { - buffer_pointer tmp = buffer_list; - buffer_list = (buffer_pointer)(buffer_list->next_buffer); - rb_tree_node_allocator.deallocate(tmp->buffer); - buffer_allocator.deallocate(tmp); - } -} - -template -inline bool operator==(const rb_tree& x, - const rb_tree& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const rb_tree& x, - const rb_tree& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - -template -rb_tree& -rb_tree:: -operator=(const rb_tree& x) { - if (this != &x) { - // can't be done as in list because Key may be a constant type - erase(begin(), end()); -/* - * Changed by Terris - */ - root() = __copy(x.root(), header, x.NIL); - if (root() == NIL) { - leftmost() = header; - rightmost() = header; - } else { - leftmost() = minimum(root()); - rightmost() = maximum(root()); - } - node_count = x.node_count; - } - return *this; -} - -template -rb_tree::iterator -rb_tree:: -__insert(link_type x, link_type y, const Value& v) { - ++node_count; - link_type z = get_node(); - construct(value_allocator.address(value(z)), v); - if (y == header || x != NIL || key_compare(KeyOfValue()(v), key(y))) { - left(y) = z; // also makes leftmost() = z when y == header - if (y == header) { - root() = z; - rightmost() = z; - } else if (y == leftmost()) - leftmost() = z; // maintain leftmost() pointing to minimum node - } else { - right(y) = z; - if (y == rightmost()) - rightmost() = z; // maintain rightmost() pointing to maximum node - } - parent(z) = y; - left(z) = NIL; - right(z) = NIL; - x = z; // recolor and rebalance the tree - color(x) = red; - while (x != root() && color(parent(x)) == red) - if (parent(x) == left(parent(parent(x)))) { - y = right(parent(parent(x))); - if (color(y) == red) { - color(parent(x)) = black; - color(y) = black; - color(parent(parent(x))) = red; - x = parent(parent(x)); - } else { - if (x == right(parent(x))) { - x = parent(x); - rotate_left(x); - } - color(parent(x)) = black; - color(parent(parent(x))) = red; - rotate_right(parent(parent(x))); - } - } else { - y = left(parent(parent(x))); - if (color(y) == red) { - color(parent(x)) = black; - color(y) = black; - color(parent(parent(x))) = red; - x = parent(parent(x)); - } else { - if (x == left(parent(x))) { - x = parent(x); - rotate_right(x); - } - color(parent(x)) = black; - color(parent(parent(x))) = red; - rotate_left(parent(parent(x))); - } - } - color(root()) = black; - return iterator(z, NIL); -} - -template -rb_tree::pair_iterator_bool -rb_tree::insert(const Value& v) { - link_type y = header; - link_type x = root(); - bool comp = true; - while (x != NIL) { - y = x; - comp = key_compare(KeyOfValue()(v), key(x)); - x = comp ? left(x) : right(x); - } - if (insert_always) - return pair_iterator_bool(__insert(x, y, v), true); - iterator j = iterator(y, NIL); - if (comp) - if (j == begin()) - return pair_iterator_bool(__insert(x, y, v), true); - else - --j; - if (key_compare(key(j.node), KeyOfValue()(v))) - return pair_iterator_bool(__insert(x, y, v), true); - return pair_iterator_bool(j, false); -} - -template -rb_tree::iterator -rb_tree::insert(iterator position, - const Value& v) { - if (position == iterator(begin())) - if (size() > 0 && key_compare(KeyOfValue()(v), key(position.node))) - return __insert(position.node, position.node, v); - // first argument just needs to be non-NIL - else - return insert(v).first; - else if (position == iterator(end())) - if (key_compare(key(rightmost()), KeyOfValue()(v))) - return __insert(NIL, rightmost(), v); - else - return insert(v).first; - else { - iterator before = --position; - if (key_compare(key(before.node), KeyOfValue()(v)) - && key_compare(KeyOfValue()(v), key(position.node))) - if (right(before.node) == NIL) - return __insert(NIL, before.node, v); - else - return __insert(position.node, position.node, v); - // first argument just needs to be non-NIL - else - return insert(v).first; - } -} - -template -void rb_tree::insert(iterator first, - iterator last) { - while (first != last) insert(*first++); -} - -template -void rb_tree::insert(const Value* first, - const Value* last) { - while (first != last) insert(*first++); -} - -template -void rb_tree::erase(iterator position) { - link_type z = position.node; - link_type y = z; - link_type x; - if (left(y) == NIL) - x = right(y); - else - if (right(y) == NIL) - x = left(y); - else { - y = right(y); - while (left(y) != NIL) - y = left(y); - x = right(y); - } - if (y != z) { // relink y in place of z - parent(left(z)) = y; - left(y) = left(z); - if (y != right(z)) { - parent(x) = parent(y); // possibly x == NIL - left(parent(y)) = x; // y must be a left child - right(y) = right(z); - parent(right(z)) = y; - } else - parent(x) = y; // needed in case x == NIL - if (root() == z) - root() = y; - else if (left(parent(z)) == z) - left(parent(z)) = y; - else - right(parent(z)) = y; - parent(y) = parent(z); - std::swap(color(y), color(z)); - std::swap(y, z); - // y points to node to be actually deleted, - // z points to old z's former successor - } else { // y == z - parent(x) = parent(y); // possibly x == NIL - if (root() == z) - root() = x; - else - if (left(parent(z)) == z) - left(parent(z)) = x; - else - right(parent(z)) = x; - if (leftmost() == z) - if (right(z) == NIL) // left(z) must be NIL also - leftmost() = parent(z); - // makes leftmost() == header if z == root() - else - leftmost() = minimum(x); - if (rightmost() == z) - if (left(z) == NIL) // right(z) must be NIL also - rightmost() = parent(z); - // makes rightmost() == header if z == root() - else // x == left(z) - rightmost() = maximum(x); - } - if (color(y) != red) { - while (x != root() && color(x) == black) - if (x == left(parent(x))) { - link_type w = right(parent(x)); - if (color(w) == red) { - color(w) = black; - color(parent(x)) = red; - rotate_left(parent(x)); - w = right(parent(x)); - } - if (color(left(w)) == black && color(right(w)) == black) { - color(w) = red; - x = parent(x); - } else { - if (color(right(w)) == black) { - color(left(w)) = black; - color(w) = red; - rotate_right(w); - w = right(parent(x)); - } - color(w) = color(parent(x)); - color(parent(x)) = black; - color(right(w)) = black; - rotate_left(parent(x)); - break; - } - } else { // same as then clause with "right" and "left" exchanged - link_type w = left(parent(x)); - if (color(w) == red) { - color(w) = black; - color(parent(x)) = red; - rotate_right(parent(x)); - w = left(parent(x)); - } - if (color(right(w)) == black && color(left(w)) == black) { - color(w) = red; - x = parent(x); - } else { - if (color(left(w)) == black) { - color(right(w)) = black; - color(w) = red; - rotate_left(w); - w = left(parent(x)); - } - color(w) = color(parent(x)); - color(parent(x)) = black; - color(left(w)) = black; - rotate_right(parent(x)); - break; - } - } - color(x) = black; - } - destroy(value_allocator.address(value(y))); - put_node(y); - --node_count; -} - -template -rb_tree::size_type -rb_tree::erase(const Key& x) { - pair_iterator_iterator p = equal_range(x); - size_type n = 0; - distance(p.first, p.second, n); - erase(p.first, p.second); - return n; -} - -template -rb_tree::link_type -/* - * Changed by Terris - */ -rb_tree::__copy(link_type x, link_type p, link_type xNIL) { - // structural copy - link_type r = x; - while (x != xNIL) { - link_type y = get_node(); - if (r == x) r = y; // save for return value - construct(value_allocator.address(value(y)), value(x)); - left(p) = y; - parent(y) = p; - color(y) = color(x); -/* - * Changed by Terris - */ - right(y) = __copy(right(x), y, xNIL); - p = y; - x = left(x); - } - left(p) = NIL; -/* - * Changed by Terris - */ - return r == xNIL ? NIL : r; -} - -template -void rb_tree::__erase(link_type x) { - // erase without rebalancing - while (x != NIL) { - __erase(right(x)); - link_type y = left(x); - destroy(value_allocator.address(value(x))); - put_node(x); - x = y; - } -} - -template -void rb_tree::erase(iterator first, - iterator last) { - if (first == begin() && last == end() && node_count != 0) { - __erase(root()); - leftmost() = header; - root() = NIL; - rightmost() = header; - node_count = 0; - } else - while (first != last) erase(first++); -} - -template -void rb_tree::erase(const Key* first, - const Key* last) { - while (first != last) erase(*first++); -} - -template -rb_tree::iterator -rb_tree::find(const Key& k) { - link_type y = header; - link_type x = root(); - bool comp = false; - while (x != NIL) { - y = x; - comp = key_compare(key(x), k); - x = comp ? right(x) : left(x); - } - iterator j = iterator(y, NIL); - if (comp) ++j; - return (j == end() || key_compare(k, key(j.node))) ? end() : j; -} - -template -rb_tree::const_iterator -rb_tree::find(const Key& k) const { - link_type y = header; - link_type x = root(); - bool comp = false; - while (x != NIL) { - y = x; - comp = key_compare(key(x), k); - x = comp ? right(x) : left(x); - } - const_iterator j = const_iterator(y, NIL); - if (comp) ++j; - return (j == end() || key_compare(k, key(j.node))) ? end() : j; -} - -template -rb_tree::size_type -rb_tree::count(const Key& k) const { - pair p = equal_range(k); - size_type n = 0; - distance(p.first, p.second, n); - return n; -} - -template -rb_tree::iterator -rb_tree::lower_bound(const Key& k) { - link_type y = header; - link_type x = root(); - bool comp = false; - while (x != NIL) { - y = x; - comp = key_compare(key(x), k); - x = comp ? right(x) : left(x); - } - iterator j = iterator(y, NIL); - return comp ? ++j : j; -} - -template -rb_tree::const_iterator -rb_tree::lower_bound(const Key& k) const { - link_type y = header; - link_type x = root(); - bool comp = false; - while (x != NIL) { - y = x; - comp = key_compare(key(x), k); - x = comp ? right(x) : left(x); - } - const_iterator j = const_iterator(y, NIL); - return comp ? ++j : j; -} - -template -rb_tree::iterator -rb_tree::upper_bound(const Key& k) { - link_type y = header; - link_type x = root(); - bool comp = true; - while (x != NIL) { - y = x; - comp = key_compare(k, key(x)); - x = comp ? left(x) : right(x); - } - iterator j = iterator(y, NIL); - return comp ? j : ++j; -} - -template -rb_tree::const_iterator -rb_tree::upper_bound(const Key& k) const { - link_type y = header; - link_type x = root(); - bool comp = true; - while (x != NIL) { - y = x; - comp = key_compare(k, key(x)); - x = comp ? left(x) : right(x); - } - const_iterator j = const_iterator(y, NIL); - return comp ? j : ++j; -} - - -template -rb_tree::pair_iterator_iterator -rb_tree::equal_range(const Key& k) { - return pair_iterator_iterator(lower_bound(k), upper_bound(k)); -} - -template -rb_tree::pair_citerator_citerator -rb_tree::equal_range(const Key& k) const { - return pair_citerator_citerator(lower_bound(k), upper_bound(k)); -} - -template -inline void -rb_tree::rotate_left(link_type x) { - link_type y = right(x); - right(x) = left(y); - if (left(y) != NIL) - parent(left(y)) = x; - parent(y) = parent(x); - if (x == root()) - root() = y; - else if (x == left(parent(x))) - left(parent(x)) = y; - else - right(parent(x)) = y; - left(y) = x; - parent(x) = y; -} - -template -inline void -rb_tree::rotate_right(link_type x) { - link_type y = left(x); - left(x) = right(y); - if (right(y) != NIL) - parent(right(y)) = x; - parent(y) = parent(x); - if (x == root()) - root() = y; - else if (x == right(parent(x))) - right(parent(x)) = y; - else - left(parent(x)) = y; - right(y) = x; - parent(x) = y; -} - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif diff --git a/STL/vector.h b/STL/vector.h deleted file mode 100644 index 7e2f11448b2..00000000000 --- a/STL/vector.h +++ /dev/null @@ -1,308 +0,0 @@ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company and Microsoft - * Corporation make no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - */ - -#ifndef VECTOR_H -#define VECTOR_H - -#include -#include -#include - -#ifndef Allocator -#define Allocator allocator -#include -#endif - -#ifndef vector -#define vector vector -#endif - - -/* - *Added by d:\\convert.pl --begin-- - */ -namespace std { -/* - *Added by d:\\convert.pl --end-- - */ - -template -class vector { -public: - - typedef Allocator vector_allocator; - typedef T value_type; - typedef vector_allocator::pointer pointer; - typedef vector_allocator::pointer iterator; - typedef vector_allocator::const_pointer const_iterator; - typedef vector_allocator::reference reference; - typedef vector_allocator::const_reference const_reference; - typedef vector_allocator::size_type size_type; - typedef vector_allocator::difference_type difference_type; - typedef reverse_iterator const_reverse_iterator; - typedef reverse_iterator - reverse_iterator; -protected: - static Allocator static_allocator; - iterator start; - iterator finish; - iterator end_of_storage; - void insert_aux(iterator position, const T& x); -public: - iterator begin() { return start; } - const_iterator begin() const { return start; } - iterator end() { return finish; } - const_iterator end() const { return finish; } - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { - return const_reverse_iterator(end()); - } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { - return const_reverse_iterator(begin()); - } - size_type size() const { return size_type(end() - begin()); } - size_type max_size() const { return static_allocator.max_size(); } - size_type capacity() const { return size_type(end_of_storage - begin()); } - bool empty() const { return begin() == end(); } - reference operator[](size_type n) { return *(begin() + n); } - const_reference operator[](size_type n) const { return *(begin() + n); } - vector() : start(0), finish(0), end_of_storage(0) {} - /* - * This is cause the VC++ compiler sucks - * and does not recognize nested classes properly - * - * Here is the original: - * vector(size_type n, const T& value = T()) { - * - */ - vector(size_type n, const T& value /* = T() */) { - start = static_allocator.allocate(n); - uninitialized_fill_n(start, n, value); - finish = start + n; - end_of_storage = finish; - } - vector(const vector& x) { - start = static_allocator.allocate(x.end() - x.begin()); - finish = uninitialized_copy(x.begin(), x.end(), start); - end_of_storage = finish; - } - vector(const_iterator first, const_iterator last) { - size_type n = 0; - distance(first, last, n); - start = static_allocator.allocate(n); - finish = uninitialized_copy(first, last, start); - end_of_storage = finish; - } - ~vector() { - destroy(start, finish); - static_allocator.deallocate(start); - } - vector& operator=(const vector& x); - void reserve(size_type n) { - if (capacity() < n) { - iterator tmp = static_allocator.allocate(n); - uninitialized_copy(begin(), end(), tmp); - destroy(start, finish); - static_allocator.deallocate(start); - finish = tmp + size(); - start = tmp; - end_of_storage = begin() + n; - } - } - reference front() { return *begin(); } - const_reference front() const { return *begin(); } - reference back() { return *(end() - 1); } - const_reference back() const { return *(end() - 1); } - void push_back(const T& x) { - if (finish != end_of_storage) { - /* Borland bug */ - construct(finish, x); - finish++; - } else - insert_aux(end(), x); - } - void swap(vector& x) { - std::swap(start, x.start); - std::swap(finish, x.finish); - std::swap(end_of_storage, x.end_of_storage); - } - iterator insert(iterator position, const T& x) { - size_type n = position - begin(); - if (finish != end_of_storage && position == end()) { - /* Borland bug */ - construct(finish, x); - finish++; - } else - insert_aux(position, x); - return begin() + n; - } - void insert (iterator position, const_iterator first, - const_iterator last); - void insert (iterator position, size_type n, const T& x); - void pop_back() { - /* Borland bug */ - --finish; - destroy(finish); - } - void erase(iterator position) { - if (position + 1 != end()) - copy(position + 1, end(), position); - /* Borland bug */ - --finish; - destroy(finish); - } - void erase(iterator first, iterator last) { - vector::iterator i = copy(last, end(), first); - destroy(i, finish); - // work around for destroy(copy(last, end(), first), finish); - finish = finish - (last - first); - } -}; - -template -inline bool operator==(const vector& x, const vector& y) { - return x.size() == y.size() && equal(x.begin(), x.end(), y.begin()); -} - -template -inline bool operator<(const vector& x, const vector& y) { - return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); -} - - -template -vector::vector_allocator vector::static_allocator; - - -template -vector& vector::operator=(const vector& x) { - if (&x == this) return *this; - if (x.size() > capacity()) { - destroy(start, finish); - static_allocator.deallocate(start); - start = static_allocator.allocate(x.end() - x.begin()); - end_of_storage = uninitialized_copy(x.begin(), x.end(), start); - } else if (size() >= x.size()) { - vector::iterator i = copy(x.begin(), x.end(), begin()); - destroy(i, finish); - // work around for destroy(copy(x.begin(), x.end(), begin()), finish); - } else { - copy(x.begin(), x.begin() + size(), begin()); - uninitialized_copy(x.begin() + size(), x.end(), begin() + size()); - } - finish = begin() + x.size(); - return *this; -} - -template -void vector::insert_aux(iterator position, const T& x) { - if (finish != end_of_storage) { - construct(finish, *(finish - 1)); - copy_backward(position, finish - 1, finish); - *position = x; - ++finish; - } else { - size_type len = size() ? 2 * size() - : static_allocator.init_page_size(); - iterator tmp = static_allocator.allocate(len); - uninitialized_copy(begin(), position, tmp); - construct(tmp + (position - begin()), x); - uninitialized_copy(position, end(), tmp + (position - begin()) + 1); - destroy(begin(), end()); - static_allocator.deallocate(begin()); - end_of_storage = tmp + len; - finish = tmp + size() + 1; - start = tmp; - } -} - -template -void vector::insert(iterator position, size_type n, const T& x) { - if (n == 0) return; - if (end_of_storage - finish >= n) { - if (end() - position > n) { - uninitialized_copy(end() - n, end(), end()); - copy_backward(position, end() - n, end()); - fill(position, position + n, x); - } else { - uninitialized_copy(position, end(), position + n); - fill(position, end(), x); - uninitialized_fill_n(end(), n - (end() - position), x); - } - finish += n; - } else { - size_type len = size() + max(size(), n); - iterator tmp = static_allocator.allocate(len); - uninitialized_copy(begin(), position, tmp); - uninitialized_fill_n(tmp + (position - begin()), n, x); - uninitialized_copy(position, end(), tmp + (position - begin() + n)); - destroy(begin(), end()); - static_allocator.deallocate(begin()); - end_of_storage = tmp + len; - finish = tmp + size() + n; - start = tmp; - } -} - -template -void vector::insert(iterator position, - const_iterator first, - const_iterator last) { - if (first == last) return; - size_type n = 0; - distance(first, last, n); - if (end_of_storage - finish >= n) { - if (end() - position > n) { - uninitialized_copy(end() - n, end(), end()); - copy_backward(position, end() - n, end()); - copy(first, last, position); - } else { - uninitialized_copy(position, end(), position + n); - copy(first, first + (end() - position), position); - uninitialized_copy(first + (end() - position), last, end()); - } - finish += n; - } else { - size_type len = size() + max(size(), n); - iterator tmp = static_allocator.allocate(len); - uninitialized_copy(begin(), position, tmp); - uninitialized_copy(first, last, tmp + (position - begin())); - uninitialized_copy(position, end(), tmp + (position - begin() + n)); - destroy(begin(), end()); - static_allocator.deallocate(begin()); - end_of_storage = tmp + len; - finish = tmp + size() + n; - start = tmp; - } -} - -#undef Allocator -#undef vector - - -/* - *Added by d:\\convert.pl --begin-- - */ -} -/* - *Added by d:\\convert.pl --end-- - */ - -#endif - - diff --git a/TAO/tao/factories.h b/TAO/tao/factories.h deleted file mode 100644 index 496dae62ed2..00000000000 --- a/TAO/tao/factories.h +++ /dev/null @@ -1,141 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = FILENAME -// factories.h -// -// = AUTHOR -// Chris Cleeland -// -// = VERSION -// $Id$ -// ============================================================================ - -#if !defined (TAO_FACTORIES_H) -# define TAO_FACTORIES_H - -#if 0 -# include "ace/SOCK_Acceptor.h" -# include "ace/SOCK_Connector.h" -# include "ace/Strategies_T.h" -# include "ace/Connector.h" -# include "ace/Synch.h" - -# include "tao/params.h" -# include "tao/connect.h" -# include "tao/objtable.h" -#endif - -class TAO_Client_Connection_Handler : public ACE_Svc_Handler - // = TITLE - // used on the client side and returned - // by the . -{ -public: - TAO_Client_Connection_Handler (ACE_Thread_Manager* = 0); - // Do-nothing constructor - - virtual int open (void*); - // Initialization hook - - void in_use (CORBA::Boolean); - // Set the in-use flag. - - CORBA::Boolean in_use (void); - // Return state of the in-use flag. - -private: - CORBA::Boolean in_use_; - // True value indicates that something is using this handler. -}; - -class TAO_Client_Factory - // = TITLE - // Abstract factory used by the client to turn out various - // strategies used on the client side. -{ -public: - typedef ACE_Strategy_Connector - CONNECTOR; - typedef ACE_NOOP_Creation_Strategy - NULL_CREATION_STRATEGY; - typedef ACE_Cached_Connect_Strategy - CACHED_CONNECT_STRATEGY; - -#if defined (TAO_HAS_CLIENT_CONCURRENCY) - CONCURRENCY_STRATEGY *concurrency_strategy (void); -#endif - - CONNECTOR *connector (void); - // Return a pointer to a connector using appropriate strategies. - - TAO_Client_Factory (void); - ~TAO_Client_Factory (void); - -private: -#if defined (TAO_HAS_CLIENT_CONCURRENCY) - CONCURRENCY_STRATEGY *concurrency_strategy_; -#endif - CONNECTOR connector_; - NULL_CREATION_STRATEGY null_creation_strategy_; - CACHED_CONNECT_STRATEGY caching_connect_strategy_; -}; - -class TAO_Server_Factory - // = TITLE - // Abstract factory used by the server side to turn out various - // strategies of special utility to it. -{ -public: - // = SERVER-SIDE - typedef ACE_Creation_Strategy CREATION_STRATEGY; - typedef ACE_Accept_Strategy ACCEPT_STRATEGY; - typedef ACE_Concurrency_Strategy CONCURRENCY_STRATEGY; - typedef ACE_Scheduling_Strategy SCHEDULING_STRATEGY; - - CREATION_STRATEGY *creation_strategy (void); - // return concrete creation strategy - - ACCEPT_STRATEGY *accept_strategy (void); - // return concrete acceptor strategy - - CONCURRENCY_STRATEGY *concurrency_strategy (void); - // return the concurrency strategy used - - SCHEDULING_STRATEGY *scheduling_strategy (void); - // return the scheduling strategy used - - TAO_Object_Table *object_lookup_strategy (void); - // return the concrete object lookup strategy - - TAO_Server_Factory (void); - // constructor - -private: - // = COMMON - ACE_Thread_Strategy threaded_strategy_; - // The threaded strategy used for passively establishing connections. - ACE_Reactive_Strategy reactive_strategy_; - // A strategy for passively establishing connections which utilizes the Reactor. - - // = SERVER - CONCURRENCY_STRATEGY *concurrency_strategy_; - // concrete concurrency strategy - - TAO_Object_Table *objtable_; - // instance of object table -#if 0 - // Someday we'll need these! - CREATION_STRATEGY *creation_strategy_; - ACCEPT_STRATEGY *accept_strategy_; - SCHEDULING_STRATEGY *scheduling_strategy_; -#endif -}; - -#endif /* TAO_FACTORIES_H */ diff --git a/VERSION b/VERSION deleted file mode 100644 index 444a87773bf..00000000000 --- a/VERSION +++ /dev/null @@ -1,4 +0,0 @@ -This is ACE version 4.4.17, released Thu Jan 08 21:37:30 1998. - -If you have any problems with ACE, please send email to Douglas -C. Schmidt (schmidt@cs.wustl.edu). diff --git a/ace/ACE.cpp b/ace/ACE.cpp deleted file mode 100644 index 820f829085f..00000000000 --- a/ace/ACE.cpp +++ /dev/null @@ -1,2431 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/IPC_SAP.h" -#include "ace/Handle_Set.h" -#include "ace/ACE.h" -#include "ace/Thread_Manager.h" -#include "ace/Reactor.h" -#include "ace/Auto_Ptr.h" -#include "ace/INET_Addr.h" -#include "ace/SString.h" -#include "ace/Process.h" - -// Hex characters. -const char ACE::hex_chars_[] = "0123456789abcdef"; - -// Size of a VM page. -size_t ACE::pagesize_ = 0; - -void -ACE::unique_name (const void *object, - LPTSTR name, - size_t length) -{ - // The process ID will provide uniqueness between processes on the - // same machine. The "this" pointer of the will provide - // uniqueness between other "live" objects in the same process. The - // uniqueness of this name is therefore only valid for the life of - // . - TCHAR temp_name[ACE_UNIQUE_NAME_LEN]; - ACE_OS::sprintf (temp_name, __TEXT ("%d %d"), ACE_OS::getpid (), object); - ACE_OS::strncpy (name, temp_name, length); -} - -int -ACE::terminate_process (pid_t pid) -{ -#if defined (ACE_WIN32) - // Create a handle for the given process id. - ACE_HANDLE process_handle = - ::OpenProcess (PROCESS_TERMINATE, - FALSE, // New handle is not inheritable. - pid); - - if (process_handle == ACE_INVALID_HANDLE || process_handle == NULL) - return -1; - else - { - // Kill the process associated with process_handle. - BOOL terminate_result = ::TerminateProcess (process_handle, 0); - // Free up the kernel resources. - ACE_OS::close (process_handle); - return terminate_result; - } -#elif defined (CHORUS) - KnCap cap_; - - // Use the pid to find out the actor's capability, then kill it. - if (::acap (AM_MYSITE, pid, &cap_) == 0) - return ::akill (&cap_); - else - return -1; -#else - return ACE_OS::kill (pid, 9); -#endif /* ACE_WIN32 */ -} - -int -ACE::process_active (pid_t pid) -{ -#if !defined(ACE_WIN32) - int retval = ACE_OS::kill (pid, 0); - - if (retval == 0) - return 1; - else if (errno == ESRCH) - return 0; - else - return -1; -#else - // Create a handle for the given process id. - ACE_HANDLE process_handle = ::OpenProcess (PROCESS_QUERY_INFORMATION, - FALSE, - pid); - if (process_handle == ACE_INVALID_HANDLE - || process_handle == NULL) - return 0; - else - { - DWORD status; - - if (::GetExitCodeProcess (process_handle, - &status) == 0 - || status != STILL_ACTIVE) - return 0; - else - return 1; - } -#endif /* ACE_WIN32 */ -} - -int -ACE::register_stdin_handler (ACE_Event_Handler *eh, - ACE_Reactor *reactor, - ACE_Thread_Manager *thr_mgr, - int flags) -{ -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (reactor); - - eh->reactor (reactor); - return thr_mgr->spawn (&ACE::read_adapter, (void *) eh, flags); -#else - // Keep compilers happy. - ACE_UNUSED_ARG (flags); - ACE_UNUSED_ARG (thr_mgr); - return reactor->register_handler (ACE_STDIN, eh, ACE_Event_Handler::READ_MASK); -#endif /* ACE_WIN32 */ -} - -int -ACE::remove_stdin_handler (ACE_Reactor *reactor, - ACE_Thread_Manager *thr_mgr) -{ -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (reactor); - ACE_UNUSED_ARG (thr_mgr); - - // What should we do here? - ACE_NOTSUP_RETURN (-1); -#else - // Keep compilers happy. - ACE_UNUSED_ARG (thr_mgr); - return reactor->remove_handler (ACE_STDIN, ACE_Event_Handler::READ_MASK); -#endif /* ACE_WIN32 */ -} - -// Used to read from non-socket ACE_HANDLEs in our own thread to work -// around Win32 limitations that don't allow us to select() on -// non-sockets (such as ACE_STDIN). This is commonly used in -// situations where the Reactor is used to demultiplex read events on -// ACE_STDIN on UNIX. Note that must be a subclass of -// . If the method of this event -// handler returns we default to reading from -// ACE_STDIN. - -void * -ACE::read_adapter (void *args) -{ - ACE_Event_Handler *this_ptr = (ACE_Event_Handler *) args; - ACE_HANDLE handle = ACE_STDIN; - - while (this_ptr->handle_input (handle) != -1) - continue; - - this_ptr->handle_close (handle, ACE_Event_Handler::READ_MASK); - this_ptr->reactor ()->notify (); - - return 0; -} - -// Split a string up into 'token'-delimited pieces, ala Perl's "split". - -char * -ACE::strsplit_r (char *str, - const char *token, - char *&next_start) -{ - char *ret = 0; - - if (str != 0) - next_start = str; - - if (next_start != 0) - { - char *tok_loc = ACE_OS::strstr (next_start, token); - - if (tok_loc != 0) - { - // Return the beginning of the string. - ret = next_start; - - // Insure it's terminated. - *tok_loc = '\0'; - next_start = tok_loc + ACE_OS::strlen (token); - } - else - { - ret = next_start; - next_start = (char *) 0; - } - } - - return ret; -} - -const char * -ACE::execname (const char *old_name) -{ -#if defined (ACE_HAS_WIN32) - if (ACE_OS::strstr (old_name, ".exe") == 0) - { - char *new_name; - - ACE_NEW_RETURN (new_name, char[ACE_OS::strlen (old_name) + - ACE_OS::strlen (".exe") + - 1], -1); - char *end = new_name; - end = ACE::strecpy (new_name, old_name); - // Concatenate the .exe suffix onto the end of the executable. - ACE_OS::strcpy (end, ".exe"); - return new_name; - } -#endif /* ACE_HAS_WIN32 */ - return old_name; -} - -u_long -ACE::hash_pjw (const char *str) -{ - u_long hash = 0; - - for (const char *temp = str; *temp != 0; temp++) - { - hash = (hash << 4) + (*temp * 13); - - u_long g = hash & 0xf0000000; - - if (g) - { - hash ^= (g >> 24); - hash ^= g; - } - } - - return hash; -} - -u_long -ACE::hash_pjw (const ACE_USHORT16 *str) -{ - u_long hash = 0; - - for (const ACE_USHORT16 *temp = str; *temp != 0; temp++) - { - hash = (hash << 4) + (*temp * 13); - - u_long g = hash & 0xf0000000; - - if (g) - { - hash ^= (g >> 24); - hash ^= g; - } - } - - return hash; -} - -// The CRC routine was taken from the FreeBSD implementation of cksum, -// that falls under the following license: -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * James W. Williams of NASA Goddard Space Flight Center. - * - * 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - */ - -u_long ACE::crc_table_[] = -{ - 0x0, - 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, - 0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, - 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, - 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, - 0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f, - 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, - 0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, - 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58, - 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, - 0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe, - 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, - 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, - 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0, - 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, - 0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, - 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07, - 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, - 0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, - 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, - 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, - 0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698, - 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, - 0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, - 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f, - 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, - 0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80, - 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, - 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, - 0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629, - 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, - 0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, - 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e, - 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, - 0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8, - 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, - 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, - 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71, - 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, - 0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, - 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21, - 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, - 0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087, - 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, - 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, - 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce, - 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, - 0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, - 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09, - 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, - 0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, - 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 -}; - -// Compute a POSIX 1003.2 checksum. The routine takes an string and -// computes the CRC for it (it stops on the first '\0' character). - -u_long -ACE::crc32 (const char *string) -{ - // #define COMPUTE(var, ch) (var) = (var) << (8 ^ ACE::crc_table_[(var) >> (24 ^ (ch))]) -#define COMPUTE(var, ch) (var) = ((var) << 8) ^ ACE::crc_table_[((var) >> 24) ^ (ch)] - - register ACE_UINT32 crc = 0; - - u_long len = 0; - - for (const char *p = string; - *p != 0; - ++p) - { - COMPUTE (crc, *p); - ++len; - } - - // Include the length of the string. - - for (; len != 0; len >>= 8) - COMPUTE (crc, len & 0xff); - - return ~crc; -} - -size_t -ACE::strrepl (char *s, char search, char replace) -{ - ACE_TRACE ("ACE::strrepl"); - - size_t replaced = 0; - - for (size_t i = 0; s[i] != '\0'; i++) - if (s[i] == search) - { - s[i] = replace; - replaced++; - } - - return replaced; -} - -char * -ACE::strenvdup (const char *str) -{ - ACE_TRACE ("ACE::strenvdup"); - - char *temp; - - if (str[0] == '$' - && (temp = ACE_OS::getenv (&str[1])) != 0) - return ACE_OS::strdup (temp); - else - return ACE_OS::strdup (str); -} - -/* - -Examples: - -Source NT UNIX -=============================================================== -netsvc netsvc.dll libnetsvc.so - (PATH will be evaluated) (LD_LIBRARY_PATH evaluated) - -libnetsvc.dll libnetsvc.dll libnetsvc.dll + warning -netsvc.so netsvc.so + warning libnetsvc.so - -..\../libs/netsvc ..\..\libs\netsvc.dll ../../libs/netsvc.so - (absolute path used) (absolute path used) - -*/ - -int -ACE::ldfind (const char filename[], - char pathname[], - size_t maxpathnamelen) -{ - ACE_TRACE ("ACE::ldfind"); - - char tempcopy[MAXPATHLEN + 1]; - char searchpathname[MAXPATHLEN + 1]; - char searchfilename[MAXPATHLEN + 1]; - - // Create a copy of filename to work with. - if (ACE_OS::strlen (filename) + 1 > (sizeof tempcopy / sizeof (char))) - { - errno = ENOMEM; - return -1; - } - else - ACE_OS::strcpy (tempcopy, filename); - - // Insert canonical directory separators. - char *separator_ptr; - - if (ACE_DIRECTORY_SEPARATOR_CHAR != '/') - // Make all the directory separators ``canonical'' to simplify - // subsequent code. - ACE::strrepl (tempcopy, ACE_DIRECTORY_SEPARATOR_CHAR, '/'); - - // Separate filename from pathname. - separator_ptr = ACE_OS::strrchr (tempcopy, '/'); - - // This is a relative path. - if (separator_ptr == 0) - { - searchpathname[0] = '\0'; - ACE_OS::strcpy (searchfilename, tempcopy); - } - else // This is an absolute path. - { - ACE_OS::strcpy (searchfilename, separator_ptr + 1); - separator_ptr[1] = '\0'; - ACE_OS::strcpy (searchpathname, tempcopy); - } - - int got_suffix = 0; - - // Check to see if this has an appropriate DLL suffix for the OS - // platform. - char *s = ACE_OS::strrchr (searchfilename, '.'); - - if (s != 0) - { - // Check whether this matches the appropriate platform-specific suffix. - if (ACE_OS::strcmp (s, ACE_DLL_SUFFIX) == 0) - got_suffix = 1; - else - ACE_ERROR ((LM_WARNING, - "Warning: improper suffix for a shared library on this platform: %s\n", - s)); - } - - // Make sure we've got enough space in searchfilename. - if (ACE_OS::strlen (searchfilename) + - ACE_OS::strlen (ACE_DLL_PREFIX) + - got_suffix ? 0 : ACE_OS::strlen (ACE_DLL_SUFFIX) >= (sizeof searchfilename / sizeof (char))) - { - errno = ENOMEM; - return -1; - } - - // Use absolute pathname if there is one. - if (ACE_OS::strlen (searchpathname) > 0) - { - if (ACE_OS::strlen (searchfilename) - + ACE_OS::strlen (searchpathname) >= maxpathnamelen) - { - errno = ENOMEM; - return -1; - } - else - { - if (ACE_DIRECTORY_SEPARATOR_CHAR != '/') - // Revert to native path name separators - ACE::strrepl (searchpathname, '/', ACE_DIRECTORY_SEPARATOR_CHAR); - - // First, try matching the filename *without* adding a - // prefix. - ACE_OS::sprintf (pathname, "%s%s%s", - searchpathname, - searchfilename, - got_suffix ? "" : ACE_DLL_SUFFIX); - if (ACE_OS::access (pathname, F_OK) == 0) - return 0; - - // Second, try matching the filename *with* adding a prefix. - ACE_OS::sprintf (pathname, "%s%s%s%s", - searchpathname, - ACE_DLL_PREFIX, - searchfilename, - got_suffix ? "" : ACE_DLL_SUFFIX); - if (ACE_OS::access (pathname, F_OK) == 0) - return 0; - } - } - - // Use relative filenames via LD_LIBRARY_PATH or PATH (depending on - // OS platform). - else - { - char *ld_path = ACE_OS::getenv (ACE_LD_SEARCH_PATH); - - if (ld_path != 0 && (ld_path = ACE_OS::strdup (ld_path)) != 0) - { - // strtok has the strange behavior of not separating the - // string ":/foo:/bar" into THREE tokens. One would expect - // that the first iteration the token would be an empty - // string, the second iteration would be "/foo", and the - // third iteration would be "/bar". However, this is not - // the case; one only gets two iterations: "/foo" followed - // by "/bar". - - // This is especially a problem in parsing Unix paths - // because it is permissible to specify 'the current - // directory' as an empty entry. So, we introduce the - // following special code to cope with this: - - // Look at each dynamic lib directory in the search path. - char *nextholder = 0; - const char *path_entry = ACE::strsplit_r (ld_path, - ACE_LD_SEARCH_PATH_SEPARATOR_STR, - nextholder); - int result = 0; - - while (path_entry != 0) - { - if (ACE_OS::strlen (path_entry) - + 1 + ACE_OS::strlen (searchfilename) >= maxpathnamelen) - { - errno = ENOMEM; - result = -1; - break; - } - - // This works around the issue where a path might have - // an empty component indicating 'current directory'. - // We need to do it here rather than anywhere else so - // that the loop condition will still work. - if (path_entry[0] == '\0') - path_entry = "."; - - // First, try matching the filename *without* adding a - // prefix. - ACE_OS::sprintf (pathname, "%s%c%s%s", - path_entry, - ACE_DIRECTORY_SEPARATOR_CHAR, - searchfilename, - got_suffix ? "" : ACE_DLL_SUFFIX); - if (ACE_OS::access (pathname, F_OK) == 0) - break; - - // Second, try matching the filename *with* adding a - // prefix. - ACE_OS::sprintf (pathname, "%s%c%s%s%s", - path_entry, - ACE_DIRECTORY_SEPARATOR_CHAR, - ACE_DLL_PREFIX, - searchfilename, - got_suffix ? "" : ACE_DLL_SUFFIX); - if (ACE_OS::access (pathname, F_OK) == 0) - break; - - // Fetch the next item in the path - path_entry = ACE::strsplit_r (0, - ACE_LD_SEARCH_PATH_SEPARATOR_STR, - nextholder); - } - - ACE_OS::free ((void *) ld_path); - return result; - } - } - - errno = ENOENT; - return -1; -} - -FILE * -ACE::ldopen (const char *filename, const char *type) -{ - ACE_TRACE ("ACE::ldopen"); - char buf[MAXPATHLEN + 1]; - - if (ACE::ldfind (filename, buf, sizeof buf) == -1) - return 0; - else - return ACE_OS::fopen (buf, type); -} - -const char * -ACE::basename (const char *pathname, char delim) -{ - ACE_TRACE ("ACE::basename"); - const char *temp = ::strrchr (pathname, delim); - - if (temp == 0) - return pathname; - else - return temp + 1; -} - -#if defined (ACE_HAS_UNICODE) -const wchar_t * -ACE::basename (const wchar_t *pathname, wchar_t delim) -{ - ACE_TRACE ("ACE::basename"); - const wchar_t *temp = ACE_OS::strrchr (pathname, delim); - - if (temp == 0) - return pathname; - else - return temp + 1; -} -#endif /* ACE_HAS_UNICODE */ - -// Send N char *ptrs and int lengths. Note that the char *'s precede -// the ints (basically, an varargs version of writev). The count N is -// the *total* number of trailing arguments, *not* a couple of the -// number of tuple pairs! - -ssize_t -ACE::send (ACE_HANDLE handle, size_t n, ...) -{ - ACE_TRACE ("ACE_SOCK_IO::send"); - - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::writev (handle, iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - -// This is basically an interface to ACE_OS::readv, that doesn't use -// the struct iovec explicitly. The ... can be passed as an arbitrary -// number of (char *ptr, int len) tuples. However, the count N is the -// *total* number of trailing arguments, *not* a couple of the number -// of tuple pairs! - -ssize_t -ACE::recv (ACE_HANDLE handle, size_t n, ...) -{ - ACE_TRACE ("ACE_SOCK_IO::recv"); - - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::readv (handle, iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - -// Miscellaneous static methods used throughout ACE. - -ssize_t -ACE::send_n (ACE_HANDLE handle, const void *buf, size_t len) -{ - ACE_TRACE ("ACE::send_n"); - size_t bytes_written; - ssize_t n = 0; - - for (bytes_written = 0; bytes_written < len; bytes_written += n) - { - n = ACE::send (handle, - (const char *) buf + bytes_written, - len - bytes_written); - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to send. - } - } - - return bytes_written; -} - -ssize_t -ACE::send_n (ACE_HANDLE handle, - const void *buf, - size_t len, - int flags) -{ - ACE_TRACE ("ACE::send_n"); - size_t bytes_written; - ssize_t n = 0; - - for (bytes_written = 0; - bytes_written < len; - bytes_written += n) - { - n = ACE_OS::send (handle, - (const char *) buf + bytes_written, - len - bytes_written, - flags); - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to send. - } - } - - return bytes_written; -} - -// Receive bytes into from (uses the -// system call on UNIX and the call on Win32). - -ssize_t -ACE::write_n (ACE_HANDLE handle, - const void *buf, - size_t len) -{ - ACE_TRACE ("ACE::write_n"); - - size_t bytes_written; - ssize_t n = 0; - - for (bytes_written = 0; bytes_written < len; bytes_written += n) - { - n = ACE_OS::write (handle, (const char *) buf + bytes_written, - len - bytes_written); - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to send. - } - } - - return bytes_written; -} - -ssize_t -ACE::recv_n (ACE_HANDLE handle, void *buf, size_t len) -{ - ACE_TRACE ("ACE::recv_n"); - size_t bytes_read; - ssize_t n = 0; - - for (bytes_read = 0; bytes_read < len; bytes_read += n) - { - n = ACE::recv (handle, (char *) buf + bytes_read, len - bytes_read); - - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to read. - } - else if (n == 0) - break; - } - return bytes_read; -} - -ssize_t -ACE::recv_n (ACE_HANDLE handle, void *buf, size_t len, int flags) -{ - ACE_TRACE ("ACE::recv_n"); - size_t bytes_read; - ssize_t n = 0; - - for (bytes_read = 0; bytes_read < len; bytes_read += n) - { - n = ACE::recv (handle, - (char *) buf + bytes_read, - len - bytes_read, - flags); - - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to read. - } - else if (n == 0) - break; - } - - return bytes_read; -} - -// Receive bytes into from (uses the -// system call on UNIX and the call on Win32). - -ssize_t -ACE::read_n (ACE_HANDLE handle, - void *buf, - size_t len) -{ - ACE_TRACE ("ACE::read_n"); - - size_t bytes_read; - ssize_t n = 0; - - for (bytes_read = 0; bytes_read < len; bytes_read += n) - { - n = ACE_OS::read (handle, (char *) buf + bytes_read, len - bytes_read); - - if (n == -1) - { - if (errno != EWOULDBLOCK) - return -1; - else - n = 0; // Keep trying to read. - } - else if (n == 0) - break; - } - - return bytes_read; -} - -int -ACE::enter_recv_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int &val) -{ - // Give value a default value to keep Purify happy! - val = 0; - - if (timeout == 0) - return 0; - - ACE_Handle_Set handle_set; - handle_set.set_bit (handle); - - // Wait for input to arrive or for the timeout to elapse. - switch (ACE_OS::select (int (handle) + 1, - (fd_set *) handle_set, // read_fds. - (fd_set *) 0, // write_fds. - (fd_set *) 0, // exception_fds. - timeout)) - { - case 1: // OK to read now. - // We need to record whether we are already *in* nonblocking - // mode, so that we can correctly reset the state when we're - // done. - val = ACE::get_flags (handle); - - if (ACE_BIT_DISABLED (val, ACE_NONBLOCK)) - // Set the handle into non-blocking mode if it's not - // already in it. - ACE::set_flags (handle, ACE_NONBLOCK); - return 1; - case 0: // Timer expired. - errno = ETIME; - /* FALLTHRU */ - default: // if we got here directly select() must have returned -1. - return -1; - } -} - -void -ACE::leave_recv_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int val) -{ - if (timeout != 0 - && ACE_BIT_DISABLED (val, ACE_NONBLOCK)) - { - // We need to stash errno here because ACE::clr_flags() may - // reset it. - int error = errno; - - // Only disable ACE_NONBLOCK if we weren't in non-blocking mode - // originally. - ACE::clr_flags (handle, ACE_NONBLOCK); - errno = error; - } -} - -int -ACE::enter_send_timedwait (ACE_HANDLE handle, - const ACE_Time_Value* timeout, - int &val) -{ - // Give value a default value to keep Purify happy! - val = 0; - - if (timeout==0) - return 0; - - ACE_Handle_Set handle_set; - handle_set.set_bit (handle); - - // On timed writes we always go into select(); only if the - // handle is available for writing within the specified amount - // of time do we put it in non-blocking mode - - switch (ACE_OS::select (int (handle) + 1, - (fd_set *) 0, - (fd_set *) handle_set, - (fd_set *) 0, - timeout)) - { - case 1: // Ok to write now. - // We need to record whether we are already *in* nonblocking - // mode, so that we can correctly reset the state when we're - // done. - val = ACE::get_flags (handle); - - if (ACE_BIT_DISABLED (val, ACE_NONBLOCK)) - // Set the handle into non-blocking mode if it's not - // already in it. - ACE::set_flags (handle, ACE_NONBLOCK); - return 1; - case 0: // Timer expired. - errno = ETIME; - /* FALLTHRU */ - default: // if we got here directly select() must have returned -1. - return -1; - } -} - -void -ACE::leave_send_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int val) -{ - if (timeout != 0 - && ACE_BIT_DISABLED (val, ACE_NONBLOCK)) - { - // We need to stash errno here because ACE::clr_flags() may - // reset it. - int error = errno; - - // Only disable ACE_NONBLOCK if we weren't in non-blocking mode - // originally. - ACE::clr_flags (handle, ACE_NONBLOCK); - errno = error; - } -} - -ssize_t -ACE::sendto (ACE_HANDLE handle, - const char *buf, - int len, - int flags, - const struct sockaddr *addr, - int addrlen, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::sendto"); -#if defined (ACE_HAS_SENDTO_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::sendto (handle, buf, len, flags, addr, addrlen); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::sendto_timedwait (handle, buf, len, flags, addr, addrlen, &ts); - } -#else - int val; - if (ACE::enter_send_timedwait (handle, timeout, val) == -1) - return -1; - else - { - int bytes_written = ACE_OS::sendto (handle, buf, len, flags, addr, addrlen); - ACE::leave_send_timedwait (handle, timeout, val); - return bytes_written; - } -#endif /* ACE_HAS_SENDTO_TIMEDWAIT */ -} - -ssize_t -ACE::sendmsg (ACE_HANDLE handle, - const struct msghdr *msg, - int flags, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::sendmsg"); -#if defined (ACE_HAS_SENDMSG_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::sendmsg (handle, msg, flags); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::sendmsg_timedwait (handle, msg, flags, &ts); - } -#else - int val; - if (ACE::enter_send_timedwait (handle, timeout, val) == -1) - return -1; - else - { - int bytes_written = ACE_OS::sendmsg (handle, msg, flags); - ACE::leave_send_timedwait (handle, timeout, val); - return bytes_written; - } -#endif /* ACE_HAS_SENDMSG_TIMEDWAIT */ -} - -ssize_t -ACE::readv (ACE_HANDLE handle, - struct iovec *iov, - int iovcnt, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::readv"); -#if defined (ACE_HAS_READV_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::readv (handle, iov, iovcnt); - else { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::readv_timedwait (handle, iov, iovcnt, &ts); - } -#else - int val; - if (ACE::enter_recv_timedwait (handle, timeout, val) == -1) - return -1; - else - { - ssize_t bytes_read = ACE_OS::readv (handle, iov, iovcnt); - ACE::leave_recv_timedwait (handle, timeout, val); - return bytes_read; - } -#endif /* ACE_HAS_READV_TIMEDWAIT */ -} - -ssize_t -ACE::writev (ACE_HANDLE handle, - const struct iovec *iov, - int iovcnt, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::writev"); -#if defined (ACE_HAS_WRITEV_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::writev (handle, iov, iovcnt); - else { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::writev_timedwait (handle, iov, iovcnt, &ts); - } -#else - int val; - if (ACE::enter_send_timedwait (handle, timeout, val) == -1) - return -1; - else - { - ssize_t bytes_written = ACE_OS::writev (handle, iov, iovcnt); - ACE::leave_send_timedwait (handle, timeout, val); - return bytes_written; - } -#endif /* ACE_HAS_WRITEV_TIMEDWAIT */ -} - -// Format buffer into printable format. This is useful for debugging. -// Portions taken from mdump by J.P. Knight (J.P.Knight@lut.ac.uk) -// Modifications by Todd Montgomery. - -int -ACE::format_hexdump (const char *buffer, int size, char *obuf, int obuf_sz) -{ - ACE_TRACE ("ACE::format_hexdump"); - - u_char c; - char textver[16 + 1]; - - int maxlen = (obuf_sz / 68) * 16; - - if (size > maxlen) - size = maxlen; - - int i; - - for (i = 0; i < (size >> 4); i++) - { - int j; - - for (j = 0 ; j < 16; j++) - { - c = buffer[(i << 4) + j]; - ACE_OS::sprintf (obuf, "%02x ", c); - obuf += 3; - if (j == 7) - { - ACE_OS::sprintf (obuf, " "); - obuf++; - } - textver[j] = (c < 0x20 || c > 0x7e) ? '.' : c; - } - - textver[j] = 0; - - ACE_OS::sprintf (obuf, " %s\n", textver); - - while (*obuf != '\0') - obuf++; - } - - if (size % 16) - { - for (i = 0 ; i < size % 16; i++) - { - c = buffer[size - size % 16 + i]; - ACE_OS::sprintf (obuf,"%02x ",c); - obuf += 3; - if (i == 7) - { - ACE_OS::sprintf (obuf, " "); - obuf++; - } - textver[i] = (c < 0x20 || c > 0x7e) ? '.' : c; - } - - for (i = size % 16; i < 16; i++) - { - ACE_OS::sprintf (obuf, " "); - obuf += 3; - textver[i] = ' '; - } - - textver[i] = 0; - ACE_OS::sprintf (obuf, " %s\n", textver); - } - return size; -} - -// Returns the current timestamp in the form -// "hour:minute:second:microsecond." The month, day, and year are -// also stored in the beginning of the date_and_time array. Returns 0 -// if unsuccessful, else returns pointer to beginning of the "time" -// portion of . - -char * -ACE::timestamp (char date_and_time[], int date_and_timelen) -{ - //ACE_TRACE ("ACE::timestamp"); - - if (date_and_timelen < 35) - { - errno = EINVAL; - return 0; - } - -#if defined (WIN32) - // @@ Jesper, I think Win32 supports all the UNIX versions below. - // Therefore, we can probably remove this WIN32 ifdef altogether. - SYSTEMTIME local; - ::GetLocalTime (&local); - - ACE_OS::sprintf (date_and_time, "%02d/%02d/%04d %02d.%02d.%02d.%06d", - (int) local.wMonth, // new, also the %02d in sprintf - (int) local.wDay, // new, also the %02d in sprintf - (int) local.wYear, // new, also the %02d in sprintf - (int) local.wHour, - (int) local.wMinute, - (int) local.wSecond, - (int) local.wMilliseconds * 1000); -#else /* UNIX */ - char timebuf[26]; // This magic number is based on the ctime(3c) man page. - ACE_Time_Value cur_time = ACE_OS::gettimeofday (); - time_t secs = cur_time.sec (); - ACE_OS::ctime_r (&secs, timebuf, sizeof timebuf); - ACE_OS::strncpy (date_and_time, timebuf, date_and_timelen); - ACE_OS::sprintf (&date_and_time[19], ".%06d", cur_time.usec ()); -#endif /* WIN32 */ - date_and_time[26] = '\0'; - return &date_and_time[11]; -} - -// This function rounds the request to a multiple of the page size. - -size_t -ACE::round_to_pagesize (off_t len) -{ - ACE_TRACE ("ACE::round_to_pagesize"); - - if (ACE::pagesize_ == 0) - { - ACE::pagesize_ = ACE_OS::getpagesize (); - } - - return (len + (ACE::pagesize_ - 1)) & ~(ACE::pagesize_ - 1); -} - -ACE_HANDLE -ACE::handle_timed_complete (ACE_HANDLE h, - ACE_Time_Value *timeout, - int is_tli) -{ - ACE_TRACE ("ACE::handle_timed_complete"); - ACE_Handle_Set rd_handles; - ACE_Handle_Set wr_handles; - int need_to_check; - -#if defined (ACE_WIN32) - ACE_Handle_Set ex_handles; - ex_handles.set_bit (h); -#endif /* ACE_WIN32 */ - rd_handles.set_bit (h); - wr_handles.set_bit (h); - -#if defined (ACE_WIN32) - int n = ACE_OS::select (int (h) + 1, - rd_handles, - wr_handles, - ex_handles, - timeout); -#else - int n = ACE_OS::select (int (h) + 1, - rd_handles, - wr_handles, - 0, - timeout); -#endif /* ACE_WIN32 */ - - // If we failed to connect within the time period allocated by the - // caller, then we fail (e.g., the remote host might have been too - // busy to accept our call). - if (n <= 0) - { - if (n == 0 && timeout != 0) - errno = ETIME; - return ACE_INVALID_HANDLE; - } - - // Check if the handle is ready for reading and the handle is *not* - // ready for writing, which may indicate a problem. But we need to - // make sure... -#if defined (ACE_WIN32) - need_to_check = rd_handles.is_set (h) || ex_handles.is_set (h); -#elif defined (VXWORKS) - ACE_UNUSED_ARG (is_tli); - - // Force the check on VxWorks. The read handle for "h" is not set, - // so "need_to_check" is false at this point. The write handle is - // set, for what it's worth. - need_to_check = 1; -#else - if (is_tli) - need_to_check = rd_handles.is_set (h) && !wr_handles.is_set (h); - else - need_to_check = rd_handles.is_set (h); -#endif /* ACE_WIN32 */ - - if (need_to_check) - { - char dummy; - - // The following recv() won't block provided that the - // ACE_NONBLOCK flag has not been turned off . - n = ACE::recv (h, &dummy, 1, MSG_PEEK); - - if (n <= 0) - { - if (n == 0) - errno = ECONNREFUSED; - return ACE_INVALID_HANDLE; - } - } - - // 1. The HANDLE is ready for writing or 2. recv() returned that - // there are data to be read, which indicates the connection was - // successfully established. - return h; -} - -ACE_HANDLE -ACE::handle_timed_open (ACE_Time_Value *timeout, - LPCTSTR name, - int flags, - int perms) -{ - ACE_TRACE ("ACE::handle_timed_open"); - - if (timeout != 0) - { - // Open the named pipe or file using non-blocking mode... - ACE_HANDLE handle = ACE_OS::open (name, - flags | ACE_NONBLOCK, - perms); - if (handle == ACE_INVALID_HANDLE - && (errno == EWOULDBLOCK - && (timeout->sec () > 0 || timeout->usec () > 0))) - // This expression checks if we were polling. - errno = ETIME; - - return handle; - } - else - return ACE_OS::open (name, flags, perms); -} - -// Wait up to amount of time to accept a connection. - -int -ACE::handle_timed_accept (ACE_HANDLE listener, - ACE_Time_Value *timeout, - int restart) -{ - ACE_TRACE ("ACE::handle_timed_accept"); - // Make sure we don't bomb out on erroneous values. - if (listener == ACE_INVALID_HANDLE) - return -1; - - // Use the select() implementation rather than poll(). - ACE_Handle_Set rd_handle; - rd_handle.set_bit (listener); - - // We need a loop here if is enabled. - - for (;;) - { - switch (ACE_OS::select (int (listener) + 1, - rd_handle, 0, 0, - timeout)) - { - case -1: - if (errno == EINTR && restart) - continue; - else - return -1; - /* NOTREACHED */ - case 0: - if (timeout != 0 && timeout->sec() == 0 && timeout->usec() == 0) - errno = EWOULDBLOCK; - else - errno = ETIME; - return -1; - /* NOTREACHED */ - case 1: - return 0; - /* NOTREACHED */ - default: - errno = EINVAL; - return -1; - /* NOTREACHED */ - } - } - /* NOTREACHED */ - return 0; -} - -// Bind socket to an unused port. - -int -ACE::bind_port (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE::bind_port"); - sockaddr_in sin; - // This should be a constant, so I hope they never change the number - // of bits in a port number! - static u_short upper_limit = ACE_MAX_DEFAULT_PORT; - int lower_limit = IPPORT_RESERVED; - int round_trip = upper_limit; - - ACE_OS::memset ((void *) &sin, 0, sizeof sin); - sin.sin_family = AF_INET; -#if defined (ACE_HAS_SIN_LEN) - sin.sin_len = sizeof sin; -#endif /* ACE_HAS_SIN_LEN */ - sin.sin_addr.s_addr = INADDR_ANY; - - for (;;) - { - sin.sin_port = htons (upper_limit); - - if (ACE_OS::bind (handle, (sockaddr *) &sin, sizeof sin) >= 0) - { -#if defined (ACE_WIN32) - upper_limit--; -#endif - return 0; - } - else if (errno != EADDRINUSE) - return -1; - else - { - upper_limit--; - - // Wrap back around when we reach the bottom. - if (upper_limit <= lower_limit) - upper_limit = ACE_MAX_DEFAULT_PORT; - - // See if we have already gone around once! - if (upper_limit == round_trip) - { - errno = EAGAIN; - return -1; - } - } - } -} - -// Make the current process a UNIX daemon. This is based on Stevens -// code from APUE. - -int -ACE::daemonize (const char pathname[], - int close_all_handles) -{ - ACE_TRACE ("ACE::daemonize"); -#if !defined (ACE_LACKS_FORK) - pid_t pid = ACE_OS::fork (); - - if (pid == -1) - return -1; - else if (pid != 0) - ACE_OS::exit (0); // Parent exits. - - // 1st child continues. - ACE_OS::setsid (); // Become session leader. - - ACE_OS::signal (SIGHUP, SIG_IGN); - - pid = ACE_OS::fork (); - - if (pid != 0) - ACE_OS::exit (0); // First child terminates. - - // Second child continues. - - ACE_OS::chdir (pathname); // change working directory. - - ACE_OS::umask (0); // clear our file mode creation mask. - - // Close down the files. - if (close_all_handles) - for (int i = ACE::max_handles () - 1; i >= 0; i--) - ACE_OS::close (i); - - return 0; -#else - ACE_UNUSED_ARG (pathname); - ACE_UNUSED_ARG (close_all_handles); - - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_LACKS_FORK */ -} - -int -ACE::max_handles (void) -{ - ACE_TRACE ("ACE::max_handles"); -#if defined (RLIMIT_NOFILE) && !defined (ACE_LACKS_RLIMIT) - rlimit rl; - ACE_OS::getrlimit (RLIMIT_NOFILE, &rl); - return rl.rlim_cur; -#elif defined (_SC_OPEN_MAX) - return ACE_OS::sysconf (_SC_OPEN_MAX); -#elif defined (FD_SETSIZE) - return FD_SETSIZE; -#else - ACE_NOTSUP_RETURN (-1); -#endif /* defined (RLIMIT_NOFILE) && !defined (ACE_LACKS_RLIMIT) */ -} - -// Set the number of currently open handles in the process. -// -// If NEW_LIMIT == -1 set the limit to the maximum allowable. -// Otherwise, set it to be the value of NEW_LIMIT. - -int -ACE::set_handle_limit (int new_limit) -{ - ACE_TRACE ("ACE::set_handle_limit"); - int cur_limit = ACE::max_handles (); - - if (cur_limit == -1) - return -1; - - if (new_limit < 0) - { - errno = EINVAL; - return -1; - } - if (new_limit > cur_limit) - { -#if !defined (ACE_LACKS_RLIMIT) && defined (RLIMIT_NOFILE) - struct rlimit rl; - ACE_OS::memset ((void *) &rl, 0, sizeof rl); - rl.rlim_cur = new_limit; - return ACE_OS::setrlimit (RLIMIT_NOFILE, &rl); -#else - // Must be return EINVAL errno. - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_LACKS_RLIMIT */ - } - else - { -#if !defined (ACE_LACKS_RLIMIT) && defined (RLIMIT_NOFILE) - struct rlimit rl; - ACE_OS::memset ((void *) &rl, 0, sizeof rl); - rl.rlim_cur = new_limit; - return ACE_OS::setrlimit (RLIMIT_NOFILE, &rl); -#else - // We give a chance to platforms with not RLIMIT to work. - ACE_NOTSUP_RETURN (0); -#endif /* ACE_LACKS_RLIMIT */ - } -} - -// Flags are file status flags to turn on. - -int -ACE::set_flags (ACE_HANDLE handle, int flags) -{ - ACE_TRACE ("ACE::set_flags"); -#if defined (ACE_WIN32) || defined (ACE_LACKS_FCNTL) - switch (flags) - { - case ACE_NONBLOCK: - // nonblocking argument (1) - // blocking: (0) - { - u_long nonblock = 1; - return ACE_OS::ioctl (handle, FIONBIO, &nonblock); - } - default: - ACE_NOTSUP_RETURN (-1); - } -#else - int val = ACE_OS::fcntl (handle, F_GETFL, 0); - - if (val == -1) - return -1; - - // Turn on flags. - ACE_SET_BITS (val, flags); - - if (ACE_OS::fcntl (handle, F_SETFL, val) == -1) - return -1; - else - return 0; -#endif /* ACE_WIN32 || ACE_LACKS_FCNTL */ -} - -// Flags are the file status flags to turn off. - -int -ACE::clr_flags (ACE_HANDLE handle, int flags) -{ - ACE_TRACE ("ACE::clr_flags"); - -#if defined (ACE_WIN32) || defined (ACE_LACKS_FCNTL) - switch (flags) - { - case ACE_NONBLOCK: - // nonblocking argument (1) - // blocking: (0) - { - u_long nonblock = 0; - return ACE_OS::ioctl (handle, FIONBIO, &nonblock); - } - default: - ACE_NOTSUP_RETURN (-1); - } -#else - int val = ACE_OS::fcntl (handle, F_GETFL, 0); - - if (val == -1) - return -1; - - // Turn flags off. - ACE_CLR_BITS (val, flags); - - if (ACE_OS::fcntl (handle, F_SETFL, val) == -1) - return -1; - else - return 0; -#endif /* ACE_WIN32 || ACE_LACKS_FCNTL */ -} - -int -ACE::map_errno (int error) -{ - switch (error) - { -#if defined (ACE_WIN32) - case WSAEWOULDBLOCK: - return EAGAIN; // Same as UNIX errno EWOULDBLOCK. -#endif /* ACE_WIN32 */ - } - - return error; -} - -ssize_t -ACE::send (ACE_HANDLE handle, - const void *buf, - size_t n, - int flags, - const ACE_Time_Value *timeout) -{ -#if defined (ACE_HAS_SEND_TIMEDWAIT) - if (timeout == 0) - return ACE::send (handle, buf, n, flags); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday(); - timespec_t ts = copy; - return ::send_timedwait (handle, buf, n, flags, &ts); - } -#else - int val; - - if (ACE::enter_send_timedwait (handle, timeout, val) == -1) - return -1; - else - { - ssize_t bytes_written = ACE::send (handle, buf, n, flags); - ACE::leave_send_timedwait (handle, timeout, val); - return bytes_written; - } -#endif /* ACE_HAS_SEND_TIMEDWAIT */ -} - -ssize_t -ACE::send (ACE_HANDLE handle, - const void *buf, - size_t n, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE_OS::write"); -#if defined (ACE_HAS_WRITE_TIMEDWAIT) - if (timeout == 0) - return ACE::send (handle, buf, n); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::write_timedwait (handle, buf, n, &ts); - } -#else - int val; - - if (ACE::enter_send_timedwait (handle, timeout, val) == -1) - return -1; - else - { - ssize_t bytes_written = ACE::send (handle, buf, n); - ACE::leave_send_timedwait (handle, timeout, val); - return bytes_written; - } -#endif /* ACE_HAS_WRITE_TIMEDWAIT */ -} - -ssize_t -ACE::send_n (ACE_HANDLE handle, - const void *buf, - size_t n, - int flags, - const ACE_Time_Value *timeout) -{ - // Total number of bytes written. - size_t bytes_written; - - // Actual number of bytes written in each attempt. - ssize_t i = 0; - - for (bytes_written = 0; - bytes_written < n; - bytes_written += i) - { - i = ACE::send (handle, (char *) buf + bytes_written, - n - bytes_written, flags, timeout); - if (i == -1) - break; - } - - return bytes_written; -} - -ssize_t -ACE::recvfrom (ACE_HANDLE handle, - char *buf, - int len, - int flags, - struct sockaddr *addr, - int *addrlen, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::recvfrom"); -#if defined (ACE_HAS_RECVFROM_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::recvfrom (handle, buf, len, flags, addr, addrlen); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::recvfrom_timedwait (handle, buf, len, flags, addr, addrlen, &ts); - } -#else - int val; - if (ACE::enter_recv_timedwait (handle, timeout, val) == -1) - return -1; - else - { - int bytes_read = ACE_OS::recvfrom (handle, buf, len, flags, addr, addrlen); - ACE::leave_recv_timedwait (handle, timeout, val); - return bytes_read; - } -#endif /* ACE_HAS_RECVFROM_TIMEDWAIT */ -} - -ssize_t -ACE::recvmsg (ACE_HANDLE handle, - struct msghdr *msg, - int flags, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::recvmsg"); -#if defined (ACE_HAS_RECVMSG_TIMEDWAIT) - if (timeout == 0) - return ACE_OS::recvmsg (handle, msg, flags); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::recvmsg_timedwait (handle, msg, flags, &ts); - } -#else - int val; - if (ACE::enter_recv_timedwait (handle, timeout, val) == -1) - return -1; - else - { - int bytes_read = ACE_OS::recvmsg (handle, msg, flags); - ACE::leave_recv_timedwait (handle, timeout, val); - return bytes_read; - } -#endif /* ACE_HAS_RECVMSG_TIMEDWAIT */ -} - -ssize_t -ACE::recv (ACE_HANDLE handle, - void *buf, - size_t n, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::read"); -#if defined (ACE_HAS_READ_TIMEDWAIT) - if (timeout == 0) - return ACE::recv (handle, buf, n); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::read_timedwait (handle, buf, n, &ts); - } -#else - int val; - - if (ACE::enter_recv_timedwait (handle, timeout, val) == -1) - return -1; - else - { - ssize_t bytes_read = ACE::recv (handle, buf, n); - ACE::leave_recv_timedwait (handle, timeout, val); - return bytes_read; - } -#endif /* ACE_HAS_READ_TIMEDWAIT */ -} - -ssize_t -ACE::recv (ACE_HANDLE handle, - void *buf, - size_t len, - int flags, - const ACE_Time_Value *timeout) -{ - // ACE_TRACE ("ACE::recv"); -#if defined (ACE_HAS_RECV_TIMEDWAIT) - if (timeout == 0) - return ACE::recv (handle, buf, len, flags); - else - { - ACE_Time_Value copy = *timeout; - copy += ACE_OS::gettimeofday (); - timespec_t ts = copy; - return ::recv_timedwait (handle, buf, len, flags, &ts); - } -#else - int val; - if (ACE::enter_recv_timedwait (handle, timeout, val)==-1) - return -1; - else - { - ssize_t bytes_recv = ACE::recv (handle, buf, len, flags); - ACE::leave_recv_timedwait (handle, timeout, val); - return bytes_recv; - } -#endif /* ACE_HAS_RECV_TIMEDWAIT */ -} - -ssize_t -ACE::recv_n (ACE_HANDLE handle, - void *buf, - size_t n, - int flags, - const ACE_Time_Value *timeout) -{ - size_t bytes_received; - - // Actual number of bytes read in each attempt. - ssize_t i = 0; - - for (bytes_received = 0; bytes_received < n; bytes_received += i) - { - i = ACE::recv (handle, (char *) buf + bytes_received, - n - bytes_received, flags, timeout); - - if (i == -1 || i == 0) - break; - } - - return bytes_received; -} - -u_long -ACE::is_prime (const u_long n, - const u_long min_factor, - const u_long max_factor) -{ - if (n > 3) - { - for (u_long factor = min_factor; factor <= max_factor; ++factor) - if (n / factor * factor == n) - return factor; - - return 0; - } - else - return 0; -} - -const char * -ACE::sock_error (int error) -{ -#if defined (ACE_WIN32) - switch (error) - { - case WSAVERNOTSUPPORTED: - return "version of WinSock not supported"; - /* NOTREACHED */ - case WSASYSNOTREADY: - return "WinSock not present or not responding"; - /* NOTREACHED */ - case WSAEINVAL: - return "app version not supported by DLL"; - /* NOTREACHED */ - case WSAHOST_NOT_FOUND: - return "Authoritive: Host not found"; - /* NOTREACHED */ - case WSATRY_AGAIN: - return "Non-authoritive: host not found or server failure"; - /* NOTREACHED */ - case WSANO_RECOVERY: - return "Non-recoverable: refused or not implemented"; - /* NOTREACHED */ - case WSANO_DATA: - return "Valid name, no data record for type"; - /* NOTREACHED */ - /* - case WSANO_ADDRESS: - return "Valid name, no MX record"; - */ - case WSANOTINITIALISED: - return "WSA Startup not initialized"; - /* NOTREACHED */ - case WSAENETDOWN: - return "Network subsystem failed"; - /* NOTREACHED */ - case WSAEINPROGRESS: - return "Blocking operation in progress"; - /* NOTREACHED */ - case WSAEINTR: - return "Blocking call cancelled"; - /* NOTREACHED */ - case WSAEAFNOSUPPORT: - return "address family not supported"; - /* NOTREACHED */ - case WSAEMFILE: - return "no file handles available"; - /* NOTREACHED */ - case WSAENOBUFS: - return "no buffer space available"; - /* NOTREACHED */ - case WSAEPROTONOSUPPORT: - return "specified protocol not supported"; - /* NOTREACHED */ - case WSAEPROTOTYPE: - return "protocol wrong type for this socket"; - /* NOTREACHED */ - case WSAESOCKTNOSUPPORT: - return "socket type not supported for address family"; - /* NOTREACHED */ - case WSAENOTSOCK: - return "handle is not a socket"; - /* NOTREACHED */ - case WSAEWOULDBLOCK: - return "socket marked as non-blocking and SO_LINGER set not 0"; - /* NOTREACHED */ - case WSAEADDRINUSE: - return "address already in use"; - /* NOTREACHED */ - case WSAECONNABORTED: - return "connection aborted"; - /* NOTREACHED */ - case WSAECONNRESET: - return "connection reset"; - /* NOTREACHED */ - case WSAENOTCONN: - return "not connected"; - /* NOTREACHED */ - case WSAETIMEDOUT: - return "connection timed out"; - /* NOTREACHED */ - case WSAECONNREFUSED: - return "connection refused"; - /* NOTREACHED */ - case WSAEHOSTDOWN: - return "host down"; - /* NOTREACHED */ - case WSAEHOSTUNREACH: - return "host unreachable"; - /* NOTREACHED */ - case WSAEADDRNOTAVAIL: - return "address not available"; - /* NOTREACHED */ - default: - return "unknown error"; - /* NOTREACHED */ - } -#else - ACE_UNUSED_ARG (error); - ACE_NOTSUP_RETURN (0); -#endif /* ACE_WIN32 */ -} - -int -ACE::get_bcast_addr (ACE_UINT32 &bcast_addr, - const char *host_name, - ACE_UINT32 host_addr, - ACE_HANDLE handle) -{ - ACE_TRACE ("ACE::get_bcast_addr"); - -#if !defined(ACE_WIN32) - ACE_HANDLE s = handle; - - if (s == ACE_INVALID_HANDLE) - s = ACE_OS::socket (AF_INET, SOCK_STREAM, 0); - - if (s == ACE_INVALID_HANDLE) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_OS::socket"), -1); - - struct ifconf ifc; - char buf[BUFSIZ]; - - ifc.ifc_len = sizeof buf; - ifc.ifc_buf = buf; - - // Get interface structure and initialize the addresses using UNIX - // techniques - if (ACE_OS::ioctl (s, SIOCGIFCONF, (char *) &ifc) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: ioctl (get interface configuration)"), - -1); - - struct ifreq *ifr = ifc.ifc_req; - - struct sockaddr_in ip_addr; - - // Get host ip address if necessary. - if (host_name) - { - hostent *hp = ACE_OS::gethostbyname (host_name); - - if (hp == 0) - return -1; - else - ACE_OS::memcpy ((char *) &ip_addr.sin_addr.s_addr, - (char *) hp->h_addr, - hp->h_length); - } - else - { - ACE_OS::memset ((void *) &ip_addr, 0, sizeof ip_addr); - ACE_OS::memcpy ((void *) &ip_addr.sin_addr, - (void*) &host_addr, - sizeof ip_addr.sin_addr); - } - - for (int n = ifc.ifc_len / sizeof (struct ifreq); - n > 0; - n--, ifr++) - { - struct sockaddr_in if_addr; - - // Compare host ip address with interface ip address. - ACE_OS::memcpy (&if_addr, &ifr->ifr_addr, sizeof if_addr); - - if (ip_addr.sin_addr.s_addr != if_addr.sin_addr.s_addr) - continue; - - if (ifr->ifr_addr.sa_family != AF_INET) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: Not AF_INET")); - continue; - } - - struct ifreq flags = *ifr; - struct ifreq if_req = *ifr; - - if (ACE_OS::ioctl (s, SIOCGIFFLAGS, (char *) &flags) == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: ioctl (get interface flags)")); - continue; - } - - if (ACE_BIT_DISABLED (flags.ifr_flags, IFF_UP)) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: Network interface is not up")); - continue; - } - - if (ACE_BIT_ENABLED (flags.ifr_flags, IFF_LOOPBACK)) - continue; - - if (ACE_BIT_ENABLED (flags.ifr_flags, IFF_BROADCAST)) - { - if (ACE_OS::ioctl (s, SIOCGIFBRDADDR, (char *) &if_req) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: ioctl (get broadaddr)")); - else - { - ACE_OS::memcpy ((struct sockaddr_in *) &ip_addr, - (struct sockaddr_in *) &if_req.ifr_broadaddr, - sizeof if_req.ifr_broadaddr); - - ACE_OS::memcpy ((void *) &host_addr, - (void *) &ip_addr.sin_addr, - sizeof host_addr); - - if (handle == ACE_INVALID_HANDLE) - ACE_OS::close (s); - bcast_addr = host_addr; - return 0; - } - } - else - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE::get_bcast_addr: Broadcast is not enable for this interface.")); - - if (handle == ACE_INVALID_HANDLE) - ACE_OS::close (s); - bcast_addr = host_addr; - return 0; - } - - return 0; -#else - ACE_UNUSED_ARG (handle); - ACE_UNUSED_ARG (host_addr); - ACE_UNUSED_ARG (host_name); - bcast_addr = (ACE_UINT32 (INADDR_BROADCAST)); - return 0; -#endif /* !ACE_WIN32 */ -} - -// Helper routine for get_ip_interfaces, differs by UNIX platform so -// put into own subroutine. perform some ioctls to retrieve ifconf -// list of ifreq structs. - -int -ACE::count_interfaces (ACE_HANDLE handle, - size_t &how_many) -{ -#if defined (sparc) && defined (SIOCGIFNUM) - if (ACE_OS::ioctl (handle, SIOCGIFNUM, (caddr_t) &how_many) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "ACE::get_ip_interfaces:ioctl - SIOCGIFNUM failed"), -1); - return 0; -#elif defined (__unix) || defined (__Lynx__) -/* Note: DEC CXX doesn't define "unix" */ -// BSD compatible OS: HP UX, AIX, SunOS 4.x perform some ioctls to -// retrieve ifconf list of ifreq structs no SIOCGIFNUM on SunOS 4.x, -// so use guess and scan algorithm - - const int MAX_IF = 50; // probably hard to put this many ifs in a unix box.. - int num_ifs = MAX_IF; // HACK - set to an unreasonable number - struct ifconf ifcfg; - struct ifreq *p_ifs = 0; - size_t ifreq_size = 0; - - ifreq_size = num_ifs * sizeof (struct ifreq); - p_ifs = (struct ifreq *) ACE_OS::malloc (ifreq_size); - - if (!p_ifs) - { - errno = ENOMEM; - return -1; - } - - ACE_OS::memset (p_ifs, 0, ifreq_size); - ACE_OS::memset (&ifcfg, 0, sizeof (struct ifconf)); - ifcfg.ifc_req = p_ifs; - ifcfg.ifc_len = ifreq_size; - - if (ACE_OS::ioctl (handle, SIOCGIFCONF, (caddr_t) &ifcfg) == -1) - { - ACE_OS::free (ifcfg.ifc_req); - ACE_ERROR_RETURN ((LM_ERROR, "count_interfaces:ioctl - SIOCGIFCONF failed"), -1); - } - - int if_count = 0, i ; - - // get if address out of ifreq buffers. - // ioctl puts a blank-named interface to mark the end of the - // returned interfaces. - for (i = 0; i < num_ifs; p_ifs++, i++) - { - if (p_ifs->ifr_name[0] == '\0') - break; - if_count++; - } - - ACE_OS::free (ifcfg.ifc_req); - how_many = if_count; - return 0; -#else - ACE_UNUSED_ARG (handle); - ACE_UNUSED_ARG (how_many); - ACE_NOTSUP_RETURN (-1);; // no implmentation -#endif /* sparc && SIOCGIFNUM */ -} - -// Routine to return a handle from which ioctl() requests can be -// made. - -ACE_HANDLE -ACE::get_handle (void) -{ -// Solaris 2.x - ACE_HANDLE handle = ACE_INVALID_HANDLE; -#if defined (sparc) - handle = ACE_OS::open ("/dev/udp", O_RDONLY); -#elif defined (__unix) || defined (__Lynx__) /* Note: DEC CXX doesn't define "unix" */ -// BSD compatible OS: HP UX, AIX, SunOS 4.x - handle = ACE_OS::socket (PF_INET, SOCK_DGRAM, 0); -#endif /* sparc */ - return handle; -} - -#if defined (ACE_WIN32) -// Return value in buffer for a key/name pair from the Windows -// Registry up to buf_len size. - -static int -get_reg_value (const TCHAR *key, - const TCHAR *name, - TCHAR *buffer, - DWORD &buf_len) -{ - HKEY hk; - DWORD buf_type; - LONG rc = ::RegOpenKeyEx (HKEY_LOCAL_MACHINE, key, 0, KEY_READ, &hk); - - // 1. open key that defines the interfaces used for TCP/IP? - if (rc != ERROR_SUCCESS) - // print_error_string(TEXT("RegOpenKeyEx"), rc); - return -1; - - rc = ::RegQueryValueEx (hk, name, 0, &buf_type, - (u_char *) buffer, &buf_len); - - if (rc != ERROR_SUCCESS) - { - // print_error_string(TEXT("RegEnumKeyEx"), rc); - RegCloseKey (hk); - return -2; - } - - ::RegCloseKey (hk); - return 0; -} -#endif /* ACE_WIN32 */ - -// return an array of all configured IP interfaces on this host, count -// rc = 0 on success (count == number of interfaces else -1 caller is -// responsible for calling delete [] on parray - -int -ACE::get_ip_interfaces (size_t &count, - ACE_INET_Addr *&addrs) -{ - ACE_TRACE ("ACE::get_ip_interfaces"); - -#if defined (ACE_WIN32) - const TCHAR *SVCS_KEY1 = __TEXT ("SYSTEM\\CurrentControlSet\\Services\\"); - const TCHAR *LINKAGE_KEY1 = - __TEXT ("SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Linkage"); - const TCHAR *TCP_PARAM_SUBKEY = __TEXT ("\\Parameters\\Tcpip"); - const TCHAR *BIND_NAME_ID = __TEXT ("Bind"); - const TCHAR *IPADDR_NAME_ID = __TEXT ("IPAddress"); - const TCHAR *INVALID_TCPIP_DEVICE_ADDR = __TEXT ("0.0.0.0"); - const int MAX_STRING_SZ = 4096; - - TCHAR raw_buffer[ACE_MAX_FULLY_QUALIFIED_NAME_LEN + 1]; - DWORD raw_buflen = ACE_MAX_FULLY_QUALIFIED_NAME_LEN + 1; - TCHAR buffer[ACE_MAX_FULLY_QUALIFIED_NAME_LEN + 1]; - DWORD buf_len = ACE_MAX_FULLY_QUALIFIED_NAME_LEN + 1; - - if (::get_reg_value (LINKAGE_KEY1, - BIND_NAME_ID, - raw_buffer, - raw_buflen)) - return -1; - // return buffer contains NULL delimited strings - - ACE_Tokenizer dev_names (raw_buffer); - dev_names.delimiter (__TEXT('\0')); - int n_interfaces = 0; - - // Count the number of interfaces - while (dev_names.next () != NULL) - n_interfaces ++; - - // case 1. no interfaces present, empty string? OS version change? - if (n_interfaces == 0) - return 0; - - ACE_NEW_RETURN (addrs, ACE_INET_Addr[n_interfaces], -2); - - count = 0; - for (int i = 0; i < n_interfaces; i++) - { - - // a. construct name to access IPAddress for this interface - ACE_TEXT_STRING ifdevkey (SVCS_KEY1); - ACE_TEXT_STRING the_dev = dev_names.next (); - - // chop off the "\Device" and keep last name. - if (the_dev.length() < 8) - return -3; // Something's wrong - else - { - the_dev = the_dev.substring (8); // rest of string from offset 8 - ifdevkey += the_dev; - ifdevkey += TCP_PARAM_SUBKEY; - - // b. extract value - if (get_reg_value (ifdevkey.fast_rep (), IPADDR_NAME_ID, buffer, buf_len)) - return -4; - - if (ACE_OS::strcmp (buffer, INVALID_TCPIP_DEVICE_ADDR) == 0) - continue; // Don't count this device - - // c. store in hostinfo object array and up the counter - addrs[count++] = ACE_INET_Addr ((u_short) 0, - ACE_MULTIBYTE_STRING (buffer)); - } - } - return 0; -#elif defined (__unix) || defined (__Lynx__) - // COMMON (SVR4 and BSD) UNIX CODE - - size_t num_ifs; - - ACE_HANDLE handle = get_handle(); // call specific routine as necessary - - if (handle == ACE_INVALID_HANDLE) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE::get_ip_interfaces:open"), -1); - - if (ACE::count_interfaces (handle, num_ifs)) - { - ACE_OS::close (handle); - return -1; - } - - // ioctl likes to have an extra ifreq structure to mark the end of what it - // returned, so increase the num_ifs by one. - ++num_ifs; - - struct ifreq *ifs; - ACE_NEW_RETURN (ifs, struct ifreq[num_ifs], -1); - ACE_OS::memset (ifs, 0, num_ifs * sizeof (struct ifreq)); - ACE_Auto_Array_Ptr p_ifs (ifs); - - if (p_ifs.get() == 0) - { - ACE_OS::close (handle); - errno = ENOMEM; - return -1; - } - - struct ifconf ifcfg; - ACE_OS::memset (&ifcfg, 0, sizeof (struct ifconf)); - ifcfg.ifc_req = p_ifs.get (); - ifcfg.ifc_len = num_ifs * sizeof (struct ifreq); - - if (ACE_OS::ioctl (handle, SIOCGIFCONF, (caddr_t) &ifcfg) == -1) - { - ACE_OS::close (handle); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "is_address_local:ioctl - SIOCGIFCONF failed"), -1); - } - - ACE_OS::close (handle); - - // ------------ now create and initialize output array ------------- - - ACE_NEW_RETURN (addrs, ACE_INET_Addr[num_ifs], -1); // caller must free - - struct ifreq *pcur = p_ifs.get (); - // Pull the address out of each INET interface. Not every interface is - // for IP, so be careful to count properly. When setting the INET_Addr, - // note that the 3rd arg (0) says to leave the byte order (already in net - // byte order from the interface structure) as is. - count = 0; - for (size_t i = 0; i < num_ifs; pcur++, i++) - { - if (pcur->ifr_addr.sa_family == AF_INET) - { - struct sockaddr_in *_addr_ = (struct sockaddr_in *)&(pcur->ifr_addr); - addrs[count].set ((u_short)0, _addr_->sin_addr.s_addr, 0); - count++; - } - } - return 0; -#else - ACE_UNUSED_ARG (count); - ACE_UNUSED_ARG (addrs); - ACE_NOTSUP_RETURN (-1);; // no implementation -#endif /* ACE_WIN32 */ -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && (defined (__unix) || defined (__Lynx__)) -template class ACE_Auto_Array_Ptr; -template class ACE_Auto_Basic_Array_Ptr; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Auto_Array_Ptr -#pragma instantiate ACE_Auto_Basic_Array_Ptr -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION && (__unix || __Lynx_) */ diff --git a/ace/ACE.h b/ace/ACE.h deleted file mode 100644 index 97108dc460e..00000000000 --- a/ace/ACE.h +++ /dev/null @@ -1,584 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// ACE.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_ACE_H) -#define ACE_ACE_H - -#include "ace/OS.h" -#include "ace/Version.h" - -// Forward declarations. -class ACE_Time_Value; -class ACE_Thread_Manager; -class ACE_Reactor; -class ACE_Event_Handler; -class ACE_INET_Addr; - -class ACE_Export ACE -{ - // = TITLE - // Contains value added ACE methods that extend the behavior - // of the UNIX and Win32 OS calls. - // - // = DESCRIPTION - // This class consolidates all these ACE static methods in a - // single place in order to manage the namespace better. These - // methods are put here rather than in ACE_OS in order to - // separate concerns. - ACE_CLASS_IS_NAMESPACE (ACE); -public: - // = ACE version information. - static u_int major_version (void); - // E.g., the "4" in ACE 4.3.19. - - static u_int minor_version (void); - // E.g., the "3" in ACE 4.3.19. - - static u_int beta_version (void); - // E.g., the "19" in ACE 4.3.19. Returns 0 for "stable" (non-beta) releases. - - // = Recv operations that factor out differences between Win32 and UNIX. - static ssize_t recv (ACE_HANDLE handle, - void *buf, - size_t len, - int flags); - // Receive up to bytes into from (uses the - // call). - - static ssize_t recv (ACE_HANDLE handle, - void *buf, - size_t len); - // Receive up to bytes into from (uses the - // system call on UNIX and the call on - // Win32). - - // = Recv operations that receive exactly n bytes. - static ssize_t recv_n (ACE_HANDLE handle, - void *buf, - size_t len, - int flags); - // Receive bytes into from (uses the - // call). If is set to non-blocking mode - // this call will poll until all bytes are received. - - static ssize_t recv_n (ACE_HANDLE handle, - void *buf, - size_t len); - // Receive bytes into from (uses the - // system call on UNIX and the call on - // Win32). If is set to non-blocking mode this call will - // poll until all bytes are received. - - // = Timed operations. - static ssize_t recv (ACE_HANDLE handle, - void *buf, - size_t len, - int flags, - const ACE_Time_Value *timeout); - // Wait up to amount of time to receive up to bytes - // into from (uses the call). The - // indicates how long to blocking trying to receive. If - // == 0, the caller will block until action is possible, - // else will wait until the relative time specified in * - // elapses). If times out a -1 is returned with . If it succeeds the number of bytes received is returned. - - static ssize_t recv (ACE_HANDLE handle, - void *buf, - size_t len, - const ACE_Time_Value *timeout); - // Wait up to amount of time to receive up to bytes - // into from (uses the call). The - // indicates how long to blocking trying to receive. If - // == 0, the caller will block until action is possible, - // else will wait until the relative time specified in * - // elapses). If times out a -1 is returned with . If it succeeds the number of bytes received is returned. - - static ssize_t recvmsg (ACE_HANDLE handle, - struct msghdr *msg, - int flags, - const ACE_Time_Value *timeout); - // Wait up to amount of time to receive from - // (uses the call). The - // indicates how long to blocking trying to receive. If - // == 0, the caller will block until action is possible, else will - // wait until the relative time specified in * elapses). - // If times out a -1 is returned with . - // If it succeeds the number of bytes received is returned. - - static ssize_t recvfrom (ACE_HANDLE handle, - char *buf, - int len, - int flags, - struct sockaddr *addr, - int *addrlen, - const ACE_Time_Value *timeout); - // Wait up to amount of time to recv up to bytes - // into from (uses the call). The - // indicates how long to blocking trying to recv. If - // == 0, the caller will block until action is possible, - // else will wait until the relative time specified in * - // elapses). If times out a -1 is returned with . If it succeeds the number of bytes received is - // returned. - - static ssize_t recv_n (ACE_HANDLE handle, - void *buf, - size_t len, - int flags, - const ACE_Time_Value *timeout); - // Try to recv exactly bytes into from (uses - // the call). The indicates how long to - // blocking trying to receive. If == 0, the caller will - // block until action is possible, else will wait until the relative - // time specified in * elapses). If blocks for - // longer than the number of bytes actually read is - // returned with . If a timeout does not occur, - // return (i.e., the number of bytes requested to be - // read). - - // = Send operations that factor out differences between Win32 and UNIX. - static ssize_t send (ACE_HANDLE handle, - const void *buf, - size_t len, - int flags); - // Send up to bytes into from (uses the - // call). - - static ssize_t send (ACE_HANDLE handle, - const void *buf, - size_t len); - // Send up to bytes into from (uses the - // system call on UNIX and the call - // on Win32). - - // = Send operations that send exactly n bytes. - static ssize_t send_n (ACE_HANDLE handle, - const void *buf, - size_t len, - int flags); - // Send bytes from to (uses the - // system call). If is set to non-blocking mode this call - // will poll until all bytes are sent. - - static ssize_t send_n (ACE_HANDLE handle, - const void *buf, - size_t len); - // Send bytes from to (uses the - // system call on UNIX and the call on Win32). If - // is set to non-blocking mode this call will poll until - // all bytes are sent. - - // = Timed operations. - static ssize_t send (ACE_HANDLE handle, - const void *buf, - size_t len, - const ACE_Time_Value *timeout); - // Wait up to amount of time to send up to bytes - // into from (uses the system call on - // UNIX and the call on Win32). The - // indicates how long to blocking trying to send. If == - // 0, the caller will block until action is possible, else will wait - // until the relative time specified in * elapses). If - // times out a -1 is returned with . If it - // succeeds the number of bytes sent is returned. - - static ssize_t send (ACE_HANDLE handle, - const void *buf, - size_t len, - int flags, - const ACE_Time_Value *timeout); - // Wait up to amount of time to send up to bytes - // into from (uses the call). The - // indicates how long to blocking trying to send. If - // == 0, the caller will block until action is possible, - // else will wait until the relative time specified in * - // elapses). If times out a -1 is returned with . If it succeeds the number of bytes sent is returned. - - static ssize_t sendmsg (ACE_HANDLE handle, - const struct msghdr *msg, - int flags, - const ACE_Time_Value *timeout); - // Wait up to amount of time to send the to - // (uses the call). The indicates how - // long to blocking trying to send. If == 0, the caller - // will block until action is possible, else will wait until the - // relative time specified in * elapses). If - // times out a -1 is returned with . If it succeeds - // the number of bytes sent is returned. - - static ssize_t sendto (ACE_HANDLE handle, - const char *buf, - int len, - int flags, - const struct sockaddr *addr, - int addrlen, - const ACE_Time_Value *timeout); - // Wait up to amount of time to send up to bytes - // into from (uses the call). The - // indicates how long to blocking trying to send. If - // == 0, the caller will block until action is possible, - // else will wait until the relative time specified in * - // elapses). If times out a -1 is returned with . If it succeeds the number of bytes sent is returned. - - static ssize_t send_n (ACE_HANDLE handle, - const void *buf, - size_t len, - int flags, - const ACE_Time_Value *timeout); - // Try to send exactly bytes into from (uses - // the call). The indicates how long to - // blocking trying to send. If == 0, the caller will - // block until action is possible, else will wait until the relative - // time specified in * elapses). If blocks for - // longer than the number of bytes actually sent is - // returned with . If a timeout does not occur, - // return (i.e., the number of bytes requested to be - // sent). - - // = Timed Scatter-read and gather-write functions. - - static ssize_t writev (ACE_HANDLE handle, - const struct iovec* iov, - int iovcnt, - const ACE_Time_Value *timeout); - // Send structs to (uses the - // call). If == 0, the caller will block - // until action is possible, else will wait until the relative time - // specified in * elapses). If times out a -1 is - // returned with . If it succeeds the number of - // bytes written is returned. - - static ssize_t readv (ACE_HANDLE handle, - struct iovec *iov, - int iovcnt, - const ACE_Time_Value *timeout); - // Read structs from (uses the - // call). If == 0, the caller will block - // until action is possible, else will wait until the relative time - // specified in * elapses). If times out a -1 is - // returned with . If it succeeds the number of - // bytes receieved is returned. - - static ssize_t send (ACE_HANDLE handle, size_t n, ...); - // Send varargs messages to the using . - - static ssize_t recv (ACE_HANDLE handle, size_t n, ...); - // Recv varargs messages to the using . - - // = File system I/O functions. - - // These encapsulate differences between UNIX and Win32 and also - // send and recv exactly n bytes. - - static ssize_t read_n (ACE_HANDLE handle, - void *buf, - size_t len); - // Receive bytes into from (uses the - // call, which uses the system call on UNIX - // and the call on Win32). If is set to - // non-blocking mode this call will poll until all bytes are - // received. - - static ssize_t write_n (ACE_HANDLE handle, - const void *buf, - size_t len); - // Send bytes from to (uses the - // calls, which is uses the system call on UNIX and the - // call on Win32). If is set to non-blocking - // mode this call will poll until all bytes are sent. - - // = Socket connection establishment calls. - - static int bind_port (ACE_HANDLE handle); - // Bind a new unused port to . - - static int get_bcast_addr (ACE_UINT32 &bcast_addr, - const char *hostname = 0, - ACE_UINT32 host_addr = 0, - ACE_HANDLE handle = ACE_INVALID_HANDLE); - // Get our broadcast address based on our . If - // is non-0 we'll use it to determine our IP address. If - // is not then we'll use this to - // determine our broadcast address, otherwise we'll have to create a - // socket internally (and free it). Returns -1 on failure and 0 on - // success. - - static int get_ip_interfaces (size_t &count, - ACE_INET_Addr *&addr_array); - // Return count and array of all configured IP interfaces on this - // host, rc = 0 on success (count == number of interfaces else -1). - // Caller is responsible for calling delete [] on . - - static int count_interfaces (ACE_HANDLE handle, - size_t &how_many); - // Helper routine for get_ip_interfaces, differs by UNIX platform so - // put into own subroutine. perform some ioctls to retrieve ifconf - // list of ifreq structs. - - static ACE_HANDLE get_handle (void); - // Routine to return a handle from which requests can be - // made. Caller must the handle. - - static int handle_timed_accept (ACE_HANDLE listener, - ACE_Time_Value *timeout, - int restart); - // Wait up to amount of time to passively establish a - // connection. This method doesn't perform the , it just - // does the timed wait... - - static ACE_HANDLE handle_timed_complete (ACE_HANDLE listener, - ACE_Time_Value *timeout, - int is_tli = 0); - // Wait up to amount of time to complete an actively - // established non-blocking connection. If is non-0 then - // we are being called by a TLI wrapper (which behaves slightly - // differently from a socket wrapper). - - // = Operations on HANDLEs. - - static ACE_HANDLE handle_timed_open (ACE_Time_Value *timeout, - LPCTSTR name, - int flags, - int perms); - // Wait up to amount of time to actively open a device. - // This method doesn't perform the , it just does the timed - // wait... - - // = Set/get/clear various flags related to I/O HANDLE. - static int set_flags (ACE_HANDLE handle, - int flags); - // Set flags associated with . - - static int clr_flags (ACE_HANDLE handle, - int flags); - // Clear flags associated with . - - static int get_flags (ACE_HANDLE handle); - // Return the current setting of flags associated with . - - static int set_handle_limit (int new_limit = -1); - // Reset the limit on the number of open handles. If == - // -1 set the limit to the maximum allowable. Otherwise, set it to - // be the value of . - - static int max_handles (void); - // Returns the maximum number of open handles currently permitted in - // this process. This maximum may be extended using - // . - - // = String functions - static char *strenvdup (const char *str); - // Return a dynamically allocated duplicate of , substituting - // the environment variable if . Note that the - // pointer is allocated with and must be freed by - // - - static char *strecpy (char *s, const char *t); - // Copies to , returning a pointer to the end of the copied - // region (rather than the beginning, a la . - - static char *strsplit_r (char *s, - const char *token, - char *&next_start); - // Splits string into pieces separated by the string . - // is an opaque cookie handed back by the call to store - // its state for the next invocation, thus making it re-entrant. - // This operates very similar to Perl's function except that - // it returns pieces one at a time instead of into an array. - - static size_t strrepl (char *s, char search, char replace); - // Replace all instances of in with . Returns - // the number of replacements made. - - static const char *execname (const char *pathname); - // On Win32 returns if it already ends in ".exe," - // otherwise returns a dynamically allocated buffer containing - // ".exe". Always returns on UNIX. - - static const char *basename (const char *pathname, - char delim); - // Returns the "basename" of a . - -#if defined (ACE_HAS_UNICODE) - static const wchar_t *basename (const wchar_t *pathname, - wchar_t delim); - // Returns the "basename" of a . -#endif /* ACE_HAS_UNICODE */ - - static char *timestamp (char date_and_time[], - int time_len); - // Returns the current timestamp in the form - // "hour:minute:second:microsecond." The month, day, and year are - // also stored in the beginning of the date_and_time array. Returns - // 0 if unsuccessful, else returns pointer to beginning of the - // "time" portion of . - - static int daemonize (const char pathname[] = "/", - int close_all_handles = ACE_DEFAULT_CLOSE_ALL_HANDLES); - // Become a daemon process. If is non-zero then - // all open file handles are closed. - - // = Methods for searching and opening shared libraries. - - static int ldfind (const char *filename, - char *pathname, - size_t maxlen); - // Finds the file either using an absolute path or using - // a relative path in conjunction with ACE_LD_SEARCH_PATH (e.g., - // $LD_LIBRARY_PATH on UNIX or $PATH on Win32). This function will - // add appropriate suffix (e.g., .dll on Win32 or .so on UNIX) - // according to the OS platform. In addition, this function will - // apply the appropriate prefix (e.g., "lib" on UNIX and "" on - // Win32) if the doesn't match directly. - - static FILE *ldopen (const char *filename, - const char *type); - // Uses to locate and open the appropriate and - // returns a pointer to the file, else it returns a NULL - // pointer. specifies how the file should be open. - - // = Shield us from Win32's inability to select on STDIN. - - static void *read_adapter (void *event_handler); - // Used to read from non-socket ACE_HANDLEs in our own thread to - // work around Win32 limitations that don't allow us to select() on - // non-sockets (such as ACE_STDIN). This is commonly used in - // situations where the Reactor is used to demultiplex read events - // on ACE_STDIN on UNIX. Note that must be a - // subclass of . If the method of - // this event handler returns we default to - // reading from ACE_STDIN. - - static int register_stdin_handler (ACE_Event_Handler *eh, - ACE_Reactor *reactor, - ACE_Thread_Manager *thr_mgr, - int flags = THR_DETACHED); - // Abstracts away from the differences between Win32 and ACE with - // respect to reading from ACE_STDIN (which is non-select()'able on - // Win32. - - static int remove_stdin_handler (ACE_Reactor *reactor, - ACE_Thread_Manager *thr_mgr); - // Performs the inverse of the method. - - // = Miscelleous functions. - static size_t round_to_pagesize (off_t length); - // Rounds the request to a multiple of the page size. - - static int format_hexdump (const char *buffer, int size, char *obuf, - int obuf_sz); - // Format buffer into printable format. This is useful for - // debugging. - - static u_long hash_pjw (const char *str); - // Computes the hash value of using the ``Hash PJW'' routine. - - static u_long hash_pjw (const ACE_USHORT16 *str); - // Computes the hash value of using the ``Hash PJW'' routine - // (works for UNICODE strings). - - static u_long crc32 (const char* str); - // Computes the ISO 8802-3 standard 32 bits CRC for the string - // (not for a file). - - static u_long is_prime (const u_long n, - const u_long min_factor, - const u_long max_factor); - // Function that can burn up noticeable CPU time: brute-force - // determination of whether number "n" is prime. Returns 0 if - // it is prime, or the smallest factor if it is not prime. min_factor - // and max_factor can be used to partition the work among threads. - // For just one thread, typical values are 2 and n/2. - - static int map_errno (int error); - // Map troublesome win32 errno values to values that standard C - // strerr function understands. Thank you Microsoft. - - static const char *sock_error (int error); - // Returns a string containing the error message corresponding to a - // WinSock error. This works around an omission in the Win32 API... - - static int process_active (pid_t pid); - // Checks if process with is still alive. Returns 1 if it is - // still alive, 0 if it isn't alive, and -1 if something weird - // happened. - - static int terminate_process (pid_t pid); - // Terminate the process with id . Note that this call is - // potentially dangerous to use since the process being terminated - // may not have a chance to cleanup before it shuts down. - - static void unique_name (const void *object, - LPTSTR name, - size_t length); - // This method uses process id and object pointer to come up with a - // machine wide unique name. The process ID will provide uniqueness - // between processes on the same machine. The "this" pointer of the - // will provide uniqueness between other "live" objects in - // the same process. The uniqueness of this name is therefore only - // valid for the life of . - - static u_long log2 (u_long num); - // Computes the base 2 logarithm of . - - static char nibble2hex (u_int n); - // Hex conversion utility. - - static u_char hex2byte (char c); - // Convert a hex character to its byte representation. - -private: - static int enter_recv_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int &val); - // Wait for before proceeding to a operation. - // keeps track of whether we're in non-blocking mode or not. - - static void leave_recv_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int val); - // Cleanup after a operation (e.g., restore the appropriate - // non-blocking status of ). - - static int enter_send_timedwait (ACE_HANDLE handle, - const ACE_Time_Value* timeout, - int &val); - // Wait for before proceeding to a operation. - // keeps track of whether we're in non-blocking mode or not. - - static void leave_send_timedwait (ACE_HANDLE handle, - const ACE_Time_Value *timeout, - int val); - // Cleanup after the operation (e.g., restore the appropriate - // non-blocking status of ). - - static size_t pagesize_; - // Size of a VM page. - - static u_long crc_table_[]; - // CRC table. - - static const char hex_chars_[]; - // Hex characters. -}; - -#include "ace/ACE.i" - -#endif /* ACE_ACE_H */ diff --git a/ace/ACE.i b/ace/ACE.i deleted file mode 100644 index fea76a4c0ca..00000000000 --- a/ace/ACE.i +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Miscellaneous static methods used throughout ACE. - -inline u_int -ACE::major_version (void) -{ - return ACE_MAJOR_VERSION; -} - -inline u_int -ACE::minor_version (void) -{ - return ACE_MINOR_VERSION; -} - -inline u_int -ACE::beta_version (void) -{ - return ACE_BETA_VERSION; -} - -inline ssize_t -ACE::send (ACE_HANDLE handle, const void *buf, size_t len) -{ - ACE_TRACE ("ACE::send"); - -#if defined (ACE_WIN32) - return ACE_OS::send (handle, (const char *) buf, len); -#else - return ACE_OS::write (handle, (const char *) buf, len); -#endif /* ACE_WIN32 */ -} - -inline ssize_t -ACE::send (ACE_HANDLE handle, const void *buf, size_t len, int flags) -{ - ACE_TRACE ("ACE::send"); - return ACE_OS::send (handle, (const char *) buf, len, flags); -} - -inline ssize_t -ACE::recv (ACE_HANDLE handle, void *buf, size_t len) -{ - ACE_TRACE ("ACE::recv"); -#if defined (ACE_WIN32) - return ACE_OS::recv (handle, (char *) buf, len); -#else - return ACE_OS::read (handle, (char *) buf, len); -#endif /* ACE_WIN32 */ -} - -inline ssize_t -ACE::recv (ACE_HANDLE handle, void *buf, size_t len, int flags) -{ - ACE_TRACE ("ACE::recv"); - - return ACE_OS::recv (handle, (char *) buf, len, flags); -} - -inline char * -ACE::strecpy (char *s, const char *t) -{ - ACE_TRACE ("ACE::strecpy"); - register char *dscan = s; - register const char *sscan = t; - - while ((*dscan++ = *sscan++) != '\0') - continue; - - return dscan - 1; -} - -// Return flags currently associated with handle. - -inline int -ACE::get_flags (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE::get_flags"); - -#if defined (ACE_LACKS_FCNTL) - // ACE_OS::fcntl is not supported, e.g., on VxWorks. It - // would be better to store ACE's notion of the flags - // associated with the handle, but this works for now. - ACE_UNUSED_ARG (handle); - return 0; -#else - return ACE_OS::fcntl (handle, F_GETFL, 0); -#endif /* ACE_LACKS_FCNTL */ -} - -inline u_long -ACE::log2 (u_long num) -{ - u_long log = 0; - - for (; - num > 0; - log++) - num >>= 1; - - return log; -} - -inline char -ACE::nibble2hex (u_int n) -{ - return ACE::hex_chars_[n & 0x0f]; -} - -inline u_char -ACE::hex2byte (char c) -{ - if (isdigit (c)) - return (u_char) (c - '0'); - else if (islower (c)) - return (u_char) (10 + c - 'a'); - else - return (u_char) (10 + c - 'A'); -} diff --git a/ace/ACE_Library.mak b/ace/ACE_Library.mak deleted file mode 100644 index 0d326477cb8..00000000000 --- a/ace/ACE_Library.mak +++ /dev/null @@ -1,33469 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -!IF "$(CFG)" == "" -CFG=ACE dynamic library - Win32 Unicode Debug -!MESSAGE No configuration specified. Defaulting to ACE dynamic library - Win32\ - Unicode Debug. -!ENDIF - -!IF "$(CFG)" != "ACE dynamic library - Win32 Debug" && "$(CFG)" !=\ - "ACE static library - Win32 Release" && "$(CFG)" !=\ - "ACE static library - Win32 Debug" && "$(CFG)" !=\ - "ACE static library - Win32 Unicode Debug" && "$(CFG)" !=\ - "ACE static library - Win32 Unicode Release" && "$(CFG)" !=\ - "ACE dynamic library - Win32 Unicode Debug" && "$(CFG)" !=\ - "ACE dynamic library - Win32 Unicode Release" && "$(CFG)" !=\ - "ACE dynamic library - Win32 Release" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE on this makefile -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ACE_Library.mak"\ - CFG="ACE dynamic library - Win32 Unicode Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ACE dynamic library - Win32 Debug" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE "ACE static library - Win32 Release" (based on\ - "Win32 (x86) Static Library") -!MESSAGE "ACE static library - Win32 Debug" (based on\ - "Win32 (x86) Static Library") -!MESSAGE "ACE static library - Win32 Unicode Debug" (based on\ - "Win32 (x86) Static Library") -!MESSAGE "ACE static library - Win32 Unicode Release" (based on\ - "Win32 (x86) Static Library") -!MESSAGE "ACE dynamic library - Win32 Unicode Debug" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE "ACE dynamic library - Win32 Unicode Release" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE "ACE dynamic library - Win32 Release" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF -################################################################################ -# Begin Project -# PROP Target_Last_Scanned "ACE dynamic library - Win32 Release" - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ACE dynamic library\Debug" -# PROP BASE Intermediate_Dir "ACE dynamic library\Debug" -# PROP BASE Target_Dir "ACE dynamic library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "DLL\Debug" -# PROP Target_Dir "ACE dynamic library" -OUTDIR=. -INTDIR=.\DLL\Debug - -ALL : "$(OUTDIR)\aced.dll" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\vc40.idb" - -@erase "$(INTDIR)\vc40.pdb" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\aced.dll" - -@erase "$(OUTDIR)\aced.exp" - -@erase "$(OUTDIR)\aced.ilk" - -@erase "$(OUTDIR)\aced.lib" - -@erase "$(OUTDIR)\aced.pdb" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\STL" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\STL" /D "_DEBUG" /D\ - "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c -CPP_OBJS=.\DLL\Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /win32 -MTL_PROJ=/nologo /D "_DEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE dynamic library.bsc" -BSC32_SBRS= \ - -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 /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 advapi32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"aced.dll" -LINK32_FLAGS=advapi32.lib /nologo /subsystem:windows /dll /incremental:yes\ - /pdb:"$(OUTDIR)/aced.pdb" /debug /machine:I386 /out:"$(OUTDIR)/aced.dll"\ - /implib:"$(OUTDIR)/aced.lib" -LINK32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\aced.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ACE static library\Release" -# PROP BASE Intermediate_Dir "ACE static library\Release" -# PROP BASE Target_Dir "ACE static library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "LIB\Release" -# PROP Target_Dir "ACE static library" -OUTDIR=. -INTDIR=.\LIB\Release - -ALL : "$(OUTDIR)\aces.lib" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\aces.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MT /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MT /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "WIN32" /D\ - "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /Fo"$(INTDIR)/" /c -CPP_OBJS=.\LIB\Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE static library.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"aces.lib" -LIB32_FLAGS=/nologo /out:"$(OUTDIR)/aces.lib" -LIB32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\aces.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ACE static library\Debug" -# PROP BASE Intermediate_Dir "ACE static library\Debug" -# PROP BASE Target_Dir "ACE static library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "LIB\Debug" -# PROP Target_Dir "ACE static library" -OUTDIR=. -INTDIR=.\LIB\Debug - -ALL : "$(OUTDIR)\acesd.lib" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\acesd.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MTd /W3 /GX /Z7 /Od /I "..\STL" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MTd /W3 /GX /Z7 /Od /I "..\STL" /D "_DEBUG" /D "WIN32" /D\ - "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /Fo"$(INTDIR)/" /c -CPP_OBJS=.\LIB\Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE static library.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"acesd.lib" -LIB32_FLAGS=/nologo /out:"$(OUTDIR)/acesd.lib" -LIB32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\acesd.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ACE static library\Unicode Debug" -# PROP BASE Intermediate_Dir "ACE static library\Unicode Debug" -# PROP BASE Target_Dir "ACE static library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "LIB\Unicode_Debug" -# PROP Target_Dir "ACE static library" -OUTDIR=. -INTDIR=.\LIB\Unicode_Debug - -ALL : "$(OUTDIR)\acesud.lib" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\acesud.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MTd /W3 /GX /Z7 /Od /I "..\STL" /D "_DEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MTd /W3 /GX /Z7 /Od /I "..\STL" /D "_DEBUG" /D "UNICODE"\ - /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /Fo"$(INTDIR)/"\ - /c -CPP_OBJS=.\LIB\Unicode_Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE static library.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"acesud.lib" -LIB32_FLAGS=/nologo /out:"$(OUTDIR)/acesud.lib" -LIB32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\acesud.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ACE static library\Unicode Release" -# PROP BASE Intermediate_Dir "ACE static library\Unicode Release" -# PROP BASE Target_Dir "ACE static library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "LIB\Unicode_Release" -# PROP Target_Dir "ACE static library" -OUTDIR=. -INTDIR=.\LIB\Unicode_Release - -ALL : "$(OUTDIR)\acesu.lib" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\acesu.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MT /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MT /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "UNICODE" /D\ - "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D __ACE_INLINE__=0 /Fo"$(INTDIR)/" /c -CPP_OBJS=.\LIB\Unicode_Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE static library.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"acesu.lib" -LIB32_FLAGS=/nologo /out:"$(OUTDIR)/acesu.lib" -LIB32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\acesu.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ACE dynamic library\Unicode Debug" -# PROP BASE Intermediate_Dir "ACE dynamic library\Unicode Debug" -# PROP BASE Target_Dir "ACE dynamic library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "DLL\Unicode_Debug" -# PROP Target_Dir "ACE dynamic library" -OUTDIR=. -INTDIR=.\DLL\Unicode_Debug - -ALL : "$(OUTDIR)\aceud.dll" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\vc40.idb" - -@erase "$(INTDIR)\vc40.pdb" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\aceud.dll" - -@erase "$(OUTDIR)\aceud.exp" - -@erase "$(OUTDIR)\aceud.ilk" - -@erase "$(OUTDIR)\aceud.lib" - -@erase "$(OUTDIR)\aceud.pdb" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\STL" /D "_DEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\STL" /D "_DEBUG" /D\ - "UNICODE" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /Fo"$(INTDIR)/"\ - /Fd"$(INTDIR)/" /c -CPP_OBJS=.\DLL\Unicode_Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /win32 -MTL_PROJ=/nologo /D "_DEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE dynamic library.bsc" -BSC32_SBRS= \ - -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 /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 advapi32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"aceud.dll" -LINK32_FLAGS=advapi32.lib /nologo /subsystem:windows /dll /incremental:yes\ - /pdb:"$(OUTDIR)/aceud.pdb" /debug /machine:I386 /out:"$(OUTDIR)/aceud.dll"\ - /implib:"$(OUTDIR)/aceud.lib" -LINK32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\aceud.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ACE dynamic library\Unicode Release" -# PROP BASE Intermediate_Dir "ACE dynamic library\Unicode Release" -# PROP BASE Target_Dir "ACE dynamic library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "DLL\Unicode_Release" -# PROP Target_Dir "ACE dynamic library" -OUTDIR=. -INTDIR=.\DLL\Unicode_Release - -ALL : "$(OUTDIR)\aceu.dll" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\aceu.dll" - -@erase "$(OUTDIR)\aceu.exp" - -@erase "$(OUTDIR)\aceu.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MD /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "UNICODE" /D\ - "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /Fo"$(INTDIR)/" /c -CPP_OBJS=.\DLL\Unicode_Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /win32 -MTL_PROJ=/nologo /D "NDEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE dynamic library.bsc" -BSC32_SBRS= \ - -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 /subsystem:windows /dll /machine:I386 -# ADD LINK32 advapi32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"aceu.dll" -LINK32_FLAGS=advapi32.lib /nologo /subsystem:windows /dll /incremental:no\ - /pdb:"$(OUTDIR)/aceu.pdb" /machine:I386 /out:"$(OUTDIR)/aceu.dll"\ - /implib:"$(OUTDIR)/aceu.lib" -LINK32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\aceu.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ACE dynamic library\Release" -# PROP BASE Intermediate_Dir "ACE dynamic library\Release" -# PROP BASE Target_Dir "ACE dynamic library" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "DLL\Release" -# PROP Target_Dir "ACE dynamic library" -OUTDIR=. -INTDIR=.\DLL\Release - -ALL : "$(OUTDIR)\ace.dll" - -CLEAN : - -@erase "$(INTDIR)\ACE.obj" - -@erase "$(INTDIR)\Activation_Queue.obj" - -@erase "$(INTDIR)\Addr.obj" - -@erase "$(INTDIR)\ARGV.obj" - -@erase "$(INTDIR)\Asynch_IO.obj" - -@erase "$(INTDIR)\Basic_Types.obj" - -@erase "$(INTDIR)\CORBA_Handler.obj" - -@erase "$(INTDIR)\Date_Time.obj" - -@erase "$(INTDIR)\DEV.obj" - -@erase "$(INTDIR)\DEV_Addr.obj" - -@erase "$(INTDIR)\DEV_Connector.obj" - -@erase "$(INTDIR)\DEV_IO.obj" - -@erase "$(INTDIR)\Dump.obj" - -@erase "$(INTDIR)\Dynamic.obj" - -@erase "$(INTDIR)\Event_Handler.obj" - -@erase "$(INTDIR)\FIFO.obj" - -@erase "$(INTDIR)\FIFO_Recv.obj" - -@erase "$(INTDIR)\FIFO_Recv_Msg.obj" - -@erase "$(INTDIR)\FIFO_Send.obj" - -@erase "$(INTDIR)\FIFO_Send_Msg.obj" - -@erase "$(INTDIR)\FILE.obj" - -@erase "$(INTDIR)\FILE_Addr.obj" - -@erase "$(INTDIR)\FILE_Connector.obj" - -@erase "$(INTDIR)\FILE_IO.obj" - -@erase "$(INTDIR)\Filecache.obj" - -@erase "$(INTDIR)\Get_Opt.obj" - -@erase "$(INTDIR)\Handle_Set.obj" - -@erase "$(INTDIR)\High_Res_Timer.obj" - -@erase "$(INTDIR)\INET_Addr.obj" - -@erase "$(INTDIR)\IO_Cntl_Msg.obj" - -@erase "$(INTDIR)\IO_SAP.obj" - -@erase "$(INTDIR)\IOStream.obj" - -@erase "$(INTDIR)\IPC_SAP.obj" - -@erase "$(INTDIR)\Local_Name_Space.obj" - -@erase "$(INTDIR)\Local_Tokens.obj" - -@erase "$(INTDIR)\Log_Msg.obj" - -@erase "$(INTDIR)\Log_Record.obj" - -@erase "$(INTDIR)\LSOCK.obj" - -@erase "$(INTDIR)\LSOCK_Acceptor.obj" - -@erase "$(INTDIR)\LSOCK_CODgram.obj" - -@erase "$(INTDIR)\LSOCK_Connector.obj" - -@erase "$(INTDIR)\LSOCK_Dgram.obj" - -@erase "$(INTDIR)\LSOCK_Stream.obj" - -@erase "$(INTDIR)\Malloc.obj" - -@erase "$(INTDIR)\Mem_Map.obj" - -@erase "$(INTDIR)\Memory_Pool.obj" - -@erase "$(INTDIR)\Message_Block.obj" - -@erase "$(INTDIR)\Method_Object.obj" - -@erase "$(INTDIR)\Multiplexor.obj" - -@erase "$(INTDIR)\Name_Proxy.obj" - -@erase "$(INTDIR)\Name_Request_Reply.obj" - -@erase "$(INTDIR)\Name_Space.obj" - -@erase "$(INTDIR)\Naming_Context.obj" - -@erase "$(INTDIR)\Object_Manager.obj" - -@erase "$(INTDIR)\Obstack.obj" - -@erase "$(INTDIR)\OS.obj" - -@erase "$(INTDIR)\Parse_Node.obj" - -@erase "$(INTDIR)\Pipe.obj" - -@erase "$(INTDIR)\Priority_Reactor.obj" - -@erase "$(INTDIR)\Proactor.obj" - -@erase "$(INTDIR)\Process.obj" - -@erase "$(INTDIR)\Process_Manager.obj" - -@erase "$(INTDIR)\Profile_Timer.obj" - -@erase "$(INTDIR)\Reactor.obj" - -@erase "$(INTDIR)\Read_Buffer.obj" - -@erase "$(INTDIR)\Registry.obj" - -@erase "$(INTDIR)\Registry_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Name_Space.obj" - -@erase "$(INTDIR)\Remote_Tokens.obj" - -@erase "$(INTDIR)\Sched_Params.obj" - -@erase "$(INTDIR)\Select_Reactor.obj" - -@erase "$(INTDIR)\Service_Config.obj" - -@erase "$(INTDIR)\Service_Main.obj" - -@erase "$(INTDIR)\Service_Manager.obj" - -@erase "$(INTDIR)\Service_Object.obj" - -@erase "$(INTDIR)\Service_Repository.obj" - -@erase "$(INTDIR)\Service_Types.obj" - -@erase "$(INTDIR)\Shared_Memory_MM.obj" - -@erase "$(INTDIR)\Shared_Memory_SV.obj" - -@erase "$(INTDIR)\Shared_Object.obj" - -@erase "$(INTDIR)\Signal.obj" - -@erase "$(INTDIR)\SOCK.obj" - -@erase "$(INTDIR)\SOCK_Acceptor.obj" - -@erase "$(INTDIR)\SOCK_CODgram.obj" - -@erase "$(INTDIR)\SOCK_Connector.obj" - -@erase "$(INTDIR)\SOCK_Dgram.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Bcast.obj" - -@erase "$(INTDIR)\SOCK_Dgram_Mcast.obj" - -@erase "$(INTDIR)\SOCK_IO.obj" - -@erase "$(INTDIR)\SOCK_Stream.obj" - -@erase "$(INTDIR)\SPIPE.obj" - -@erase "$(INTDIR)\SPIPE_Acceptor.obj" - -@erase "$(INTDIR)\SPIPE_Addr.obj" - -@erase "$(INTDIR)\SPIPE_Connector.obj" - -@erase "$(INTDIR)\SPIPE_Stream.obj" - -@erase "$(INTDIR)\SString.obj" - -@erase "$(INTDIR)\Strategies.obj" - -@erase "$(INTDIR)\SV_Message.obj" - -@erase "$(INTDIR)\SV_Message_Queue.obj" - -@erase "$(INTDIR)\SV_Semaphore_Complex.obj" - -@erase "$(INTDIR)\SV_Semaphore_Simple.obj" - -@erase "$(INTDIR)\SV_Shared_Memory.obj" - -@erase "$(INTDIR)\Svc_Conf_l.obj" - -@erase "$(INTDIR)\Svc_Conf_y.obj" - -@erase "$(INTDIR)\Synch.obj" - -@erase "$(INTDIR)\Synch_Options.obj" - -@erase "$(INTDIR)\System_Time.obj" - -@erase "$(INTDIR)\Task.obj" - -@erase "$(INTDIR)\Thread.obj" - -@erase "$(INTDIR)\Thread_Manager.obj" - -@erase "$(INTDIR)\Time_Request_Reply.obj" - -@erase "$(INTDIR)\Timer_Queue.obj" - -@erase "$(INTDIR)\TLI.obj" - -@erase "$(INTDIR)\TLI_Acceptor.obj" - -@erase "$(INTDIR)\TLI_Connector.obj" - -@erase "$(INTDIR)\TLI_Stream.obj" - -@erase "$(INTDIR)\Token.obj" - -@erase "$(INTDIR)\Token_Collection.obj" - -@erase "$(INTDIR)\Token_Invariants.obj" - -@erase "$(INTDIR)\Token_Manager.obj" - -@erase "$(INTDIR)\Token_Request_Reply.obj" - -@erase "$(INTDIR)\Trace.obj" - -@erase "$(INTDIR)\TTY_IO.obj" - -@erase "$(INTDIR)\UNIX_Addr.obj" - -@erase "$(INTDIR)\UPIPE_Acceptor.obj" - -@erase "$(INTDIR)\UPIPE_Connector.obj" - -@erase "$(INTDIR)\UPIPE_Stream.obj" - -@erase "$(INTDIR)\WFMO_Reactor.obj" - -@erase "$(OUTDIR)\ace.dll" - -@erase "$(OUTDIR)\ace.exp" - -@erase "$(OUTDIR)\ace.lib" - -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /G5 /MD /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /YX /c -# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=1 /c -# SUBTRACT CPP /YX -CPP_PROJ=/nologo /G5 /MD /W3 /GX /O2 /I "..\STL" /D "NDEBUG" /D "WIN32" /D\ - "_WINDOWS" /D ACE_HAS_DLL=1 /Fo"$(INTDIR)/" /c -CPP_OBJS=.\DLL\Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /win32 -MTL_PROJ=/nologo /D "NDEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ACE dynamic library.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 advapi32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"ace.dll" -# ADD LINK32 advapi32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"ace.dll" -LINK32_FLAGS=advapi32.lib /nologo /subsystem:windows /dll /incremental:no\ - /pdb:"$(OUTDIR)/ace.pdb" /machine:I386 /out:"$(OUTDIR)/ace.dll"\ - /implib:"$(OUTDIR)/ace.lib" -LINK32_OBJS= \ - "$(INTDIR)\ACE.obj" \ - "$(INTDIR)\Activation_Queue.obj" \ - "$(INTDIR)\Addr.obj" \ - "$(INTDIR)\ARGV.obj" \ - "$(INTDIR)\Asynch_IO.obj" \ - "$(INTDIR)\Basic_Types.obj" \ - "$(INTDIR)\CORBA_Handler.obj" \ - "$(INTDIR)\Date_Time.obj" \ - "$(INTDIR)\DEV.obj" \ - "$(INTDIR)\DEV_Addr.obj" \ - "$(INTDIR)\DEV_Connector.obj" \ - "$(INTDIR)\DEV_IO.obj" \ - "$(INTDIR)\Dump.obj" \ - "$(INTDIR)\Dynamic.obj" \ - "$(INTDIR)\Event_Handler.obj" \ - "$(INTDIR)\FIFO.obj" \ - "$(INTDIR)\FIFO_Recv.obj" \ - "$(INTDIR)\FIFO_Recv_Msg.obj" \ - "$(INTDIR)\FIFO_Send.obj" \ - "$(INTDIR)\FIFO_Send_Msg.obj" \ - "$(INTDIR)\FILE.obj" \ - "$(INTDIR)\FILE_Addr.obj" \ - "$(INTDIR)\FILE_Connector.obj" \ - "$(INTDIR)\FILE_IO.obj" \ - "$(INTDIR)\Filecache.obj" \ - "$(INTDIR)\Get_Opt.obj" \ - "$(INTDIR)\Handle_Set.obj" \ - "$(INTDIR)\High_Res_Timer.obj" \ - "$(INTDIR)\INET_Addr.obj" \ - "$(INTDIR)\IO_Cntl_Msg.obj" \ - "$(INTDIR)\IO_SAP.obj" \ - "$(INTDIR)\IOStream.obj" \ - "$(INTDIR)\IPC_SAP.obj" \ - "$(INTDIR)\Local_Name_Space.obj" \ - "$(INTDIR)\Local_Tokens.obj" \ - "$(INTDIR)\Log_Msg.obj" \ - "$(INTDIR)\Log_Record.obj" \ - "$(INTDIR)\LSOCK.obj" \ - "$(INTDIR)\LSOCK_Acceptor.obj" \ - "$(INTDIR)\LSOCK_CODgram.obj" \ - "$(INTDIR)\LSOCK_Connector.obj" \ - "$(INTDIR)\LSOCK_Dgram.obj" \ - "$(INTDIR)\LSOCK_Stream.obj" \ - "$(INTDIR)\Malloc.obj" \ - "$(INTDIR)\Mem_Map.obj" \ - "$(INTDIR)\Memory_Pool.obj" \ - "$(INTDIR)\Message_Block.obj" \ - "$(INTDIR)\Method_Object.obj" \ - "$(INTDIR)\Multiplexor.obj" \ - "$(INTDIR)\Name_Proxy.obj" \ - "$(INTDIR)\Name_Request_Reply.obj" \ - "$(INTDIR)\Name_Space.obj" \ - "$(INTDIR)\Naming_Context.obj" \ - "$(INTDIR)\Object_Manager.obj" \ - "$(INTDIR)\Obstack.obj" \ - "$(INTDIR)\OS.obj" \ - "$(INTDIR)\Parse_Node.obj" \ - "$(INTDIR)\Pipe.obj" \ - "$(INTDIR)\Priority_Reactor.obj" \ - "$(INTDIR)\Proactor.obj" \ - "$(INTDIR)\Process.obj" \ - "$(INTDIR)\Process_Manager.obj" \ - "$(INTDIR)\Profile_Timer.obj" \ - "$(INTDIR)\Reactor.obj" \ - "$(INTDIR)\Read_Buffer.obj" \ - "$(INTDIR)\Registry.obj" \ - "$(INTDIR)\Registry_Name_Space.obj" \ - "$(INTDIR)\Remote_Name_Space.obj" \ - "$(INTDIR)\Remote_Tokens.obj" \ - "$(INTDIR)\Sched_Params.obj" \ - "$(INTDIR)\Select_Reactor.obj" \ - "$(INTDIR)\Service_Config.obj" \ - "$(INTDIR)\Service_Main.obj" \ - "$(INTDIR)\Service_Manager.obj" \ - "$(INTDIR)\Service_Object.obj" \ - "$(INTDIR)\Service_Repository.obj" \ - "$(INTDIR)\Service_Types.obj" \ - "$(INTDIR)\Shared_Memory_MM.obj" \ - "$(INTDIR)\Shared_Memory_SV.obj" \ - "$(INTDIR)\Shared_Object.obj" \ - "$(INTDIR)\Signal.obj" \ - "$(INTDIR)\SOCK.obj" \ - "$(INTDIR)\SOCK_Acceptor.obj" \ - "$(INTDIR)\SOCK_CODgram.obj" \ - "$(INTDIR)\SOCK_Connector.obj" \ - "$(INTDIR)\SOCK_Dgram.obj" \ - "$(INTDIR)\SOCK_Dgram_Bcast.obj" \ - "$(INTDIR)\SOCK_Dgram_Mcast.obj" \ - "$(INTDIR)\SOCK_IO.obj" \ - "$(INTDIR)\SOCK_Stream.obj" \ - "$(INTDIR)\SPIPE.obj" \ - "$(INTDIR)\SPIPE_Acceptor.obj" \ - "$(INTDIR)\SPIPE_Addr.obj" \ - "$(INTDIR)\SPIPE_Connector.obj" \ - "$(INTDIR)\SPIPE_Stream.obj" \ - "$(INTDIR)\SString.obj" \ - "$(INTDIR)\Strategies.obj" \ - "$(INTDIR)\SV_Message.obj" \ - "$(INTDIR)\SV_Message_Queue.obj" \ - "$(INTDIR)\SV_Semaphore_Complex.obj" \ - "$(INTDIR)\SV_Semaphore_Simple.obj" \ - "$(INTDIR)\SV_Shared_Memory.obj" \ - "$(INTDIR)\Svc_Conf_l.obj" \ - "$(INTDIR)\Svc_Conf_y.obj" \ - "$(INTDIR)\Synch.obj" \ - "$(INTDIR)\Synch_Options.obj" \ - "$(INTDIR)\System_Time.obj" \ - "$(INTDIR)\Task.obj" \ - "$(INTDIR)\Thread.obj" \ - "$(INTDIR)\Thread_Manager.obj" \ - "$(INTDIR)\Time_Request_Reply.obj" \ - "$(INTDIR)\Timer_Queue.obj" \ - "$(INTDIR)\TLI.obj" \ - "$(INTDIR)\TLI_Acceptor.obj" \ - "$(INTDIR)\TLI_Connector.obj" \ - "$(INTDIR)\TLI_Stream.obj" \ - "$(INTDIR)\Token.obj" \ - "$(INTDIR)\Token_Collection.obj" \ - "$(INTDIR)\Token_Invariants.obj" \ - "$(INTDIR)\Token_Manager.obj" \ - "$(INTDIR)\Token_Request_Reply.obj" \ - "$(INTDIR)\Trace.obj" \ - "$(INTDIR)\TTY_IO.obj" \ - "$(INTDIR)\UNIX_Addr.obj" \ - "$(INTDIR)\UPIPE_Acceptor.obj" \ - "$(INTDIR)\UPIPE_Connector.obj" \ - "$(INTDIR)\UPIPE_Stream.obj" \ - "$(INTDIR)\WFMO_Reactor.obj" - -"$(OUTDIR)\ace.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - -################################################################################ -# Begin Target - -# Name "ACE dynamic library - Win32 Debug" -# Name "ACE dynamic library - Win32 Unicode Debug" -# Name "ACE dynamic library - Win32 Unicode Release" -# Name "ACE dynamic library - Win32 Release" - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -!ENDIF - -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Stream.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Connector.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Acceptor.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UNIX_Addr.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TTY_IO.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Trace.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Request_Reply.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Manager.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Invariants.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Collection.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Stream.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Connector.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Acceptor.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Timer_Queue.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Time_Request_Reply.cpp -DEP_CPP_TIME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Request_Reply.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Thread_Manager.cpp -DEP_CPP_THREA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Thread.cpp -DEP_CPP_THREAD=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Task.cpp -DEP_CPP_TASK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\System_Time.cpp -DEP_CPP_SYSTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\System_Time.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Synch_Options.cpp -DEP_CPP_SYNCH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Synch.cpp -DEP_CPP_SYNCH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Svc_Conf_y.cpp -DEP_CPP_SVC_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Svc_Conf_l.cpp -DEP_CPP_SVC_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Shared_Memory.cpp -DEP_CPP_SV_SH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Semaphore_Simple.cpp -DEP_CPP_SV_SE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Semaphore_Complex.cpp -DEP_CPP_SV_SEM=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Message_Queue.cpp -DEP_CPP_SV_ME=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Message.h"\ - {$(INCLUDE)}"\.\SV_Message.i"\ - {$(INCLUDE)}"\.\SV_Message_Queue.h"\ - {$(INCLUDE)}"\.\SV_Message_Queue.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Message.cpp -DEP_CPP_SV_MES=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Message.h"\ - {$(INCLUDE)}"\.\SV_Message.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Strategies.cpp -DEP_CPP_STRAT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SString.cpp -DEP_CPP_SSTRI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Stream.cpp -DEP_CPP_SPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Connector.cpp -DEP_CPP_SPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Connector.h"\ - {$(INCLUDE)}"\.\SPIPE_Connector.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Addr.cpp -DEP_CPP_SPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Acceptor.cpp -DEP_CPP_SPIPE_AC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE.cpp -DEP_CPP_SPIPE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Stream.cpp -DEP_CPP_SOCK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_IO.cpp -DEP_CPP_SOCK_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram_Mcast.cpp -DEP_CPP_SOCK_D=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Mcast.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Mcast.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram_Bcast.cpp -DEP_CPP_SOCK_DG=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Bcast.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Bcast.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram.cpp -DEP_CPP_SOCK_DGR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Connector.cpp -DEP_CPP_SOCK_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_CODgram.cpp -DEP_CPP_SOCK_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_CODgram.h"\ - {$(INCLUDE)}"\.\SOCK_CODgram.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Acceptor.cpp -DEP_CPP_SOCK_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK.cpp -DEP_CPP_SOCK_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Signal.cpp -DEP_CPP_SIGNA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Object.cpp -DEP_CPP_SHARE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Memory_SV.cpp -DEP_CPP_SHARED=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Memory.h"\ - {$(INCLUDE)}"\.\Shared_Memory_SV.h"\ - {$(INCLUDE)}"\.\Shared_Memory_SV.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Memory_MM.cpp -DEP_CPP_SHARED_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Memory.h"\ - {$(INCLUDE)}"\.\Shared_Memory_MM.h"\ - {$(INCLUDE)}"\.\Shared_Memory_MM.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Repository.cpp -DEP_CPP_SERVI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Object.cpp -DEP_CPP_SERVIC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Manager.cpp -DEP_CPP_SERVICE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Main.cpp -DEP_CPP_SERVICE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Config.cpp -DEP_CPP_SERVICE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Sched_Params.cpp -DEP_CPP_SCHED=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Sched_Params.h"\ - {$(INCLUDE)}"\.\Sched_Params.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Remote_Tokens.cpp -DEP_CPP_REMOT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Remote_Tokens.h"\ - {$(INCLUDE)}"\.\Remote_Tokens.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Remote_Name_Space.cpp -DEP_CPP_REMOTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Remote_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Registry_Name_Space.cpp -DEP_CPP_REGIS=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\Registry_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Registry.cpp -DEP_CPP_REGIST=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Read_Buffer.cpp -DEP_CPP_READ_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Read_Buffer.h"\ - {$(INCLUDE)}"\.\Read_Buffer.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Reactor.cpp -DEP_CPP_REACT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Profile_Timer.cpp -DEP_CPP_PROFI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Profile_Timer.h"\ - {$(INCLUDE)}"\.\Profile_Timer.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Process_Manager.cpp -DEP_CPP_PROCE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Process_Manager.h"\ - {$(INCLUDE)}"\.\Process_Manager.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Process.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Process.cpp -DEP_CPP_PROCES=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Process.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Proactor.cpp -DEP_CPP_PROAC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Pipe.cpp -DEP_CPP_PIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Parse_Node.cpp -DEP_CPP_PARSE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\OS.cpp -DEP_CPP_OS_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Array.cpp"\ - {$(INCLUDE)}"\.\Array.h"\ - {$(INCLUDE)}"\.\Array.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Sched_Params.h"\ - {$(INCLUDE)}"\.\Sched_Params.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Obstack.cpp -DEP_CPP_OBSTA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Object_Manager.cpp -DEP_CPP_OBJEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Array.cpp"\ - {$(INCLUDE)}"\.\Array.h"\ - {$(INCLUDE)}"\.\Array.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Naming_Context.cpp -DEP_CPP_NAMIN=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Name_Space.h"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.cpp"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\Registry_Name_Space.h"\ - {$(INCLUDE)}"\.\Remote_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Space.cpp -DEP_CPP_NAME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Request_Reply.cpp -DEP_CPP_NAME_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Proxy.cpp -DEP_CPP_NAME_P=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Multiplexor.cpp -DEP_CPP_MULTI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Multiplexor.h"\ - {$(INCLUDE)}"\.\Multiplexor.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Method_Object.cpp -DEP_CPP_METHO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Method_Object.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Message_Block.cpp -DEP_CPP_MESSA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Memory_Pool.cpp -DEP_CPP_MEMOR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Mem_Map.cpp -DEP_CPP_MEM_M=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Malloc.cpp -DEP_CPP_MALLO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Stream.cpp -DEP_CPP_LSOCK=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Dgram.cpp -DEP_CPP_LSOCK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Dgram.h"\ - {$(INCLUDE)}"\.\LSOCK_Dgram.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Connector.cpp -DEP_CPP_LSOCK_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Connector.h"\ - {$(INCLUDE)}"\.\LSOCK_Connector.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_CODgram.cpp -DEP_CPP_LSOCK_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_CODgram.h"\ - {$(INCLUDE)}"\.\LSOCK_CODgram.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_CODgram.h"\ - {$(INCLUDE)}"\.\SOCK_CODgram.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Acceptor.cpp -DEP_CPP_LSOCK_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\LSOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK.cpp -DEP_CPP_LSOCK_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Log_Record.cpp -DEP_CPP_LOG_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Log_Msg.cpp -DEP_CPP_LOG_M=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Connector.h"\ - {$(INCLUDE)}"\.\SPIPE_Connector.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Local_Tokens.cpp -DEP_CPP_LOCAL=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Local_Name_Space.cpp -DEP_CPP_LOCAL_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Name_Space.h"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.cpp"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IPC_SAP.cpp -DEP_CPP_IPC_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IOStream.cpp -DEP_CPP_IOSTR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IOStream_T.cpp"\ - {$(INCLUDE)}"\.\IOStream_T.h"\ - {$(INCLUDE)}"\.\IOStream_T.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IO_SAP.cpp -DEP_CPP_IO_SA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IO_Cntl_Msg.cpp - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\INET_Addr.cpp -DEP_CPP_INET_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\High_Res_Timer.cpp -DEP_CPP_HIGH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Handle_Set.cpp -DEP_CPP_HANDL=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Get_Opt.cpp -DEP_CPP_GET_O=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Filecache.cpp -DEP_CPP_FILEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Filecache.h"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_IO.cpp -DEP_CPP_FILE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\FILE_IO.h"\ - {$(INCLUDE)}"\.\FILE_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_Connector.cpp -DEP_CPP_FILE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\FILE_Connector.h"\ - {$(INCLUDE)}"\.\FILE_Connector.i"\ - {$(INCLUDE)}"\.\FILE_IO.h"\ - {$(INCLUDE)}"\.\FILE_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_Addr.cpp -DEP_CPP_FILE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE.cpp -DEP_CPP_FILE_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Send_Msg.cpp -DEP_CPP_FIFO_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Send.h"\ - {$(INCLUDE)}"\.\FIFO_Send.i"\ - {$(INCLUDE)}"\.\FIFO_Send_Msg.h"\ - {$(INCLUDE)}"\.\FIFO_Send_Msg.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Send.cpp -DEP_CPP_FIFO_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Send.h"\ - {$(INCLUDE)}"\.\FIFO_Send.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Recv_Msg.cpp -DEP_CPP_FIFO_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Recv.h"\ - {$(INCLUDE)}"\.\FIFO_Recv.i"\ - {$(INCLUDE)}"\.\FIFO_Recv_Msg.h"\ - {$(INCLUDE)}"\.\FIFO_Recv_Msg.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Recv.cpp -DEP_CPP_FIFO_RE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Recv.h"\ - {$(INCLUDE)}"\.\FIFO_Recv.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO.cpp -DEP_CPP_FIFO_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Event_Handler.cpp -DEP_CPP_EVENT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Dynamic.cpp -DEP_CPP_DYNAM=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Dump.cpp -DEP_CPP_DUMP_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Dump.h"\ - {$(INCLUDE)}"\.\Dump_T.cpp"\ - {$(INCLUDE)}"\.\Dump_T.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_IO.cpp -DEP_CPP_DEV_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_Connector.cpp -DEP_CPP_DEV_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_Addr.cpp -DEP_CPP_DEV_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV.cpp -DEP_CPP_DEV_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Date_Time.cpp -DEP_CPP_DATE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Date_Time.h"\ - {$(INCLUDE)}"\.\Date_Time.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\CORBA_Handler.cpp -DEP_CPP_CORBA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\CORBA_Handler.h"\ - {$(INCLUDE)}"\.\CORBA_Handler.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Asynch_IO.cpp -DEP_CPP_ASYNC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\ARGV.cpp -DEP_CPP_ARGV_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Addr.cpp -DEP_CPP_ADDR_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Activation_Queue.cpp -DEP_CPP_ACTIV=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Activation_Queue.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Method_Object.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\ACE.cpp -DEP_CPP_ACE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Process.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Types.cpp -DEP_CPP_SERVICE_T=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Select_Reactor.cpp -DEP_CPP_SELEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\WFMO_Reactor.cpp -DEP_CPP_WFMO_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Priority_Reactor.cpp -DEP_CPP_PRIOR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Priority_Reactor.h"\ - {$(INCLUDE)}"\.\Priority_Reactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Basic_Types.cpp -DEP_CPP_BASIC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE dynamic library - Win32 Debug" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ENDIF - -# End Source File -# End Target -################################################################################ -# Begin Target - -# Name "ACE static library - Win32 Release" -# Name "ACE static library - Win32 Debug" -# Name "ACE static library - Win32 Unicode Debug" -# Name "ACE static library - Win32 Unicode Release" - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -!ENDIF - -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Stream.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_UPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_UPIPE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Connector.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_UPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.h"\ - {$(INCLUDE)}"\.\UPIPE_Connector.i"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_UPIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UPIPE_Acceptor.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_UPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\UPIPE_Acceptor.i"\ - {$(INCLUDE)}"\.\UPIPE_Addr.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.h"\ - {$(INCLUDE)}"\.\UPIPE_Stream.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\UPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_UPIPE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\UNIX_Addr.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_UNIX_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\UNIX_Addr.obj" : $(SOURCE) $(DEP_CPP_UNIX_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TTY_IO.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TTY_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\TTY_IO.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TTY_IO.obj" : $(SOURCE) $(DEP_CPP_TTY_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Trace.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TRACE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Trace.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Trace.obj" : $(SOURCE) $(DEP_CPP_TRACE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Request_Reply.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TOKEN=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TOKEN) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Manager.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TOKEN_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Manager.obj" : $(SOURCE) $(DEP_CPP_TOKEN_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Invariants.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TOKEN_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Invariants.h"\ - {$(INCLUDE)}"\.\Token_Invariants.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Invariants.obj" : $(SOURCE) $(DEP_CPP_TOKEN_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token_Collection.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TOKEN_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Collection.h"\ - {$(INCLUDE)}"\.\Token_Collection.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Token_Collection.obj" : $(SOURCE) $(DEP_CPP_TOKEN_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Token.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TOKEN_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Token.obj" : $(SOURCE) $(DEP_CPP_TOKEN_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Stream.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TLI_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Stream.obj" : $(SOURCE) $(DEP_CPP_TLI_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Connector.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TLI_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Connector.h"\ - {$(INCLUDE)}"\.\TLI_Connector.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Connector.obj" : $(SOURCE) $(DEP_CPP_TLI_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI_Acceptor.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TLI_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\TLI_Acceptor.h"\ - {$(INCLUDE)}"\.\TLI_Acceptor.i"\ - {$(INCLUDE)}"\.\TLI_Stream.h"\ - {$(INCLUDE)}"\.\TLI_Stream.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI_Acceptor.obj" : $(SOURCE) $(DEP_CPP_TLI_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\TLI.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TLI_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\TLI.h"\ - {$(INCLUDE)}"\.\TLI.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\TLI.obj" : $(SOURCE) $(DEP_CPP_TLI_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Timer_Queue.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TIMER=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Hash.h"\ - {$(INCLUDE)}"\.\Timer_Hash_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Hash_T.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Timer_Queue.obj" : $(SOURCE) $(DEP_CPP_TIMER) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Time_Request_Reply.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TIME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Request_Reply.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TIME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Request_Reply.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TIME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Request_Reply.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TIME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Request_Reply.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Time_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_TIME_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Thread_Manager.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_THREA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_THREA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_THREA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_THREA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Thread_Manager.obj" : $(SOURCE) $(DEP_CPP_THREA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Thread.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_THREAD=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_THREAD=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_THREAD=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_THREAD=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Thread.obj" : $(SOURCE) $(DEP_CPP_THREAD) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Task.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_TASK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_TASK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_TASK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_TASK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Task.obj" : $(SOURCE) $(DEP_CPP_TASK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\System_Time.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_SYSTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\System_Time.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_SYSTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\System_Time.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_SYSTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\System_Time.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_SYSTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\System_Time.h"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\System_Time.obj" : $(SOURCE) $(DEP_CPP_SYSTE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Synch_Options.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_SYNCH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_SYNCH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_SYNCH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_SYNCH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch_Options.obj" : $(SOURCE) $(DEP_CPP_SYNCH) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Synch.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_SYNCH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_SYNCH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_SYNCH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_SYNCH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Synch.obj" : $(SOURCE) $(DEP_CPP_SYNCH_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Svc_Conf_y.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_SVC_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_SVC_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_SVC_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_SVC_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_y.obj" : $(SOURCE) $(DEP_CPP_SVC_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Svc_Conf_l.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - -DEP_CPP_SVC_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.h"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - -DEP_CPP_SVC_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - -DEP_CPP_SVC_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - -DEP_CPP_SVC_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -"$(INTDIR)\Svc_Conf_l.obj" : $(SOURCE) $(DEP_CPP_SVC_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Shared_Memory.cpp -DEP_CPP_SV_SH=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Shared_Memory.obj" : $(SOURCE) $(DEP_CPP_SV_SH) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Semaphore_Simple.cpp -DEP_CPP_SV_SE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Semaphore_Simple.obj" : $(SOURCE) $(DEP_CPP_SV_SE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Semaphore_Complex.cpp -DEP_CPP_SV_SEM=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Semaphore_Complex.obj" : $(SOURCE) $(DEP_CPP_SV_SEM) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Message_Queue.cpp -DEP_CPP_SV_ME=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Message.h"\ - {$(INCLUDE)}"\.\SV_Message.i"\ - {$(INCLUDE)}"\.\SV_Message_Queue.h"\ - {$(INCLUDE)}"\.\SV_Message_Queue.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Message_Queue.obj" : $(SOURCE) $(DEP_CPP_SV_ME) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SV_Message.cpp -DEP_CPP_SV_MES=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Message.h"\ - {$(INCLUDE)}"\.\SV_Message.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SV_Message.obj" : $(SOURCE) $(DEP_CPP_SV_MES) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Strategies.cpp -DEP_CPP_STRAT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Strategies.obj" : $(SOURCE) $(DEP_CPP_STRAT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SString.cpp -DEP_CPP_SSTRI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SString.obj" : $(SOURCE) $(DEP_CPP_SSTRI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Stream.cpp -DEP_CPP_SPIPE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Stream.obj" : $(SOURCE) $(DEP_CPP_SPIPE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Connector.cpp -DEP_CPP_SPIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Connector.h"\ - {$(INCLUDE)}"\.\SPIPE_Connector.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Connector.obj" : $(SOURCE) $(DEP_CPP_SPIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Addr.cpp -DEP_CPP_SPIPE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Addr.obj" : $(SOURCE) $(DEP_CPP_SPIPE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE_Acceptor.cpp -DEP_CPP_SPIPE_AC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Acceptor.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SPIPE_AC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SPIPE.cpp -DEP_CPP_SPIPE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SPIPE.obj" : $(SOURCE) $(DEP_CPP_SPIPE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Stream.cpp -DEP_CPP_SOCK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_SOCK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_IO.cpp -DEP_CPP_SOCK_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_IO.obj" : $(SOURCE) $(DEP_CPP_SOCK_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram_Mcast.cpp -DEP_CPP_SOCK_D=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Mcast.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Mcast.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram_Mcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_D) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram_Bcast.cpp -DEP_CPP_SOCK_DG=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Bcast.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram_Bcast.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram_Bcast.obj" : $(SOURCE) $(DEP_CPP_SOCK_DG) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Dgram.cpp -DEP_CPP_SOCK_DGR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_DGR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Connector.cpp -DEP_CPP_SOCK_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_SOCK_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_CODgram.cpp -DEP_CPP_SOCK_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_CODgram.h"\ - {$(INCLUDE)}"\.\SOCK_CODgram.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_SOCK_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK_Acceptor.cpp -DEP_CPP_SOCK_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_SOCK_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\SOCK.cpp -DEP_CPP_SOCK_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\SOCK.obj" : $(SOURCE) $(DEP_CPP_SOCK_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Signal.cpp -DEP_CPP_SIGNA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Signal.obj" : $(SOURCE) $(DEP_CPP_SIGNA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Object.cpp -DEP_CPP_SHARE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Object.obj" : $(SOURCE) $(DEP_CPP_SHARE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Memory_SV.cpp -DEP_CPP_SHARED=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Memory.h"\ - {$(INCLUDE)}"\.\Shared_Memory_SV.h"\ - {$(INCLUDE)}"\.\Shared_Memory_SV.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.h"\ - {$(INCLUDE)}"\.\SV_Shared_Memory.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Memory_SV.obj" : $(SOURCE) $(DEP_CPP_SHARED) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Shared_Memory_MM.cpp -DEP_CPP_SHARED_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Shared_Memory.h"\ - {$(INCLUDE)}"\.\Shared_Memory_MM.h"\ - {$(INCLUDE)}"\.\Shared_Memory_MM.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Shared_Memory_MM.obj" : $(SOURCE) $(DEP_CPP_SHARED_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Repository.cpp -DEP_CPP_SERVI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Repository.obj" : $(SOURCE) $(DEP_CPP_SERVI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Object.cpp -DEP_CPP_SERVIC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Object.obj" : $(SOURCE) $(DEP_CPP_SERVIC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Manager.cpp -DEP_CPP_SERVICE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Manager.obj" : $(SOURCE) $(DEP_CPP_SERVICE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Main.cpp -DEP_CPP_SERVICE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Main.obj" : $(SOURCE) $(DEP_CPP_SERVICE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Config.cpp -DEP_CPP_SERVICE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf.h"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Config.obj" : $(SOURCE) $(DEP_CPP_SERVICE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Sched_Params.cpp -DEP_CPP_SCHED=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Sched_Params.h"\ - {$(INCLUDE)}"\.\Sched_Params.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Sched_Params.obj" : $(SOURCE) $(DEP_CPP_SCHED) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Remote_Tokens.cpp -DEP_CPP_REMOT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Remote_Tokens.h"\ - {$(INCLUDE)}"\.\Remote_Tokens.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\Singleton.cpp"\ - {$(INCLUDE)}"\.\Singleton.h"\ - {$(INCLUDE)}"\.\Singleton.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Request_Reply.h"\ - {$(INCLUDE)}"\.\Token_Request_Reply.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Remote_Tokens.obj" : $(SOURCE) $(DEP_CPP_REMOT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Remote_Name_Space.cpp -DEP_CPP_REMOTE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Remote_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Remote_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REMOTE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Registry_Name_Space.cpp -DEP_CPP_REGIS=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\Registry_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Registry_Name_Space.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Registry.cpp -DEP_CPP_REGIST=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Registry.obj" : $(SOURCE) $(DEP_CPP_REGIST) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Read_Buffer.cpp -DEP_CPP_READ_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Read_Buffer.h"\ - {$(INCLUDE)}"\.\Read_Buffer.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Read_Buffer.obj" : $(SOURCE) $(DEP_CPP_READ_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Reactor.cpp -DEP_CPP_REACT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Reactor.obj" : $(SOURCE) $(DEP_CPP_REACT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Profile_Timer.cpp -DEP_CPP_PROFI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Profile_Timer.h"\ - {$(INCLUDE)}"\.\Profile_Timer.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Profile_Timer.obj" : $(SOURCE) $(DEP_CPP_PROFI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Process_Manager.cpp -DEP_CPP_PROCE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Process_Manager.h"\ - {$(INCLUDE)}"\.\Process_Manager.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Process.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Process_Manager.obj" : $(SOURCE) $(DEP_CPP_PROCE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Process.cpp -DEP_CPP_PROCES=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Process.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Process.obj" : $(SOURCE) $(DEP_CPP_PROCES) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Proactor.cpp -DEP_CPP_PROAC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Proactor.obj" : $(SOURCE) $(DEP_CPP_PROAC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Pipe.cpp -DEP_CPP_PIPE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Pipe.obj" : $(SOURCE) $(DEP_CPP_PIPE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Parse_Node.cpp -DEP_CPP_PARSE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Parse_Node.h"\ - {$(INCLUDE)}"\.\Parse_Node.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Repository.h"\ - {$(INCLUDE)}"\.\Service_Repository.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Parse_Node.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\OS.cpp -DEP_CPP_OS_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Array.cpp"\ - {$(INCLUDE)}"\.\Array.h"\ - {$(INCLUDE)}"\.\Array.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Sched_Params.h"\ - {$(INCLUDE)}"\.\Sched_Params.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\OS.obj" : $(SOURCE) $(DEP_CPP_OS_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Obstack.cpp -DEP_CPP_OBSTA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\Obstack.h"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Obstack.obj" : $(SOURCE) $(DEP_CPP_OBSTA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Object_Manager.cpp -DEP_CPP_OBJEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Array.cpp"\ - {$(INCLUDE)}"\.\Array.h"\ - {$(INCLUDE)}"\.\Array.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Manager.h"\ - {$(INCLUDE)}"\.\Service_Manager.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Object_Manager.obj" : $(SOURCE) $(DEP_CPP_OBJEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Naming_Context.cpp -DEP_CPP_NAMIN=\ - "..\STL\algobase.h"\ - "..\STL\bool.h"\ - "..\STL\bstring.h"\ - "..\STL\defalloc.h"\ - "..\STL\function.h"\ - "..\STL\iterator.h"\ - "..\STL\pair.h"\ - "..\STL\vector.h"\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Name_Space.h"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.cpp"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Registry.h"\ - {$(INCLUDE)}"\.\Registry_Name_Space.h"\ - {$(INCLUDE)}"\.\Remote_Name_Space.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Naming_Context.obj" : $(SOURCE) $(DEP_CPP_NAMIN) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Space.cpp -DEP_CPP_NAME_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Space.obj" : $(SOURCE) $(DEP_CPP_NAME_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Request_Reply.cpp -DEP_CPP_NAME_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Request_Reply.obj" : $(SOURCE) $(DEP_CPP_NAME_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Name_Proxy.cpp -DEP_CPP_NAME_P=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Name_Proxy.obj" : $(SOURCE) $(DEP_CPP_NAME_P) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Multiplexor.cpp -DEP_CPP_MULTI=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Multiplexor.h"\ - {$(INCLUDE)}"\.\Multiplexor.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Multiplexor.obj" : $(SOURCE) $(DEP_CPP_MULTI) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Method_Object.cpp -DEP_CPP_METHO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Method_Object.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Method_Object.obj" : $(SOURCE) $(DEP_CPP_METHO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Message_Block.cpp -DEP_CPP_MESSA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Message_Block.obj" : $(SOURCE) $(DEP_CPP_MESSA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Memory_Pool.cpp -DEP_CPP_MEMOR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Memory_Pool.obj" : $(SOURCE) $(DEP_CPP_MEMOR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Mem_Map.cpp -DEP_CPP_MEM_M=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Mem_Map.obj" : $(SOURCE) $(DEP_CPP_MEM_M) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Malloc.cpp -DEP_CPP_MALLO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Stream.cpp -DEP_CPP_LSOCK=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Stream.obj" : $(SOURCE) $(DEP_CPP_LSOCK) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Dgram.cpp -DEP_CPP_LSOCK_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Dgram.h"\ - {$(INCLUDE)}"\.\LSOCK_Dgram.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Dgram.h"\ - {$(INCLUDE)}"\.\SOCK_Dgram.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Dgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Connector.cpp -DEP_CPP_LSOCK_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Connector.h"\ - {$(INCLUDE)}"\.\LSOCK_Connector.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Connector.obj" : $(SOURCE) $(DEP_CPP_LSOCK_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_CODgram.cpp -DEP_CPP_LSOCK_CO=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_CODgram.h"\ - {$(INCLUDE)}"\.\LSOCK_CODgram.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_CODgram.h"\ - {$(INCLUDE)}"\.\SOCK_CODgram.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_CODgram.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CO) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK_Acceptor.cpp -DEP_CPP_LSOCK_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\LSOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\LSOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\LSOCK_Stream.h"\ - {$(INCLUDE)}"\.\LSOCK_Stream.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.h"\ - {$(INCLUDE)}"\.\UNIX_Addr.i"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK_Acceptor.obj" : $(SOURCE) $(DEP_CPP_LSOCK_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LSOCK.cpp -DEP_CPP_LSOCK_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\LSOCK.h"\ - {$(INCLUDE)}"\.\LSOCK.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\LSOCK.obj" : $(SOURCE) $(DEP_CPP_LSOCK_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Log_Record.cpp -DEP_CPP_LOG_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Log_Record.obj" : $(SOURCE) $(DEP_CPP_LOG_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Log_Msg.cpp -DEP_CPP_LOG_M=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SPIPE.h"\ - {$(INCLUDE)}"\.\SPIPE.i"\ - {$(INCLUDE)}"\.\SPIPE_Addr.h"\ - {$(INCLUDE)}"\.\SPIPE_Addr.i"\ - {$(INCLUDE)}"\.\SPIPE_Connector.h"\ - {$(INCLUDE)}"\.\SPIPE_Connector.i"\ - {$(INCLUDE)}"\.\SPIPE_Stream.h"\ - {$(INCLUDE)}"\.\SPIPE_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Log_Msg.obj" : $(SOURCE) $(DEP_CPP_LOG_M) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Local_Tokens.cpp -DEP_CPP_LOCAL=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token_Manager.h"\ - {$(INCLUDE)}"\.\Token_Manager.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Local_Tokens.obj" : $(SOURCE) $(DEP_CPP_LOCAL) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Local_Name_Space.cpp -DEP_CPP_LOCAL_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Name_Space.h"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.cpp"\ - {$(INCLUDE)}"\.\Local_Name_Space_T.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Name_Proxy.h"\ - {$(INCLUDE)}"\.\Name_Request_Reply.h"\ - {$(INCLUDE)}"\.\Name_Space.h"\ - {$(INCLUDE)}"\.\Naming_Context.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Local_Name_Space.obj" : $(SOURCE) $(DEP_CPP_LOCAL_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IPC_SAP.cpp -DEP_CPP_IPC_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\IPC_SAP.obj" : $(SOURCE) $(DEP_CPP_IPC_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IOStream.cpp -DEP_CPP_IOSTR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IOStream_T.cpp"\ - {$(INCLUDE)}"\.\IOStream_T.h"\ - {$(INCLUDE)}"\.\IOStream_T.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\IOSTREAM.H"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\IOStream.obj" : $(SOURCE) $(DEP_CPP_IOSTR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IO_SAP.cpp -DEP_CPP_IO_SA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\IO_SAP.obj" : $(SOURCE) $(DEP_CPP_IO_SA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\IO_Cntl_Msg.cpp - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\IO_Cntl_Msg.obj" : $(SOURCE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\INET_Addr.cpp -DEP_CPP_INET_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\INET_Addr.obj" : $(SOURCE) $(DEP_CPP_INET_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\High_Res_Timer.cpp -DEP_CPP_HIGH_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\High_Res_Timer.obj" : $(SOURCE) $(DEP_CPP_HIGH_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Handle_Set.cpp -DEP_CPP_HANDL=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Handle_Set.obj" : $(SOURCE) $(DEP_CPP_HANDL) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Get_Opt.cpp -DEP_CPP_GET_O=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Get_Opt.h"\ - {$(INCLUDE)}"\.\Get_Opt.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Get_Opt.obj" : $(SOURCE) $(DEP_CPP_GET_O) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Filecache.cpp -DEP_CPP_FILEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Filecache.h"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Filecache.obj" : $(SOURCE) $(DEP_CPP_FILEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_IO.cpp -DEP_CPP_FILE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\FILE_IO.h"\ - {$(INCLUDE)}"\.\FILE_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_IO.obj" : $(SOURCE) $(DEP_CPP_FILE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_Connector.cpp -DEP_CPP_FILE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\FILE_Connector.h"\ - {$(INCLUDE)}"\.\FILE_Connector.i"\ - {$(INCLUDE)}"\.\FILE_IO.h"\ - {$(INCLUDE)}"\.\FILE_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_Connector.obj" : $(SOURCE) $(DEP_CPP_FILE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE_Addr.cpp -DEP_CPP_FILE_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FILE_Addr.obj" : $(SOURCE) $(DEP_CPP_FILE_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FILE.cpp -DEP_CPP_FILE_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FILE.h"\ - {$(INCLUDE)}"\.\FILE.i"\ - {$(INCLUDE)}"\.\FILE_Addr.h"\ - {$(INCLUDE)}"\.\FILE_Addr.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FILE.obj" : $(SOURCE) $(DEP_CPP_FILE_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Send_Msg.cpp -DEP_CPP_FIFO_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Send.h"\ - {$(INCLUDE)}"\.\FIFO_Send.i"\ - {$(INCLUDE)}"\.\FIFO_Send_Msg.h"\ - {$(INCLUDE)}"\.\FIFO_Send_Msg.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Send_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Send.cpp -DEP_CPP_FIFO_S=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Send.h"\ - {$(INCLUDE)}"\.\FIFO_Send.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Send.obj" : $(SOURCE) $(DEP_CPP_FIFO_S) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Recv_Msg.cpp -DEP_CPP_FIFO_R=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Recv.h"\ - {$(INCLUDE)}"\.\FIFO_Recv.i"\ - {$(INCLUDE)}"\.\FIFO_Recv_Msg.h"\ - {$(INCLUDE)}"\.\FIFO_Recv_Msg.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Recv_Msg.obj" : $(SOURCE) $(DEP_CPP_FIFO_R) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO_Recv.cpp -DEP_CPP_FIFO_RE=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\FIFO_Recv.h"\ - {$(INCLUDE)}"\.\FIFO_Recv.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO_Recv.obj" : $(SOURCE) $(DEP_CPP_FIFO_RE) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\FIFO.cpp -DEP_CPP_FIFO_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\FIFO.h"\ - {$(INCLUDE)}"\.\FIFO.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\FIFO.obj" : $(SOURCE) $(DEP_CPP_FIFO_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Event_Handler.cpp -DEP_CPP_EVENT=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Event_Handler.obj" : $(SOURCE) $(DEP_CPP_EVENT) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Dynamic.cpp -DEP_CPP_DYNAM=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Dynamic.h"\ - {$(INCLUDE)}"\.\Dynamic.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Dynamic.obj" : $(SOURCE) $(DEP_CPP_DYNAM) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Dump.cpp -DEP_CPP_DUMP_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Dump.h"\ - {$(INCLUDE)}"\.\Dump_T.cpp"\ - {$(INCLUDE)}"\.\Dump_T.h"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_IO.cpp -DEP_CPP_DEV_I=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_IO.obj" : $(SOURCE) $(DEP_CPP_DEV_I) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_Connector.cpp -DEP_CPP_DEV_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\DEV_Connector.h"\ - {$(INCLUDE)}"\.\DEV_Connector.i"\ - {$(INCLUDE)}"\.\DEV_IO.h"\ - {$(INCLUDE)}"\.\DEV_IO.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_Connector.obj" : $(SOURCE) $(DEP_CPP_DEV_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV_Addr.cpp -DEP_CPP_DEV_A=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\DEV_Addr.obj" : $(SOURCE) $(DEP_CPP_DEV_A) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\DEV.cpp -DEP_CPP_DEV_CP=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\DEV.h"\ - {$(INCLUDE)}"\.\DEV.i"\ - {$(INCLUDE)}"\.\DEV_Addr.h"\ - {$(INCLUDE)}"\.\DEV_Addr.i"\ - {$(INCLUDE)}"\.\IO_SAP.h"\ - {$(INCLUDE)}"\.\IO_SAP.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\DEV.obj" : $(SOURCE) $(DEP_CPP_DEV_CP) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Date_Time.cpp -DEP_CPP_DATE_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Date_Time.h"\ - {$(INCLUDE)}"\.\Date_Time.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Date_Time.obj" : $(SOURCE) $(DEP_CPP_DATE_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\CORBA_Handler.cpp -DEP_CPP_CORBA=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\CORBA_Handler.h"\ - {$(INCLUDE)}"\.\CORBA_Handler.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\CORBA_Handler.obj" : $(SOURCE) $(DEP_CPP_CORBA) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Asynch_IO.cpp -DEP_CPP_ASYNC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Asynch_IO.h"\ - {$(INCLUDE)}"\.\Asynch_IO.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\High_Res_Timer.h"\ - {$(INCLUDE)}"\.\High_Res_Timer.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Proactor.h"\ - {$(INCLUDE)}"\.\Proactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_List.h"\ - {$(INCLUDE)}"\.\Timer_List_T.cpp"\ - {$(INCLUDE)}"\.\Timer_List_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Timer_Wheel.h"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Wheel_T.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Asynch_IO.obj" : $(SOURCE) $(DEP_CPP_ASYNC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\ARGV.cpp -DEP_CPP_ARGV_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\ARGV.h"\ - {$(INCLUDE)}"\.\ARGV.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\ARGV.obj" : $(SOURCE) $(DEP_CPP_ARGV_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Addr.cpp -DEP_CPP_ADDR_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Addr.obj" : $(SOURCE) $(DEP_CPP_ADDR_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Activation_Queue.cpp -DEP_CPP_ACTIV=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Activation_Queue.h"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Method_Object.h"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Activation_Queue.obj" : $(SOURCE) $(DEP_CPP_ACTIV) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\ACE.cpp -DEP_CPP_ACE_C=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Process.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Process.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\ACE.obj" : $(SOURCE) $(DEP_CPP_ACE_C) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Service_Types.cpp -DEP_CPP_SERVICE_T=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Module.cpp"\ - {$(INCLUDE)}"\.\Module.h"\ - {$(INCLUDE)}"\.\Module.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\Stream.cpp"\ - {$(INCLUDE)}"\.\Stream.h"\ - {$(INCLUDE)}"\.\Stream.i"\ - {$(INCLUDE)}"\.\Stream_Modules.cpp"\ - {$(INCLUDE)}"\.\Stream_Modules.h"\ - {$(INCLUDE)}"\.\Stream_Modules.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Task.h"\ - {$(INCLUDE)}"\.\Task.i"\ - {$(INCLUDE)}"\.\Task_T.cpp"\ - {$(INCLUDE)}"\.\Task_T.h"\ - {$(INCLUDE)}"\.\Task_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Service_Types.obj" : $(SOURCE) $(DEP_CPP_SERVICE_T) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\WFMO_Reactor.cpp -DEP_CPP_WFMO_=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Hash_Map_Manager.h"\ - {$(INCLUDE)}"\.\IO_Cntl_Msg.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Message_Block.h"\ - {$(INCLUDE)}"\.\Message_Block.i"\ - {$(INCLUDE)}"\.\Message_Queue.cpp"\ - {$(INCLUDE)}"\.\Message_Queue.h"\ - {$(INCLUDE)}"\.\Message_Queue.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Service_Types.h"\ - {$(INCLUDE)}"\.\Service_Types.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\Strategies.h"\ - {$(INCLUDE)}"\.\Strategies_T.cpp"\ - {$(INCLUDE)}"\.\Strategies_T.h"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Thread_Manager.h"\ - {$(INCLUDE)}"\.\Thread_Manager.i"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.h"\ - {$(INCLUDE)}"\.\WFMO_Reactor.i"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\WFMO_Reactor.obj" : $(SOURCE) $(DEP_CPP_WFMO_) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Select_Reactor.cpp -DEP_CPP_SELEC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Addr.h"\ - {$(INCLUDE)}"\.\Addr.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\INET_Addr.h"\ - {$(INCLUDE)}"\.\INET_Addr.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\IPC_SAP.h"\ - {$(INCLUDE)}"\.\IPC_SAP.i"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SOCK.h"\ - {$(INCLUDE)}"\.\SOCK.i"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.h"\ - {$(INCLUDE)}"\.\SOCK_Acceptor.i"\ - {$(INCLUDE)}"\.\SOCK_Connector.h"\ - {$(INCLUDE)}"\.\SOCK_Connector.i"\ - {$(INCLUDE)}"\.\SOCK_IO.h"\ - {$(INCLUDE)}"\.\SOCK_IO.i"\ - {$(INCLUDE)}"\.\SOCK_Stream.h"\ - {$(INCLUDE)}"\.\SOCK_Stream.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Time_Value.h"\ - {$(INCLUDE)}"\.\Timer_Heap.h"\ - {$(INCLUDE)}"\.\Timer_Heap_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Heap_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Select_Reactor.obj" : $(SOURCE) $(DEP_CPP_SELEC) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Priority_Reactor.cpp -DEP_CPP_PRIOR=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Atomic_Op.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\Containers.cpp"\ - {$(INCLUDE)}"\.\Containers.h"\ - {$(INCLUDE)}"\.\Containers.i"\ - {$(INCLUDE)}"\.\Event_Handler.h"\ - {$(INCLUDE)}"\.\Event_Handler.i"\ - {$(INCLUDE)}"\.\Free_List.cpp"\ - {$(INCLUDE)}"\.\Free_List.h"\ - {$(INCLUDE)}"\.\Free_List.i"\ - {$(INCLUDE)}"\.\Handle_Set.h"\ - {$(INCLUDE)}"\.\Handle_Set.i"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Local_Tokens.h"\ - {$(INCLUDE)}"\.\Local_Tokens.i"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Malloc.i"\ - {$(INCLUDE)}"\.\Malloc_T.cpp"\ - {$(INCLUDE)}"\.\Malloc_T.h"\ - {$(INCLUDE)}"\.\Malloc_T.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Map_Manager.cpp"\ - {$(INCLUDE)}"\.\Map_Manager.h"\ - {$(INCLUDE)}"\.\Map_Manager.i"\ - {$(INCLUDE)}"\.\Mem_Map.h"\ - {$(INCLUDE)}"\.\Mem_Map.i"\ - {$(INCLUDE)}"\.\Memory_Pool.h"\ - {$(INCLUDE)}"\.\Memory_Pool.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\Pipe.h"\ - {$(INCLUDE)}"\.\Pipe.i"\ - {$(INCLUDE)}"\.\Priority_Reactor.h"\ - {$(INCLUDE)}"\.\Priority_Reactor.i"\ - {$(INCLUDE)}"\.\Reactor.h"\ - {$(INCLUDE)}"\.\Reactor.i"\ - {$(INCLUDE)}"\.\Reactor_Impl.h"\ - {$(INCLUDE)}"\.\Select_Reactor.h"\ - {$(INCLUDE)}"\.\Select_Reactor.i"\ - {$(INCLUDE)}"\.\Service_Config.h"\ - {$(INCLUDE)}"\.\Service_Config.i"\ - {$(INCLUDE)}"\.\Service_Object.h"\ - {$(INCLUDE)}"\.\Service_Object.i"\ - {$(INCLUDE)}"\.\Shared_Object.h"\ - {$(INCLUDE)}"\.\Shared_Object.i"\ - {$(INCLUDE)}"\.\Signal.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Complex.i"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.h"\ - {$(INCLUDE)}"\.\SV_Semaphore_Simple.i"\ - {$(INCLUDE)}"\.\Svc_Conf_Tokens.h"\ - {$(INCLUDE)}"\.\Synch.h"\ - {$(INCLUDE)}"\.\Synch.i"\ - {$(INCLUDE)}"\.\Synch_Options.h"\ - {$(INCLUDE)}"\.\Synch_T.cpp"\ - {$(INCLUDE)}"\.\Synch_T.h"\ - {$(INCLUDE)}"\.\Synch_T.i"\ - {$(INCLUDE)}"\.\Thread.h"\ - {$(INCLUDE)}"\.\Thread.i"\ - {$(INCLUDE)}"\.\Timer_Queue.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.cpp"\ - {$(INCLUDE)}"\.\Timer_Queue_T.h"\ - {$(INCLUDE)}"\.\Timer_Queue_T.i"\ - {$(INCLUDE)}"\.\Token.h"\ - {$(INCLUDE)}"\.\Token.i"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - {$(INCLUDE)}"\E\Malloc.h"\ - {$(INCLUDE)}"\E\Signal.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Priority_Reactor.obj" : $(SOURCE) $(DEP_CPP_PRIOR) "$(INTDIR)" - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\Basic_Types.cpp -DEP_CPP_BASIC=\ - {$(INCLUDE)}"\.\ACE.h"\ - {$(INCLUDE)}"\.\ACE.i"\ - {$(INCLUDE)}"\.\Auto_Ptr.cpp"\ - {$(INCLUDE)}"\.\Auto_Ptr.h"\ - {$(INCLUDE)}"\.\Auto_Ptr.i"\ - {$(INCLUDE)}"\.\Basic_Types.h"\ - {$(INCLUDE)}"\.\Basic_Types.i"\ - {$(INCLUDE)}"\.\config-win32-common.h"\ - {$(INCLUDE)}"\.\config-win32.h"\ - {$(INCLUDE)}"\.\config.h"\ - {$(INCLUDE)}"\.\iosfwd.h"\ - {$(INCLUDE)}"\.\Log_Msg.h"\ - {$(INCLUDE)}"\.\Log_Priority.h"\ - {$(INCLUDE)}"\.\Log_Record.h"\ - {$(INCLUDE)}"\.\Log_Record.i"\ - {$(INCLUDE)}"\.\Managed_Object.cpp"\ - {$(INCLUDE)}"\.\Managed_Object.h"\ - {$(INCLUDE)}"\.\Managed_Object.i"\ - {$(INCLUDE)}"\.\Object_Manager.h"\ - {$(INCLUDE)}"\.\Object_Manager.i"\ - {$(INCLUDE)}"\.\OS.h"\ - {$(INCLUDE)}"\.\OS.i"\ - {$(INCLUDE)}"\.\SString.h"\ - {$(INCLUDE)}"\.\SString.i"\ - {$(INCLUDE)}"\.\streams.h"\ - {$(INCLUDE)}"\.\Trace.h"\ - {$(INCLUDE)}"\.\Version.h"\ - {$(INCLUDE)}"\.\ws2tcpip.h"\ - - -!IF "$(CFG)" == "ACE static library - Win32 Release" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Debug" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Debug" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ELSEIF "$(CFG)" == "ACE static library - Win32 Unicode Release" - - -"$(INTDIR)\Basic_Types.obj" : $(SOURCE) $(DEP_CPP_BASIC) "$(INTDIR)" - - -!ENDIF - -# End Source File -# End Target -# End Project -################################################################################ diff --git a/ace/ACE_Library.mdp b/ace/ACE_Library.mdp deleted file mode 100644 index 09090038031..00000000000 Binary files a/ace/ACE_Library.mdp and /dev/null differ diff --git a/ace/ARGV.cpp b/ace/ARGV.cpp deleted file mode 100644 index 76ed3b856a1..00000000000 --- a/ace/ARGV.cpp +++ /dev/null @@ -1,344 +0,0 @@ -// ARGV.cpp -// $Id$ - -// Transforms a string BUF into an ARGV-style vector of strings. - -#define ACE_BUILD_DLL -#include "ace/ARGV.h" - -#if !defined (__ACE_INLINE__) -#include "ace/ARGV.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE (ACE_ARGV) - -void -ACE_ARGV::dump (void) const -{ - ACE_TRACE ("ACE_ARGV::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "argc_ = %d", this->argc_)); - - for (size_t i = 0; i < this->argc_; i++) - ACE_DEBUG ((LM_DEBUG, "\nargv_[%i] = %s", i, this->argv_[i])); - - ACE_DEBUG ((LM_DEBUG, "\nbuf = %s\n", this->buf_)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Creates this->argv_ out of this->buf_. New memory is allocated for -// each element of the array. This is used by the array-to-string -// style constructor and for creating this->argv_ when in iterative -// mode. - -void -ACE_ARGV::string_to_array (void) -{ - ACE_TRACE ("ACE_ARGV::string_to_array"); - - // Reset the number of arguments - this->argc_ = 0; - - if (this->buf_ == 0) - return; - - char *cp = this->buf_; - - // First pass: count arguments. - - // '#' is the start-comment token.. - while (*cp != '\0' && *cp != '#') - { - // Skip whitespace.. - while (isspace (*cp)) - cp++; - - // Increment count and move to next whitespace.. - if (*cp != '\0') - this->argc_++; - - // Grok quotes.... - if (*cp == '\'' || *cp == '"') - { - char quote = *cp; - - // Scan past the string.. - for (cp++; *cp != '\0' && *cp != quote; cp++) - continue; - - // '\0' implies unmatched quote.. - if (*cp == '\0') - { - ACE_ERROR ((LM_ERROR, - "unmatched %c detected\n", quote)); - this->argc_--; - break; - } - else - cp++; - } - else // Skip over non-whitespace.... - while (*cp != '\0' && !isspace (*cp)) - cp++; - } - - // Second pass: copy arguments.. - char arg[BUFSIZ]; - - // Make a new argv vector of argc + 1 elements. - ACE_NEW (this->argv_, char *[this->argc_ + 1]); - - char *ptr = this->buf_; - - for (size_t i = 0; i < this->argc_; i++) - { - // Skip whitespace.. - while (isspace (*ptr)) - ptr++; - - // Copy next argument and move to next whitespace.. - if (*ptr == '\'' || *ptr == '"') - { - char quote = *ptr++; - - for (cp = arg; - *ptr != '\0' && *ptr != quote; - ptr++, cp++) - if (unsigned (cp - arg) < sizeof arg) - *cp = *ptr; - - *cp = '\0'; - if (*ptr == quote) - ptr++; - } - else - { - for (cp = arg; - *ptr && !isspace (*ptr); - ptr++, cp++) - if (unsigned (cp - arg) < sizeof arg) - *cp = *ptr; - *cp = '\0'; - } - - // Check for environment variable substitution here. - if (this->substitute_env_args_) - ACE_ALLOCATOR (this->argv_[i], - ACE::strenvdup (arg)); - else - ACE_ALLOCATOR (this->argv_[i], - ACE_OS::strdup (arg)); - } - - this->argv_[this->argc_] = 0; -} - - -ACE_ARGV::ACE_ARGV (const char buf[], - int substitute_env_args) - : substitute_env_args_ (substitute_env_args), - state_ (TO_PTR_ARRAY), - argc_ (0), - argv_ (0), - buf_ (0), - length_ (0) -{ - ACE_TRACE ("ACE_ARGV::ACE_ARGV char[] to char *[]"); - - if (buf == 0 || buf[0] == 0) - return; - - // Make an internal copy of the string - ACE_NEW (this->buf_, char[ACE_OS::strlen (buf) + 1]); - ACE_OS::strcpy (this->buf_, buf); - - // Create this->argv_ - this->string_to_array (); -} - -ACE_ARGV::ACE_ARGV (char *argv[], - int substitute_env_args) - : substitute_env_args_ (substitute_env_args), - state_ (TO_STRING), - argc_ (0), - argv_ (0), - buf_ (0), - length_ (0) -{ - ACE_TRACE ("ACE_ARGV::ACE_ARGV char*[] to char[]"); - - if (argv == 0 || argv[0] == 0) - return; - - int buf_len = 0; - - // Determine the length of the buffer. - - for (int i = 0; argv[i] != 0; i++) - { - char *temp; - - // Account for environment variables. - if (this->substitute_env_args_ - && (argv[i][0] == '$' - && (temp = ACE_OS::getenv (&argv[i][1])) != 0)) - buf_len += ACE_OS::strlen (temp); - else - buf_len += ACE_OS::strlen (argv[i]); - - // Add one for the extra space between each string. - buf_len++; - } - - // Step through all argv params and copy each one into buf; separate - // each param with white space. - - ACE_NEW (this->buf_, char[buf_len + 1]); - - char *end = this->buf_; - int j; - - for (j = 0; argv[j] != 0; j++) - { - char *temp; - - // Account for environment variables. - if (this->substitute_env_args_ - && (argv[j][0] == '$' - && (temp = ACE_OS::getenv (&argv[j][1])) != 0)) - end = ACE::strecpy (end, temp); - else - end = ACE::strecpy (end, argv[j]); - - // Add white space and advance the pointer. - *end++ = ' '; - } - - // Remember how many arguments there are - this->argc_ = j; - - // Null terminate the string. - *end = '\0'; -} - -ACE_ARGV::ACE_ARGV (int substitute_env_args) - : substitute_env_args_ (substitute_env_args), - state_ (ITERATIVE), - argc_ (0), - argv_ (0), - buf_ (0), - length_ (0) -{ - ACE_TRACE ("ACE_ARGV::ACE_ARGV Iterative"); - - // Nothing to do yet -- the user puts in arguments via add () -} - -int -ACE_ARGV::add (const char *next_arg) -{ - // Only allow this to work in the "iterative" verion -- the - // ACE_ARGVs created with the one argument constructor. - if (this->state_ != ITERATIVE) - return -1; - - // Put the new argument at the end of the queue - if (this->queue_.enqueue_tail ((char *) next_arg) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "Can't add more to ARGV queue"), -1); - - this->length_ += ACE_OS::strlen (next_arg); - - this->argc_++; - - // Wipe argv_ and buf_ away so that they will be recreated if the - // user calls argv () or buf (). - if (this->argv_ != 0) - { - for (int i = 0; this->argv_[i] != 0; i++) - ACE_OS::free ((void *) this->argv_[i]); - - delete [] this->argv_; - this->argv_ = 0; - } - - delete [] this->buf_; - this->buf_ = 0; - - return 0; -} - -// Free up argv_ and buf_ - -ACE_ARGV::~ACE_ARGV (void) -{ - ACE_TRACE ("ACE_ARGV::~ACE_ARGV"); - - if (this->argv_ != 0) - for (int i = 0; this->argv_[i] != 0; i++) - ACE_OS::free ((void *) this->argv_[i]); - - delete [] this->argv_; - delete [] this->buf_; -} - -// Create buf_ out of the queue_. This is only used in the -// "iterative" mode. - -int -ACE_ARGV::create_buf_from_queue (void) -{ - ACE_TRACE ("ACE_ARGV::create_buf_from_queue"); - - // If the are no arguments, don't do anything - if (this->argc_ <= 0) - return -1; - - delete [] this->buf_; - - ACE_NEW_RETURN (this->buf_, char[this->length_ + this->argc_], -1); - - // Get an iterator over the queue - ACE_Unbounded_Queue_Iterator iter (this->queue_); - - char **arg; - char *ptr = this->buf_; - size_t len; - int more = 0; - - while (!iter.done ()) - { - // Get next argument from the queue - iter.next (arg); - - more = iter.advance (); - - len = ACE_OS::strlen (*arg); - - // Copy the argument into buf_ - ACE_OS::memcpy ((void *) ptr, (const void *) (*arg), len); - - // Move the pointer down - ptr += len; - - // Put in an argument separating space - if (more != 0) - *ptr++ = ' '; - } - - // Put in the null terminator - *ptr = 0; - - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Unbounded_Queue; -template class ACE_Unbounded_Queue_Iterator; -template class ACE_Node; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Unbounded_Queue -#pragma instantiate ACE_Unbounded_Queue_Iterator -#pragma instantiate ACE_Node -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ace/ARGV.h b/ace/ARGV.h deleted file mode 100644 index d64263ec960..00000000000 --- a/ace/ARGV.h +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// ARGV.h -// -// = AUTHOR -// Doug Schmidt, Everett Anderson -// -// ============================================================================ - -#if !defined (ACE_ARGUMENT_VECTOR_H) -#define ACE_ARGUMENT_VECTOR_H - -#include "ace/ACE.h" -#include "ace/Containers.h" - -class ACE_Export ACE_ARGV -{ - // = TITLE - // Transforms a string into an style vector of - // strings or an style vector of string , performing - // environment variable substitutions if necessary. -public: - // = Initialization and termination. - ACE_ARGV (const char buf[], int substitute_env_args = 1); - // Converts into an -style vector of strings. If - // is enabled then we'll substitute the - // environment variables for each $ENV encountered in the string. - // The subscript and argv() operations are not allowed on an - // ACE_ARGV created this way. - - ACE_ARGV (char *argv[], int substitute_env_args = 1); - // Converts into a linear string. If - // is enabled then we'll substitute the environment variables for - // each $ENV encountered in the string. - // The buf() operation is not allowed on an ACE_ARGV created - // this way. - - ACE_ARGV (int substitute_env_args = 1); - // Entry point for creating an char *[] command line iteratively - // via the add() method. The argv() and buf() method calls are - // allowed, and the result is recreated when called multiple times. - // The subscript operator is not allowed. - - ~ACE_ARGV (void); - // Destructor. - - // = Accessor arguments. - const char *operator[] (size_t index); - // Returns the th string in the ARGV array. - - char **argv (void); - // Returns the array. Caller should not delete this memory - // since the destructor will delete it. If the caller modifies - // the array in the iterative mode, the changes are not saved to the - // queue. - - size_t argc (void) const; - // Returns . - - const char *buf (void); - // Returns the . Caller should not delete this memory since - // the destructor will delete it. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - int add (const char *next_arg); - // Add another argument. This only works in the ITERATIVE state. - - int state (void) const; - // What state is this ACE_ARGV in? - - // These are the states possible via the different constructors. - enum States - { - TO_STRING = 1, - // ACE_ARGV converts buf[] to char *argv[] - TO_PTR_ARRAY = 2, - // ACE_ARGV converts char *argv[] to buf[] - ITERATIVE = 3 - // Builds buf[] or char *argv[] iteratively with add() - }; - -private: - - int create_buf_from_queue (void); - // Creates buf_ from the queue, deletes previous buf_. - - void string_to_array (void); - // Converts buf_ into the char *argv[] format. - - int substitute_env_args_; - // Replace args with environment variable values? - - int state_; - // Current state marker. - - size_t argc_; - // Number of arguments in the ARGV array. - - char **argv_; - // The array of string arguments. - - char *buf_; - // Buffer containing the contents. - - size_t length_; - // Total length of the arguments in the queue, not counting - // separating spaces - - ACE_Unbounded_Queue queue_; - // Queue which keeps user supplied arguments. This is only - // active in the "iterative" mode. -}; - -#if defined (__ACE_INLINE__) -#include "ace/ARGV.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_ARGUMENT_VECTOR_H */ diff --git a/ace/ARGV.i b/ace/ARGV.i deleted file mode 100644 index 0bf928c54b8..00000000000 --- a/ace/ARGV.i +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ARGV.i - -// Return the number of args -ACE_INLINE size_t -ACE_ARGV::argc (void) const -{ - ACE_TRACE ("ACE_ARGV::argc"); - return this->argc_; -} - -// Return the state of this ACE_ARGV -ACE_INLINE int -ACE_ARGV::state(void) const -{ - ACE_TRACE ("ACE_ARGV::state"); - return this->state_; -} - -// Return the arguments in a space-separated string -ACE_INLINE const char * -ACE_ARGV::buf (void) -{ - ACE_TRACE ("ACE_ARGV::buf"); - - if (this->buf_ == 0 && this->state_ == ITERATIVE) - this->create_buf_from_queue(); - - return (const char *)this->buf_; -} - -// Return the arguments in an entry-per-argument array -ACE_INLINE char ** -ACE_ARGV::argv (void) -{ - ACE_TRACE ("ACE_ARGV::argv"); - - // Try to create the argv_ if it isn't there - if (this->argv_ == 0) { - - if (this->state_ == ITERATIVE && this->buf_ == 0) - this->create_buf_from_queue(); - - // Convert buf_ to argv_ - this->string_to_array(); - } - - return this->argv_; -} - -// Subscript operator. -ACE_INLINE const char * -ACE_ARGV::operator[] (size_t i) -{ - ACE_TRACE ("ACE_ARGV::operator[]"); - - // Don't go out of bounds - if (i >= this->argc_) - return 0; - - return (const char *)(this->argv()[i]); -} - - - diff --git a/ace/Acceptor.cpp b/ace/Acceptor.cpp deleted file mode 100644 index f4ca1897623..00000000000 --- a/ace/Acceptor.cpp +++ /dev/null @@ -1,1037 +0,0 @@ -// Acceptor.cpp -// $Id$ - -#if !defined (ACE_ACCEPTOR_C) -#define ACE_ACCEPTOR_C - -#define ACE_BUILD_DLL -#include "ace/ACE.h" -#include "ace/Acceptor.h" -#include "ace/Handle_Set.h" -#include "ace/WFMO_Reactor.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_Acceptor) - -template void -ACE_Acceptor::dump (void) const -{ - ACE_TRACE ("ACE_Acceptor::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->peer_acceptor_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Acceptor::operator ACE_PEER_ACCEPTOR & () const -{ - ACE_TRACE ("ACE_Acceptor::operator ACE_PEER_ACCEPTOR &"); - return (ACE_PEER_ACCEPTOR &) this->peer_acceptor_; -} - -template ACE_PEER_ACCEPTOR & -ACE_Acceptor::acceptor (void) const -{ - ACE_TRACE ("ACE_Acceptor::acceptor"); - return (ACE_PEER_ACCEPTOR &) this->peer_acceptor_; -} - -// Returns ACE_HANDLE of the underlying Acceptor_Strategy. - -template ACE_HANDLE -ACE_Acceptor::get_handle (void) const -{ - ACE_TRACE ("ACE_Acceptor::get_handle"); - return this->peer_acceptor_.get_handle (); -} - -// Initialize the appropriate strategies for creation, passive -// connection acceptance, and concurrency, and then register -// with the Reactor and listen for connection requests at the -// designated . - -template int -ACE_Acceptor::open - (const ACE_PEER_ACCEPTOR_ADDR &local_addr, - ACE_Reactor *reactor, - int flags) -{ - ACE_TRACE ("ACE_Acceptor::open"); - this->reactor (reactor); - this->flags_ = flags; - - // Must supply a valid Reactor to Acceptor::open()... - - if (reactor == 0) - { - errno = EINVAL; - return -1; - } - - if (this->peer_acceptor_.open (local_addr, 1) == -1) - return -1; - - return this->reactor ()->register_handler - (this, ACE_Event_Handler::ACCEPT_MASK); -} - -// Simple constructor. - -template -ACE_Acceptor::ACE_Acceptor (ACE_Reactor *reactor) -{ - ACE_TRACE ("ACE_Acceptor::ACE_Acceptor"); - - this->reactor (reactor); -} - -template -ACE_Acceptor::ACE_Acceptor - (const ACE_PEER_ACCEPTOR_ADDR &addr, - ACE_Reactor *reactor, - int flags) -{ - ACE_TRACE ("ACE_Acceptor::ACE_Acceptor"); - if (this->open (addr, reactor, flags) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Acceptor::ACE_Acceptor")); -} - -template -ACE_Acceptor::~ACE_Acceptor (void) -{ - ACE_TRACE ("ACE_Acceptor::~ACE_Acceptor"); - this->handle_close (); -} - -template int -ACE_Acceptor::fini (void) -{ - ACE_TRACE ("ACE_Acceptor::fini"); - return ACE_Acceptor::handle_close (); -} - -// Hook called by the explicit dynamic linking facility. - -template int -ACE_Acceptor::init (int, char *[]) -{ - ACE_TRACE ("ACE_Acceptor::init"); - return -1; -} - -template int -ACE_Acceptor::info (char **strp, - size_t length) const -{ - ACE_TRACE ("ACE_Acceptor::info"); - char buf[BUFSIZ]; - char addr_str[BUFSIZ]; - ACE_PEER_ACCEPTOR_ADDR addr; - - if (this->acceptor ().get_local_addr (addr) == -1) - return -1; - else if (addr.addr_to_string (addr_str, sizeof addr_str) == -1) - return -1; - - ACE_OS::sprintf (buf, "%s\t %s %s", - "ACE_Acceptor", - addr_str, - "# acceptor factory\n"); - - if (*strp == 0 && (*strp = ACE_OS::strdup (buf)) == 0) - return -1; - else - ACE_OS::strncpy (*strp, buf, length); - return ACE_OS::strlen (buf); -} - -template int -ACE_Acceptor::suspend (void) -{ - ACE_TRACE ("ACE_Acceptor::suspend"); - return this->reactor ()->suspend_handler (this); -} - -template int -ACE_Acceptor::resume (void) -{ - ACE_TRACE ("ACE_Acceptor::resume"); - return this->reactor ()->resume_handler (this); -} - -// Perform termination activities when is removed from the -// . - -template int -ACE_Acceptor::close (void) -{ - ACE_TRACE ("ACE_Acceptor::close"); - return this->handle_close (); -} - -template int -ACE_Acceptor::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - ACE_TRACE ("ACE_Acceptor::handle_close"); - // Guard against multiple closes. - if (this->reactor () != 0) - { - ACE_HANDLE handle = this->get_handle (); - - this->reactor_->remove_handler - (handle, - ACE_Event_Handler::ACCEPT_MASK | ACE_Event_Handler::DONT_CALL); - - // Shut down the listen socket to recycle the handles. - if (this->peer_acceptor_.close () == -1) - ACE_ERROR ((LM_ERROR, "close\n")); - - // Set the Reactor to 0 so that we don't try to close down - // again. - this->reactor (0); - } - return 0; -} - -// Bridge method for creating a SVC_HANDLER. The strategy for -// creating a SVC_HANDLER are configured into the Acceptor via it's -// . The default is to create a new SVC_HANDLER. -// However, subclasses can override this strategy to perform -// SVC_HANDLER creation in any way that they like (such as creating -// subclass instances of SVC_HANDLER, using a singleton, dynamically -// linking the handler, etc.). - -template int -ACE_Acceptor::make_svc_handler (SVC_HANDLER *&sh) -{ - ACE_TRACE ("ACE_Acceptor::make_svc_handler"); - if (sh == 0) - ACE_NEW_RETURN (sh, SVC_HANDLER, -1); - return 0; -} - -// Bridge method for accepting the new connection into the -// . The default behavior delegates to the -// PEER_ACCEPTOR::accept() in the Acceptor_Strategy. - -template int -ACE_Acceptor::accept_svc_handler - (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Acceptor::accept_svc_handler"); - - // Try to find out if the implementation of the reactor that we are - // using requires us to reset the event association for the newly - // created handle. This is because the newly created handle will - // inherit the properties of the listen handle, including its event - // associations. - int reset_new_handle = this->reactor ()->uses_event_associations (); - - if (this->peer_acceptor_.accept (svc_handler->peer (), // stream - 0, // remote address - 0, // timeout - 1, // restart - reset_new_handle // reset new handler - ) == -1) - { - // Close down handler to avoid memory leaks. - svc_handler->close (0); - return -1; - } - else - return 0; -} - -// Bridge method for activating a with the appropriate -// concurrency strategy. The default behavior of this method is to -// activate the SVC_HANDLER 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 (such as creating the SVC_HANDLER as an -// "active object" via multi-threading or multi-processing). - -template int -ACE_Acceptor::activate_svc_handler - (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Acceptor::activate_svc_handler"); - - int result = 0; - - // See if we should enable non-blocking I/O on the 's - // peer. - if (ACE_BIT_ENABLED (this->flags_, ACE_NONBLOCK)) - { - if (svc_handler->peer ().enable (ACE_NONBLOCK) == -1) - result = -1; - } - // Otherwise, make sure it's disabled by default. - else if (svc_handler->peer ().disable (ACE_NONBLOCK) == -1) - result = -1; - - if (result == 0 && svc_handler->open ((void *) this) == -1) - result = -1; - - if (result == -1) - svc_handler->close (0); - - return result; -} - -// Template Method that makes a SVC_HANDLER (using the appropriate -// creation strategy), accept the connection into the SVC_HANDLER, and -// then activate the SVC_HANDLER. - -template int -ACE_Acceptor::handle_input (ACE_HANDLE listener) -{ - ACE_TRACE ("ACE_Acceptor::handle_input"); - ACE_Handle_Set conn_handle; - - // Default is "timeout (0, 0)," which means "poll." - ACE_Time_Value timeout; - - // Accept connections from clients. Note that a loop is used for two - // reasons: - // - // 1. It allows us to accept all pending connections without an - // extra trip through the ACE_Reactor and without having to use - // non-blocking I/O... - // - // 2. It allows the TLI_SAP::ACE_Acceptor class to work correctly (don't - // ask -- TLI is *horrible*...). - - // @@ What should we do if any of the substrategies fail? Right - // now, we just log an error message and return 0 (which means that - // the Acceptor remains registered with the Reactor)... - do - { - // Create a service handler, using the appropriate creation - // strategy. - - SVC_HANDLER *svc_handler = 0; - - if (this->make_svc_handler (svc_handler) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "make_svc_handler"), 0); - - // Accept connection into the Svc_Handler. - - else if (this->accept_svc_handler (svc_handler) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "accept_svc_handler"), 0); - - // Activate the using the designated concurrency - // strategy (note that this method becomes responsible for - // handling errors and freeing up the memory if things go - // awry...). - - else if (this->activate_svc_handler (svc_handler) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "activate_svc_handler"), 0); - - conn_handle.set_bit (listener); - } - // Now, check to see if there is another connection pending and - // break out of the loop if there is none. - while (ACE_OS::select (int (listener) + 1, conn_handle, 0, 0, &timeout) == 1); - return 0; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Strategy_Acceptor) - -template int -ACE_Strategy_Acceptor::suspend (void) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::suspend"); - - // First suspend the SVC_HANDLER's we've created. - if (this->scheduling_strategy_->suspend () == -1) - return -1; - else // Then suspend ourselves. - return ACE_Acceptor::suspend (); -} - -template int -ACE_Strategy_Acceptor::resume (void) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::resume"); - - // First resume ourselves. - if (ACE_Acceptor::suspend () == -1) - return -1; - else // Then resume the SVC_HANDLER's we've created. - return this->scheduling_strategy_->resume (); -} - -template void -ACE_Strategy_Acceptor::dump (void) const -{ - ACE_TRACE ("ACE_Strategy_Acceptor::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_Acceptor::dump (); - this->creation_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, "delete_creation_strategy_ = %d", delete_creation_strategy_)); - this->accept_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, "delete_accept_strategy_ = %d", delete_accept_strategy_)); - this->concurrency_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, "delete_concurrency_strategy_ = %d", delete_concurrency_strategy_)); - this->scheduling_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, "delete_scheduling_strategy_ = %d", delete_scheduling_strategy_)); - ACE_DEBUG ((LM_DEBUG, "\nservice_name_ = %s", this->service_name_)); - ACE_DEBUG ((LM_DEBUG, "\nservice_description_ = %s", this->service_description_)); - ACE_DEBUG ((LM_DEBUG, "\nservice_port_ = %d", this->service_port_)); - this->service_addr_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template ACE_PEER_ACCEPTOR & -ACE_Strategy_Acceptor::acceptor (void) const -{ - ACE_TRACE ("ACE_Strategy_Acceptor::acceptor"); - return this->accept_strategy_->acceptor (); -} - -template -ACE_Strategy_Acceptor::operator ACE_PEER_ACCEPTOR & () const -{ - ACE_TRACE ("ACE_Strategy_Acceptor::operator ACE_PEER_ACCEPTOR &"); - return this->accept_strategy_->acceptor (); -} - -// Returns ACE_HANDLE of the underlying Acceptor_Strategy. - -template ACE_HANDLE -ACE_Strategy_Acceptor::get_handle (void) const -{ - ACE_TRACE ("ACE_Strategy_Acceptor::get_handle"); - return this->accept_strategy_->get_handle (); -} - -// Initialize the appropriate strategies for creation, passive -// connection acceptance, and concurrency, and then register -// with the Reactor and listen for connection requests at the -// designated . - -template int -ACE_Strategy_Acceptor::open - (const ACE_PEER_ACCEPTOR_ADDR &local_addr, - ACE_Reactor *reactor, - ACE_Creation_Strategy *cre_s, - ACE_Accept_Strategy *acc_s, - ACE_Concurrency_Strategy *con_s, - ACE_Scheduling_Strategy *sch_s, - const char service_name[], - const char service_description[]) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::open"); - - if (this->service_name_ == 0 && service_name != 0) - ACE_ALLOCATOR_RETURN (this->service_name_, - ACE_OS::strdup (service_name), - -1); - if (this->service_description_ == 0 && service_description != 0) - ACE_ALLOCATOR_RETURN (this->service_description_, - ACE_OS::strdup (service_description), - -1); - this->reactor (reactor); - - // Must supply a valid Reactor to Acceptor::open()... - if (reactor == 0) - { - errno = EINVAL; - return -1; - } - - // Initialize the creation strategy. - - if (cre_s == 0) - { - ACE_NEW_RETURN (cre_s, CREATION_STRATEGY, -1); - this->delete_creation_strategy_ = 1; - } - this->creation_strategy_ = cre_s; - - // Initialize the accept strategy. - - if (acc_s == 0) - { - ACE_NEW_RETURN (acc_s, ACCEPT_STRATEGY (this->reactor ()), -1); - this->delete_accept_strategy_ = 1; - } - this->accept_strategy_ = acc_s; - - if (this->accept_strategy_->open (local_addr, 1) == -1) - return -1; - - // Initialize the concurrency strategy. - - if (con_s == 0) - { - ACE_NEW_RETURN (con_s, CONCURRENCY_STRATEGY, -1); - this->delete_concurrency_strategy_ = 1; - } - this->concurrency_strategy_ = con_s; - - // Initialize the scheduling strategy. - - if (sch_s == 0) - { - ACE_NEW_RETURN (sch_s, SCHEDULING_STRATEGY, -1); - this->delete_scheduling_strategy_ = 1; - } - this->scheduling_strategy_ = sch_s; - - return this->reactor ()->register_handler - (this, ACE_Event_Handler::ACCEPT_MASK); -} - -// Simple constructor. - -template -ACE_Strategy_Acceptor::ACE_Strategy_Acceptor - (const char service_name[], - const char service_description[]) - : creation_strategy_ (0), - delete_creation_strategy_ (0), - accept_strategy_ (0), - delete_accept_strategy_ (0), - concurrency_strategy_ (0), - delete_concurrency_strategy_ (0), - scheduling_strategy_ (0), - delete_scheduling_strategy_ (0), - service_name_ (0), - service_description_ (0) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::ACE_Strategy_Acceptor"); - - if (service_name != 0) - ACE_ALLOCATOR (this->service_name_, - ACE_OS::strdup (service_name)); - if (service_description != 0) - ACE_ALLOCATOR (this->service_description_, - ACE_OS::strdup (service_description)); -} - -template -ACE_Strategy_Acceptor::ACE_Strategy_Acceptor - (const ACE_PEER_ACCEPTOR_ADDR &addr, - ACE_Reactor *reactor, - ACE_Creation_Strategy *cre_s, - ACE_Accept_Strategy *acc_s, - ACE_Concurrency_Strategy *con_s, - ACE_Scheduling_Strategy *sch_s, - const char service_name[], - const char service_description[]) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::ACE_Strategy_Acceptor"); - - if (this->open (addr, reactor, cre_s, acc_s, con_s, sch_s, - service_name, service_description) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Strategy_Acceptor::ACE_Strategy_Acceptor")); -} - -// Perform termination activities when is removed from the -// . - -template int -ACE_Strategy_Acceptor::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::handle_close"); - // Guard against multiple closes. - if (this->reactor () != 0) - { - ACE_HANDLE handle = this->get_handle (); - - if (this->delete_creation_strategy_) - delete this->creation_strategy_; - this->delete_creation_strategy_ = 0; - this->creation_strategy_ = 0; - - if (this->delete_accept_strategy_) - delete this->accept_strategy_; - this->delete_accept_strategy_ = 0; - this->accept_strategy_ = 0; - - if (this->delete_concurrency_strategy_) - delete this->concurrency_strategy_; - this->delete_concurrency_strategy_ = 0; - this->concurrency_strategy_ = 0; - - if (this->delete_scheduling_strategy_) - delete this->scheduling_strategy_; - this->delete_scheduling_strategy_ = 0; - this->scheduling_strategy_ = 0; - - // We must use the obtained *before* we deleted the - // accept_strategy_... - - this->reactor ()->remove_handler - (handle, ACE_Event_Handler::ACCEPT_MASK | ACE_Event_Handler::DONT_CALL); - - // Set the Reactor to 0 so that we don't try to close down - // again. - this->reactor (0); - } - return 0; -} - -// Bridge method for creating a SVC_HANDLER. The strategy for -// creating a SVC_HANDLER are configured into the Acceptor via it's -// . The default is to create a new SVC_HANDLER. -// However, subclasses can override this strategy to perform -// SVC_HANDLER creation in any way that they like (such as creating -// subclass instances of SVC_HANDLER, using a singleton, dynamically -// linking the handler, etc.). - -template int -ACE_Strategy_Acceptor::make_svc_handler (SVC_HANDLER *&sh) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::make_svc_handler"); - return this->creation_strategy_->make_svc_handler (sh); -} - -// Bridge method for accepting the new connection into the -// . The default behavior delegates to the -// in the Acceptor_Strategy. - -template int -ACE_Strategy_Acceptor::accept_svc_handler - (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::accept_svc_handler"); - return this->accept_strategy_->accept_svc_handler (svc_handler); -} - -// Bridge method for activating a with the appropriate -// concurrency strategy. The default behavior of this method is to -// activate the SVC_HANDLER 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 (such as creating the SVC_HANDLER as an -// "active object" via multi-threading or multi-processing). - -template int -ACE_Strategy_Acceptor::activate_svc_handler - (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::activate_svc_handler"); - return this->concurrency_strategy_->activate_svc_handler - (svc_handler, (void *) this); -} - -template -ACE_Strategy_Acceptor::~ACE_Strategy_Acceptor (void) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::~ACE_Strategy_Acceptor"); - ACE_OS::free ((void *) this->service_name_); - ACE_OS::free ((void *) this->service_description_); - this->handle_close (); -} - -// Signal the server to shutdown gracefully. - -template int -ACE_Strategy_Acceptor::handle_signal (int, siginfo_t *, ucontext_t *) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::handle_signal"); - ACE_Reactor::end_event_loop (); - return 0; -} - -template int -ACE_Strategy_Acceptor::info (char **strp, - size_t length) const -{ - ACE_TRACE ("ACE_Strategy_Acceptor::info"); - - char buf[BUFSIZ]; - char service_addr_str[BUFSIZ]; - ACE_PEER_ACCEPTOR_ADDR addr; - - if (this->acceptor ().get_local_addr (addr) == -1) - return -1; - else if (addr.addr_to_string (service_addr_str, sizeof service_addr_str) == -1) - return -1; - - // @@ Should add the protocol in... - ACE_OS::sprintf (buf, "%s\t %s #%s\n", - this->service_name_, - service_addr_str, - this->service_description_); - - if (*strp == 0 && (*strp = ACE_OS::strdup (buf)) == 0) - return -1; - else - ACE_OS::strncpy (*strp, buf, length); - return ACE_OS::strlen (buf); -} - -template int -ACE_Strategy_Acceptor::fini (void) -{ - ACE_TRACE ("ACE_Strategy_Acceptor::fini"); - return this->ACE_Strategy_Acceptor::handle_close (); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Oneshot_Acceptor) - -template void -ACE_Oneshot_Acceptor::dump (void) const -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\nsvc_handler_ = %x", this->svc_handler_)); - ACE_DEBUG ((LM_DEBUG, "\nrestart_ = %d", this->restart_)); - this->peer_acceptor_.dump (); - ACE_DEBUG ((LM_DEBUG, "delete_concurrency_strategy_ = %d", - delete_concurrency_strategy_)); - this->concurrency_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template int -ACE_Oneshot_Acceptor::open - (const ACE_PEER_ACCEPTOR_ADDR &addr, - ACE_Reactor *reactor, - ACE_Concurrency_Strategy *con_s) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::open"); - this->reactor (reactor); - - // Initialize the concurrency strategy. - - if (con_s == 0) - { - ACE_NEW_RETURN (con_s, ACE_Concurrency_Strategy, -1); - this->delete_concurrency_strategy_ = 1; - } - this->concurrency_strategy_ = con_s; - - // Reuse the addr, even if it is already in use...! - return this->peer_acceptor_.open (addr, 1); -} - -template -ACE_Oneshot_Acceptor::ACE_Oneshot_Acceptor (void) - : delete_concurrency_strategy_ (0) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::ACE_Oneshot_Acceptor"); - this->reactor (0); -} - -template -ACE_Oneshot_Acceptor::ACE_Oneshot_Acceptor - (const ACE_PEER_ACCEPTOR_ADDR &addr, - ACE_Reactor *reactor, - ACE_Concurrency_Strategy *cs) - : delete_concurrency_strategy_ (0) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::ACE_Oneshot_Acceptor"); - if (this->open (addr, reactor, cs) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_Oneshot_Acceptor::ACE_Oneshot_Acceptor")); -} - -template -ACE_Oneshot_Acceptor::~ACE_Oneshot_Acceptor (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::~ACE_Oneshot_Acceptor"); - this->handle_close (); -} - -template int -ACE_Oneshot_Acceptor::close (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::close"); - return this->handle_close (); -} - -template int -ACE_Oneshot_Acceptor::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::handle_close"); - // Guard against multiple closes. - if (this->concurrency_strategy_ != 0) - { - if (this->delete_concurrency_strategy_) - delete this->concurrency_strategy_; - this->delete_concurrency_strategy_ = 0; - this->concurrency_strategy_ = 0; - - // Note that if we aren't actually registered with the - // ACE_Reactor then it's ok for this call to fail... - - if (this->reactor ()) - this->reactor ()->remove_handler - (this, ACE_Event_Handler::ACCEPT_MASK | ACE_Event_Handler::DONT_CALL); - - if (this->peer_acceptor_.close () == -1) - ACE_ERROR ((LM_ERROR, "close\n")); - } - return 0; -} - -template int -ACE_Oneshot_Acceptor::handle_timeout - (const ACE_Time_Value &tv, - const void *arg) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::handle_timeout"); - errno = ETIME; - - if (this->svc_handler_->handle_timeout (tv, arg) == -1) - this->svc_handler_->handle_close (this->svc_handler_->get_handle (), - ACE_Event_Handler::TIMER_MASK);; - - // Since we aren't necessarily registered with the Reactor, don't - // bother to check the return value here... - if (this->reactor ()) - this->reactor ()->remove_handler (this, ACE_Event_Handler::ACCEPT_MASK); - return 0; -} - -template int -ACE_Oneshot_Acceptor::cancel (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::cancel"); - return this->reactor () && this->reactor ()->cancel_timer (this); -} - -template int -ACE_Oneshot_Acceptor::register_handler - (SVC_HANDLER *svc_handler, - const ACE_Synch_Options &synch_options, - int restart) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::register_handler"); - // Can't do this if we don't have a Reactor. - if (this->reactor () == 0) - return -1; - else - { - this->svc_handler_ = svc_handler; - this->restart_ = restart; - ACE_Time_Value *tv = (ACE_Time_Value *) synch_options.time_value (); - - if (tv != 0 - && this->reactor ()->schedule_timer (this, synch_options.arg (), - *tv) == 0) - return -1; - else - return this->reactor ()->register_handler - (this, ACE_Event_Handler::ACCEPT_MASK); - } -} - -// Bridge method for activating a with the appropriate -// concurrency strategy. The default behavior of this method is to -// activate the SVC_HANDLER 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 (such as creating the SVC_HANDLER as an -// "active object" via multi-threading or multi-processing). - -template int -ACE_Oneshot_Acceptor::activate_svc_handler - (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::activate_svc_handler"); - return this->concurrency_strategy_->activate_svc_handler - (svc_handler, (void *) this); -} - -// Factors out the code shared between the and -// methods. - -template int -ACE_Oneshot_Acceptor::shared_accept - (SVC_HANDLER *svc_handler, - ACE_PEER_ACCEPTOR_ADDR *remote_addr, - ACE_Time_Value *timeout, - int restart, - int reset_new_handle) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::shared_accept"); - if (svc_handler == 0) - return -1; - - // Accept connection into the Svc_Handler. - else if (this->peer_acceptor_.accept (svc_handler->peer (), // stream - remote_addr, // remote address - timeout, // timeout - restart, // restart - reset_new_handle // reset new handle - ) == -1) - { - // Check whether we just timed out or whether we failed... - if (!(errno == EWOULDBLOCK || errno == ETIME)) - // Close down handler to avoid memory leaks. - svc_handler->close (0); - return -1; - } - // Activate the using the designated concurrency - // strategy (note that this method becomes responsible for - // handling errors and freeing up the memory if things go - // awry...) - else - return this->activate_svc_handler (svc_handler); -} - -// Make a SVC_HANDLER, accept the connection into the SVC_HANDLER, and -// then activate the SVC_HANDLER. Note that SVC_HANDLER::open() -// decides what type of concurrency strategy to use. - -template int -ACE_Oneshot_Acceptor::accept - (SVC_HANDLER *svc_handler, - ACE_PEER_ACCEPTOR_ADDR *remote_addr, - const ACE_Synch_Options &synch_options, - int restart, - int reset_new_handle) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::accept"); - // Note that if timeout == ACE_Time_Value (x, y) where (x > 0 || y > - // 0) then this->connector_.connect() will block synchronously. If - // is set then we don't want this to happen (since we - // want the ACE_Reactor to do the timeout asynchronously). - // Therefore, we'll force this->connector_ to use ACE_Time_Value (0, - // 0) in this case... - - ACE_Time_Value *timeout; - int use_reactor = synch_options[ACE_Synch_Options::USE_REACTOR]; - - if (use_reactor) - timeout = (ACE_Time_Value *) &ACE_Time_Value::zero; - else - timeout = (ACE_Time_Value *) synch_options.time_value (); - - if (this->shared_accept (svc_handler, // stream - remote_addr, // remote address - timeout, // timeout - restart, // restart - reset_new_handle // reset new handler - ) == -1) - { - if (use_reactor && errno == EWOULDBLOCK) - // We couldn't accept right away, so let's wait in the ACE_Reactor. - this->register_handler (svc_handler, synch_options, restart); - return -1; - } - return 0; -} - -// Accepts one pending connection from a client (since we're the -// "oneshot" Acceptor). - -template int -ACE_Oneshot_Acceptor::handle_input (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::handle_input"); - int result = 0; - - // Cancel any timer that might be pending. - this->cancel (); - - // Try to find out if the implementation of the reactor that we are - // using requires us to reset the event association for the newly - // created handle. This is because the newly created handle will - // inherit the properties of the listen handle, including its event - // associations. - int reset_new_handle = this->reactor ()->uses_event_associations (); - - if (this->shared_accept (this->svc_handler_, // stream - 0, // remote address - 0, // timeout - this->restart_, // restart - reset_new_handle // reset new handle - ) == -1) - result = -1; - if (this->reactor () && this->reactor ()->remove_handler - (this, ACE_Event_Handler::ACCEPT_MASK | ACE_Event_Handler::DONT_CALL) == -1) - result = -1; - return result; -} - -// Hook called by the explicit dynamic linking facility. - -template int -ACE_Oneshot_Acceptor::init (int, char *[]) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::init"); - return -1; -} - -template int -ACE_Oneshot_Acceptor::fini (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::fini"); - return this->handle_close (); -} - -template int -ACE_Oneshot_Acceptor::info (char **strp, - size_t length) const -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::info"); - char buf[BUFSIZ]; - char addr_str[BUFSIZ]; - ACE_PEER_ACCEPTOR_ADDR addr; - - if (this->peer_acceptor_.get_local_addr (addr) == -1) - return -1; - else if (addr.addr_to_string (addr_str, sizeof addr_str) == -1) - return -1; - - ACE_OS::sprintf (buf, "%s\t %s %s", - "ACE_Oneshot_Acceptor", - addr_str, - "#oneshot acceptor factory\n"); - - if (*strp == 0 && (*strp = ACE_OS::strdup (buf)) == 0) - return -1; - else - ACE_OS::strncpy (*strp, buf, length); - return ACE_OS::strlen (buf); -} - -template int -ACE_Oneshot_Acceptor::suspend (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::suspend"); - return this->reactor () && this->reactor ()->suspend_handler (this); -} - -template int -ACE_Oneshot_Acceptor::resume (void) -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::resume"); - return this->reactor () && this->reactor ()->resume_handler (this); -} - -// Returns ACE_HANDLE of the underlying peer_acceptor. - -template ACE_HANDLE -ACE_Oneshot_Acceptor::get_handle (void) const -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::get_handle"); - return this->peer_acceptor_.get_handle (); -} - -template ACE_PEER_ACCEPTOR & -ACE_Oneshot_Acceptor::acceptor (void) const -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::acceptor"); - return (ACE_PEER_ACCEPTOR &) this->peer_acceptor_; -} - -template -ACE_Oneshot_Acceptor::operator ACE_PEER_ACCEPTOR & () const -{ - ACE_TRACE ("ACE_Oneshot_Acceptor::operator ACE_PEER_ACCEPTOR &"); - return (ACE_PEER_ACCEPTOR &) this->peer_acceptor_; -} - -#endif /* ACE_ACCEPTOR_C */ diff --git a/ace/Acceptor.h b/ace/Acceptor.h deleted file mode 100644 index d9498b5340a..00000000000 --- a/ace/Acceptor.h +++ /dev/null @@ -1,486 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Acceptor.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_ACCEPTOR_H) -#define ACE_ACCEPTOR_H - -#include "ace/Service_Config.h" -#include "ace/Service_Object.h" -#include "ace/Svc_Handler.h" -#include "ace/Strategies.h" - -template -class ACE_Acceptor : public ACE_Service_Object -{ - // = TITLE - // Abstract factory for creating a service handler - // (SVC_HANDLER), accepting into the SVC_HANDLER, and - // activating the SVC_HANDLER. - // - // = DESCRIPTION - // Implements the basic strategy for passively establishing - // connections with clients. An ACE_Acceptor is parameterized - // by concrete types that conform to the interfaces of - // PEER_ACCEPTOR and SVC_HANDLER. The PEER_ACCEPTOR is - // instantiated with a transport mechanism that passively - // establishes connections. The SVC_HANDLER is instantiated - // with a concrete type that performs the application-specific - // service. An ACE_Acceptor inherits from ACE_Service_Object, - // which in turn inherits from ACE_Event_Handler. This enables - // the ACE_Reactor to dispatch the ACE_Acceptor's handle_input - // method when connection events occur. The handle_input method - // performs the ACE_Acceptor's default creation, connection - // establishment, and service activation strategies. These - // strategies can be overridden by subclasses individually or as - // a group. -public: - // = Initialization and termination methods. - ACE_Acceptor (ACE_Reactor * = 0); - // "Do-nothing" constructor. - - ACE_Acceptor (const ACE_PEER_ACCEPTOR_ADDR &local_addr, - ACE_Reactor * = ACE_Reactor::instance (), - int flags = 0); - // Initialize and register with the Reactor and listen for - // connection requests at the designated . - // indicates how 's should be initialized prior to - // being activated. Right now, the only flag that is processed is - // , which enabled non-blocking I/O on the - // when it is opened. - - int open (const ACE_PEER_ACCEPTOR_ADDR &, - ACE_Reactor * = ACE_Reactor::instance (), - int flags = 0); - // Initialize and register with the Reactor and listen for - // connection requests at the designated . - // indicates how 's should be initialized prior to - // being activated. Right now, the only flag that is processed is - // , which enabled non-blocking I/O on the - // when it is opened. - - virtual ~ACE_Acceptor (void); - // Close down the Acceptor's resources. - - virtual operator ACE_PEER_ACCEPTOR &() const; - // Return the underlying PEER_ACCEPTOR object. - - virtual ACE_PEER_ACCEPTOR &acceptor (void) const; - // Return the underlying PEER_ACCEPTOR object. - - virtual ACE_HANDLE get_handle (void) const; - // Returns the listening acceptor's . - - virtual int close (void); - // Close down the Acceptor - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = The following three methods define the Acceptor's strategies - // for creating, accepting, and activating SVC_HANDLER's, - // respectively. - - virtual int make_svc_handler (SVC_HANDLER *&sh); - // Bridge method for creating a SVC_HANDLER. The default is to - // create a new if == 0, else is unchanged. - // However, subclasses can override this policy to perform - // SVC_HANDLER creation in any way that they like (such as creating - // subclass instances of SVC_HANDLER, using a singleton, dynamically - // linking the handler, etc.). Returns -1 on failure, else 0. - - virtual int accept_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for accepting the new connection into the - // . The default behavior delegates to the - // PEER_ACCEPTOR::accept. - - virtual int activate_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for activating a with the appropriate - // concurrency strategy. The default behavior of this method is to - // activate the SVC_HANDLER 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 (such as making the - // SVC_HANDLER as an "active object" via multi-threading or - // multi-processing). - - // = Demultiplexing hooks. - virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, - ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK); - // Perform termination activities when is removed from the - // . - - virtual int handle_input (ACE_HANDLE); - // Accepts all pending connections from clients, and creates and - // activates SVC_HANDLERs. - - // = Dynamic linking hooks. - virtual int init (int argc, char *argv[]); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int fini (void); - // Calls . - - virtual int info (char **buf, size_t) const; - // Default version returns address info in . - - // = Service management hooks. - virtual int suspend (void); - // This method calls . - - virtual int resume (void); - // This method calls . - -private: - ACE_PEER_ACCEPTOR peer_acceptor_; - // Concrete factory for accepting connections from clients... - - int flags_; - // Flags that indicate how 's should be initialized - // prior to being activated. Right now, the only flag that is - // processed is , which enabled non-blocking I/O on - // the when it is opened. -}; - -template -class ACE_Strategy_Acceptor : public ACE_Acceptor -{ - // = TITLE - // Abstract factory for creating a service handler - // (SVC_HANDLER), accepting into the SVC_HANDLER, and activating - // the SVC_HANDLER. - // - // = DESCRIPTION - // Implements a flexible and extensible set of strategies for - // passively establishing connections with clients. There are - // three main strategies: (1) creating a SVC_HANDLER, (2) - // passively accepting a new connection from a client into the - // SVC_HANDLER, and (3) activating the SVC_HANDLER with a - // particular concurrency mechanism. -public: - // = Initialization and termination methods. - ACE_Strategy_Acceptor (const char service_name[] = 0, - const char service_description[] = 0); - // Default constructor. - - ACE_Strategy_Acceptor (const ACE_PEER_ACCEPTOR_ADDR &local_addr, - ACE_Reactor * = ACE_Reactor::instance (), - ACE_Creation_Strategy * = 0, - ACE_Accept_Strategy * = 0, - ACE_Concurrency_Strategy * = 0, - ACE_Scheduling_Strategy * = 0, - const char service_name[] = 0, - const char service_description[] = 0); - // Initialize the appropriate strategies for creation, passive - // connection acceptance, and concurrency, and then register - // with the Reactor and listen for connection requests at the - // designated . - - int open (const ACE_PEER_ACCEPTOR_ADDR &, - ACE_Reactor * = ACE_Reactor::instance (), - ACE_Creation_Strategy * = 0, - ACE_Accept_Strategy * = 0, - ACE_Concurrency_Strategy * = 0, - ACE_Scheduling_Strategy * = 0, - const char service_name[] = 0, - const char service_description[] = 0); - // Initialize the appropriate strategies for creation, passive - // connection acceptance, and concurrency, and then register - // with the Reactor and listen for connection requests at the - // designated . - - virtual ~ACE_Strategy_Acceptor (void); - // Close down the Strategy_Acceptor's resources. - - virtual operator ACE_PEER_ACCEPTOR &() const; - // Return the underlying PEER_ACCEPTOR object. - - virtual ACE_PEER_ACCEPTOR &acceptor (void) const; - // Return the underlying PEER_ACCEPTOR object. - - virtual ACE_HANDLE get_handle (void) const; - // Returns the listening acceptor's . - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Service management hooks. - - virtual int suspend (void); - // This method delegates to the 's - // method. - - virtual int resume (void); - // This method delegates to the 's - // method. - - virtual int fini (void); - // Calls when dynamically unlinked. - - virtual int info (char **buf, size_t) const; - // Default version returns address info in . - - // = The following three methods define the 's strategies - // for creating, accepting, and activating 's, - // respectively. - - virtual int make_svc_handler (SVC_HANDLER *&); - // Bridge method for creating a . The strategy for - // creating a are configured into the Acceptor via - // it's . The default is to create a new - // if == 0, else is unchanged. However, - // subclasses can override this policy to perform - // creation in any way that they like (such as creating subclass - // instances of , using a singleton, dynamically - // linking the handler, etc.). Returns -1 on failure, else 0. - - virtual int accept_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for accepting the new connection into the - // . The default behavior delegates to the - // in the . - - virtual int activate_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for activating a with the appropriate - // concurrency strategy. The default behavior of this method is to - // activate the by calling its method (which - // allows the to define its own concurrency strategy). - // However, subclasses can override this strategy to do more - // sophisticated concurrency activations (such as creating the - // as an "active object" via multi-threading or - // multi-processing). - - // = Demultiplexing hooks. - virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, - ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK); - // Perform termination activities when is removed from the - // . - - virtual int handle_signal (int signum, siginfo_t *, ucontext_t *); - // Handle SIGINT. - - // = These data members are "logically private" but are put in the - // protected part in case subclasses want to access them. - - // = Define some useful typedefs. - typedef ACE_Creation_Strategy CREATION_STRATEGY; - typedef ACE_Accept_Strategy ACCEPT_STRATEGY; - typedef ACE_Concurrency_Strategy CONCURRENCY_STRATEGY; - typedef ACE_Scheduling_Strategy SCHEDULING_STRATEGY; - - // = Strategy objects. - - CREATION_STRATEGY *creation_strategy_; - // Creation strategy for an Acceptor. - - int delete_creation_strategy_; - // 1 if created the creation strategy and thus should - // delete it, else 0. - - ACCEPT_STRATEGY *accept_strategy_; - // Accept strategy for an . - - int delete_accept_strategy_; - // 1 if created the accept strategy and thus should delete - // it, else 0. - - CONCURRENCY_STRATEGY *concurrency_strategy_; - // Concurrency strategy for an . - - int delete_concurrency_strategy_; - // 1 if created the concurrency strategy and thus should - // delete it, else 0. - - SCHEDULING_STRATEGY *scheduling_strategy_; - // Scheduling strategy for an . - - int delete_scheduling_strategy_; - // 1 if created the scheduling strategy and thus should - // delete it, else 0. - - // = Service information objects. - - char *service_name_; - // Name of the service. - - char *service_description_; - // Description of the service. - - u_short service_port_; - // Port number for the server. - - ACE_PEER_ACCEPTOR_ADDR service_addr_; - // Address that the uses to listen for - // connections. -}; - -template -class ACE_Oneshot_Acceptor : public ACE_Service_Object -{ - // = TITLE - // Generic factory for passively connecting clients and creating - // exactly one service handler (SVC_HANDLER). - // - // = DESCRIPTION - // This class works similarly to the regular acceptor except - // that this class doesn't need a Creation_Strategy (since the - // user supplies the SVC_HANDLER) or an Accept_Strategy (since - // this class only accepts one connection and then removes all - // traces (e.g., from the ACE_Reactor). -public: - // = Initialization and termination methods. - ACE_Oneshot_Acceptor (void); - // "Do-nothing" constructor. - - ACE_Oneshot_Acceptor (const ACE_PEER_ACCEPTOR_ADDR &, - ACE_Reactor * = ACE_Reactor::instance(), - ACE_Concurrency_Strategy * = 0); - // Initialize the appropriate strategies for concurrency and - // creation and then register at the designated . - - int open (const ACE_PEER_ACCEPTOR_ADDR &, - ACE_Reactor * = ACE_Reactor::instance(), - ACE_Concurrency_Strategy * = 0); - // Initialize the appropriate strategies for concurrency and - // creation and then register at the designated . - - virtual ~ACE_Oneshot_Acceptor (void); - // Close down the . - - // = Explicit factory operation. - virtual int accept (SVC_HANDLER * = 0, - ACE_PEER_ACCEPTOR_ADDR *remote_addr = 0, - const ACE_Synch_Options &synch_options = ACE_Synch_Options::defaults, - int restart = 1, - int reset_new_handle = 0); - // Create a SVC_HANDLER, accept the connection into the SVC_HANDLER, - // and activate the SVC_HANDLER. - - virtual int cancel (void); - // Cancel a oneshot acceptor that was started asynchronously. - - virtual operator ACE_PEER_ACCEPTOR &() const; - // Return the underlying PEER_ACCEPTOR object. - - virtual ACE_PEER_ACCEPTOR &acceptor (void) const; - // Return the underlying PEER_ACCEPTOR object. - - virtual int close (void); - // Close down the Acceptor - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - virtual int activate_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for activating a with the appropriate - // concurrency strategy. Default behavior is to activate the - // SVC_HANDLER as a "passive object." However, subclasses can - // override this strategy to do more sophisticated concurrency - // activations (such as creating the SVC_HANDLER as an "active - // object" via multi-threading or multi-processing). - - int shared_accept (SVC_HANDLER *svc_handler, - ACE_PEER_ACCEPTOR_ADDR *remote_addr, - ACE_Time_Value *timeout, - int restart, - int reset_new_handle); - // Factors out the code shared between the and - // methods. - - int register_handler (SVC_HANDLER *svc_handler, - const ACE_Synch_Options &options, - int restart); - // Insert ourselves into the ACE_Reactor so that we can - // continue accepting this connection asynchronously. - - // = Demultiplexing hooks. - virtual ACE_HANDLE get_handle (void) const; - // Returns the listening acceptor's . - - virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, - ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK); - // Perform termination activities when is removed from the - // . - - virtual int handle_input (ACE_HANDLE); - // Accept one connection from a client and activates the - // SVC_HANDLER. - - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg); - // Called when an acceptor times out... - - // = Dynamic linking hooks. - virtual int init (int argc, char *argv[]); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int fini (void); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int info (char **, size_t) const; - // Default version returns address info in . - - // = Service management hooks. - virtual int suspend (void); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int resume (void); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - -private: - SVC_HANDLER *svc_handler_; - // Hold the svc_handler_ across asynchrony boundaries. - - int restart_; - // Hold the restart flag across asynchrony boundaries. - - ACE_PEER_ACCEPTOR peer_acceptor_; - // Factory that establishes connections passively. - - ACE_Concurrency_Strategy *concurrency_strategy_; - // Concurrency strategy for an Acceptor. - - int delete_concurrency_strategy_; - // 1 if Acceptor created the concurrency strategy and thus should - // delete it, else 0. -}; - -#include "ace/Acceptor.i" - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Acceptor.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Acceptor.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_ACCEPTOR_H */ diff --git a/ace/Acceptor.i b/ace/Acceptor.i deleted file mode 100644 index 3cf904fc7e2..00000000000 --- a/ace/Acceptor.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Acceptor.i diff --git a/ace/Activation_Queue.cpp b/ace/Activation_Queue.cpp deleted file mode 100644 index 0544075fc6f..00000000000 --- a/ace/Activation_Queue.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// Activation_Queue.cpp -// $Id$ - -#define ACE_BUILD_DLL - -#include "ace/Activation_Queue.h" - -// Dump the state of an object. - -void -ACE_Activation_Queue::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "delete_queue_ = %d\n", - this->delete_queue_)); - ACE_DEBUG ((LM_INFO,"queue_: \n")); - if (this->queue_) - this->queue_->dump(); - else - ACE_DEBUG ((LM_DEBUG,"(NULL)\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Activation_Queue::ACE_Activation_Queue (ACE_Message_Queue *new_queue) - : delete_queue_ (0) -{ - if (new_queue) - this->queue_ = new_queue; - else - { - ACE_NEW (this->queue_, ACE_Message_Queue); - this->delete_queue_ = 1; - } -} - -ACE_Activation_Queue::~ACE_Activation_Queue (void) -{ - if (this->delete_queue_ != 0) - delete this->queue_; -} - -ACE_Method_Object * -ACE_Activation_Queue::dequeue (ACE_Time_Value *tv) -{ - ACE_Message_Block *mb; - - // Dequeue the message. - if (this->queue_->dequeue_head (mb, tv) != -1) - { - - // Get the method object. - ACE_Method_Object *mo = (ACE_Method_Object *) mb->base (); - - // Delete the message block. - mb->release (); - return mo; - } - else - return 0; -} - -int -ACE_Activation_Queue::enqueue (ACE_Method_Object *mo, - ACE_Time_Value *tv) -{ - ACE_Message_Block *mb; - - ACE_NEW_RETURN (mb, ACE_Message_Block ((char *) mo), -1); - - return this->queue_->enqueue_prio (mb, tv); -} diff --git a/ace/Activation_Queue.h b/ace/Activation_Queue.h deleted file mode 100644 index 547ad62a4bd..00000000000 --- a/ace/Activation_Queue.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Activation_Queue.h -// -// = AUTHOR -// Andres Kruse and Douglas C. Schmidt -// -// -// ============================================================================ - -#if !defined (ACE_ACTIVATION_QUEUE_H) -#define ACE_ACTIVATION_QUEUE_H - -#include "ace/Synch_T.h" -#include "ace/Message_Queue.h" -#include "ace/Method_Object.h" - -class ACE_Export ACE_Activation_Queue -{ - // = TITLE - // Reifies a method into an object. Subclasses typically - // represent necessary state and behavior. - // - // = DESCRIPTION - // A is inserted in the , where - // it is subsequently removed by the and invoked. -public: - // = Initialization and termination methods. - ACE_Activation_Queue (ACE_Message_Queue *new_queue = 0); - ~ACE_Activation_Queue (void); - - // = Queue operations. - ACE_Method_Object *dequeue (ACE_Time_Value *tv = 0); - // Dequeue the next available . - - int enqueue (ACE_Method_Object *new_method_object, - ACE_Time_Value *tv = 0); - // Enqueue the . - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Message_Queue *queue_; - // Stores the . - - int delete_queue_; - // Keeps track of whether we need to delete the queue. -}; - -#endif /* ACE_ACTIVATION_QUEUE_H */ - diff --git a/ace/Addr.cpp b/ace/Addr.cpp deleted file mode 100644 index 026eaa2f209..00000000000 --- a/ace/Addr.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Addr.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Addr.h" - -#if defined (ACE_HAS_BROKEN_SAP_ANY) -#if defined (sap_any) -#undef sap_any -// This is a static class variable. -const ACE_Addr ace_sap_any (AF_ANY, -1); - -const ACE_Addr & -ACE_Addr::sap_any (void) -{ - return ace_sap_any; -} -#define sap_any sap_any() -#endif /* sap_any */ -#else -// This is a static class variable. -const ACE_Addr ACE_Addr::sap_any (AF_ANY, -1); -#endif /* ACE_HAS_BROKEN_SAP_ANY */ - -#if !defined (__ACE_INLINE__) -#include "ace/Addr.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Addr) - -void -ACE_Addr::dump (void) const -{ - ACE_TRACE ("ACE_Addr::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "addr_type_ = %d", this->addr_type_)); - ACE_DEBUG ((LM_DEBUG, "\naddr_size_ = %d", this->addr_size_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Initializes instance variables. - -void -ACE_Addr::base_set (int type, int size) -{ - this->addr_type_ = type; - this->addr_size_ = size; -} - -// Initializes instance variables. Note that 0 is an unspecified -// protocol family type... - -ACE_Addr::ACE_Addr (int type, int size) -{ - this->base_set (type, size); -} - diff --git a/ace/Addr.h b/ace/Addr.h deleted file mode 100644 index 0d96f65cd3d..00000000000 --- a/ace/Addr.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Addr.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_ADDR_H) -#define ACE_ADDR_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Addr -{ - // = TITLE - // Defines the base class for the "address family independent" - // address format. -public: - // = Initialization method. - - ACE_Addr (int type = -1, - int size = -1); - // Initializes instance variables. - - // = Get/set the size of the address. - - int get_size (void) const; - // Return the size of the address. - - void set_size (int size); - // Sets the size of the address. - - // = Get/set the type of the address. - - int get_type (void) const; - // Get the type of the address. - - void set_type (int type); - // Set the type of the address. - - virtual void *get_addr (void) const; - // Return a pointer to the address. - - virtual void set_addr (void *, - int len); - // Set a pointer to the address. - - // = Equality/inequality tests - int operator == (const ACE_Addr &sap) const; - // Check for address equality. - - int operator != (const ACE_Addr &sap) const; - // Check for address inequality. - - void base_set (int type, - int size); - // Initializes instance variables. - -#if defined (ACE_HAS_BROKEN_SAP_ANY) - static const ACE_Addr &sap_any (void); - // Wild-card address. - - // This #define works around broken C++ compilers... -#define sap_any sap_any() -#else - static const ACE_Addr sap_any; - // Wild-card address. -#endif /* ACE_HAS_BROKEN_SAP_ANY */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - int addr_type_; - // e.g., AF_UNIX, AF_INET, AF_SPIPE, etc. - - int addr_size_; - // Number of bytes in the address. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Addr.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_ADDR_H */ diff --git a/ace/Addr.i b/ace/Addr.i deleted file mode 100644 index 8a701eccfd5..00000000000 --- a/ace/Addr.i +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Addr.i - -// Return the address of the address. - -ACE_INLINE void * -ACE_Addr::get_addr (void) const -{ - return 0; -} - -ACE_INLINE void -ACE_Addr::set_addr (void *, int) -{ -} - -ACE_INLINE int -ACE_Addr::operator == (const ACE_Addr &sap) const -{ - return (sap.addr_type_ == this->addr_type_ && - sap.addr_size_ == this->addr_size_ ); -} - -ACE_INLINE int -ACE_Addr::operator != (const ACE_Addr &sap) const -{ - return (sap.addr_type_ != this->addr_type_ || - sap.addr_size_ != this->addr_size_ ); -} - -// Return the size of the address. - -ACE_INLINE int -ACE_Addr::get_size (void) const -{ - return this->addr_size_; -} - -// Sets the size of the address. - -ACE_INLINE void -ACE_Addr::set_size (int size) -{ - this->addr_size_ = size; -} - -// Return the type of the address. - -ACE_INLINE int -ACE_Addr::get_type (void) const -{ - return this->addr_type_; -} - -// Set the type of the address. - -ACE_INLINE void -ACE_Addr::set_type (int type) -{ - this->addr_type_ = type; -} diff --git a/ace/Array.cpp b/ace/Array.cpp deleted file mode 100644 index cd3190b5c08..00000000000 --- a/ace/Array.cpp +++ /dev/null @@ -1,137 +0,0 @@ -// $Id$ - -#if !defined (ARRAY_C) -#define ARRAY_C - -#define ACE_BUILD_DLL -#include "Array.h" - -#if !defined (__ACE_INLINE__) -#include "Array.i" -#endif /* __ACE_INLINE__ */ - -// Dynamically initialize an array. - -template -ACE_Array::ACE_Array (size_t size) - : max_size_ (size), - cur_size_ (size) -{ - ACE_NEW (this->array_, T[size]); -} - -template -ACE_Array::ACE_Array (size_t size, - const T &default_value) - : max_size_ (size), - cur_size_ (size) -{ - ACE_NEW (this->array_, T[size]); - - for (size_t i = 0; i < size; i++) - this->array_[i] = default_value; -} - -// The copy constructor (performs initialization). - -template -ACE_Array::ACE_Array (const ACE_Array &s) - : max_size_ (s.size ()), - cur_size_ (s.size ()) -{ - ACE_NEW (this->array_, T[s.size ()]); - - for (size_t i = 0; i < this->size (); i++) - this->array_[i] = s.array_[i]; -} - -// Assignment operator (performs assignment). - -template void -ACE_Array::operator= (const ACE_Array &s) -{ - // Check for "self-assignment". - - if (this == &s) - return; - else if (this->max_size_ < s.size ()) - { - delete [] this->array_; - - ACE_NEW (this->array_, T[s.size ()]); - - this->max_size_ = s.size (); - } - - this->cur_size_ = s.size (); - - for (size_t i = 0; i < this->size (); i++) - this->array_[i] = s.array_[i]; -} - -// Set an item in the array at location index. - -template int -ACE_Array::set (const T &new_item, size_t index) -{ - if (this->in_range (index)) - { - this->array_[index] = new_item; - return 0; - } - else - return -1; -} - -// Get an item in the array at location index. - -template int -ACE_Array::get (T &item, size_t index) const -{ - if (this->in_range (index)) - { - item = this->array_[index]; // Copies the item. If you don't - // want to copy, use operator [] instead - // (but then you'll be responsible for - // range checking). - return 0; - } - else - return -1; -} - -// Compare this array with for equality. - -template int -ACE_Array::operator== (const ACE_Array &s) const -{ - if (this == &s) - return 1; - else if (this->cur_size_ != s.cur_size_) - return 0; - - for (size_t index = 0; index < s.cur_size_; index++) - if (this->array_[index] != s.array_[index]) - return 0; - - return 1; -} - -template int -ACE_Array_Iterator::next (T *&item) -{ - // ACE_TRACE ("ACE_Array_Iterator::next"); - - if (this->done ()) - { - item = 0; - return 0; - } - else - { - item = &array_[current_]; - return 1; - } -} - -#endif /* ARRAY_C */ diff --git a/ace/Array.h b/ace/Array.h deleted file mode 100644 index b39d2dc37ed..00000000000 --- a/ace/Array.h +++ /dev/null @@ -1,169 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Array.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_ARRAY_H) -#define ACE_ARRAY_H - -#include "ace/ACE.h" - -// Forward declaration. -template class ACE_Array_Iterator; - -template -class ACE_Array -{ - // = TITLE - // Implement a dynamic array class. -public: - // Define a "trait" - typedef T TYPE; - - // = Exceptions. - - // = Initialization and termination methods. - - ACE_Array (size_t size); - // Dynamically create an uninitialized array. - - ACE_Array (size_t size, const T &default_value); - // Dynamically initialize the entire array to the . - - ACE_Array (const ACE_Array &s); - // The copy constructor performs initialization by making an exact - // copy of the contents of parameter , i.e., *this == s will - // return true. - - void operator= (const ACE_Array &s); - // Assignment operator performs an assignment by making an exact - // copy of the contents of parameter , i.e., *this == s will - // return true. Note that if the of is >= than - // we can copy it without reallocating. However, if - // is < we must delete the , - // reallocate a new , and then copy the contents of . - - ~ACE_Array (void); - // Clean up the array (e.g., delete dynamically allocated memory). - - // = Set/get methods. - - T &operator [] (size_t index); - // Set item in the array at location . Doesn't - // perform range checking. - - const T &operator [] (size_t index) const; - // Get item in the array at location . Doesn't - // perform range checking. - - int set (const T &new_item, size_t index); - // Set an item in the array at location . Returns - // -1 if is not in range, else returns 0. - - int get (T &item, size_t index) const; - // Get an item in the array at location . Returns -1 if - // is not in range, else returns 0. Note that this function - // copies the item. If you want to avoid the copy, you can use - // the const operator [], but then you'll be responsible for range checking. - - size_t size (void) const; - // Returns the of the array. - - int operator== (const ACE_Array &s) const; - // Compare this array with for equality. Two arrays are equal - // if their size()'s are equal and all the elements from 0 .. size() - // are equal. - - int operator!= (const ACE_Array &s) const; - // Compare this array with for inequality such that <*this> != - // is always the complement of the boolean return value of - // <*this> == . - -private: - int in_range (size_t index) const; - // Returns 1 if is within range, i.e., 0 >= < - // , else returns 0. - - size_t max_size_; - // Maximum size of the array, i.e., the total number of elements - // in . - - size_t cur_size_; - // Current size of the array. This starts out being == to - // . However, if we are assigned a smaller array, then - // will become less than . The purpose of - // keeping track of both sizes is to avoid reallocating memory if we - // don't have to. - - T *array_; - // Pointer to the array's storage buffer. - - friend class ACE_Array_Iterator; -}; - -template -class ACE_Array_Iterator -{ - // = TITLE - // Implement an iterator over an ACE_Array. - // - // = DESCRIPTION - // This iterator is safe in the face of array element deletions. - // But it is NOT safe if the array is resized (via the ACE_Array - // assignment operator) during iteration. That would be very - // odd, and dangerous. -public: - // = Initialization method. - ACE_Array_Iterator (ACE_Array &); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the Array. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the Array. Returns 0 when all the - // items in the Array have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - u_int current_; - // Pointer to the current item in the iteration. - - ACE_Array &array_; - // Pointer to the Array we're iterating over. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Array.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Array.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Array.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_ARRAY_H */ diff --git a/ace/Array.i b/ace/Array.i deleted file mode 100644 index 32058b290b8..00000000000 --- a/ace/Array.i +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- C++ -*- */ - -// Clean up the array (e.g., delete dynamically allocated memory). - -template ACE_INLINE -ACE_Array::~ACE_Array (void) -{ - delete [] this->array_; -} - -template ACE_INLINE size_t -ACE_Array::size (void) const -{ - return this->cur_size_; -} - -template ACE_INLINE int -ACE_Array::in_range (size_t index) const -{ - return index < this->cur_size_; -} - -template ACE_INLINE T & -ACE_Array::operator[] (size_t index) -{ - return this->array_[index]; -} - -template ACE_INLINE const T & -ACE_Array::operator[] (size_t index) const -{ - return this->array_[index]; -} - -// Compare this array with for inequality. - -template ACE_INLINE int -ACE_Array::operator!= (const ACE_Array &s) const -{ - return !(*this == s); -} - -template ACE_INLINE void -ACE_Array_Iterator::dump (void) const -{ - // ACE_TRACE ("ACE_Array_Iterator::dump"); -} - -template ACE_INLINE -ACE_Array_Iterator::ACE_Array_Iterator (ACE_Array &a) - : current_ (0), - array_ (a) -{ - // ACE_TRACE ("ACE_Array_Iterator::ACE_Array_Iterator"); -} - -template ACE_INLINE int -ACE_Array_Iterator::advance (void) -{ - // ACE_TRACE ("ACE_Array_Iterator::advance"); - - if (this->current_ < array_.size ()) - { - ++this->current_; - return 1; - } - else - { - // Already finished iterating. - return 0; - } -} - -template ACE_INLINE int -ACE_Array_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Array_Iterator::done"); - - return this->current_ >= array_.size (); -} diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp deleted file mode 100644 index 9f0756d2be2..00000000000 --- a/ace/Asynch_Acceptor.cpp +++ /dev/null @@ -1,234 +0,0 @@ -#if !defined (ACE_ASYNCH_ACCEPTOR_C) -#define ACE_ASYNCH_ACCEPTOR_C - -#define ACE_BUILD_DLL -#include "ace/Asynch_Acceptor.h" - -#if defined (ACE_WIN32) -// This only works on Win32 platforms - -#include "ace/Message_Block.h" -#include "ace/INET_Addr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Asynch_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -template -ACE_Asynch_Acceptor::ACE_Asynch_Acceptor (void) - : listen_handle_ (ACE_INVALID_HANDLE), - pass_addresses_ (0), - bytes_to_read_ (0) -{ -} - -template -ACE_Asynch_Acceptor::~ACE_Asynch_Acceptor (void) -{ - // Close down the listen socket - if (this->listen_handle_ != ACE_INVALID_HANDLE) - ACE_OS::closesocket (this->listen_handle_); -} - -template int -ACE_Asynch_Acceptor::open (const ACE_INET_Addr &address, - size_t bytes_to_read, - int pass_addresses, - int backlog, - int reuse_addr, - ACE_Proactor *proactor) -{ - this->proactor (proactor); - this->pass_addresses_ = pass_addresses; - this->bytes_to_read_ = bytes_to_read; - - // Create the listener socket - this->listen_handle_ = ACE_OS::socket (PF_INET, SOCK_STREAM, 0); - if (this->listen_handle_ == ACE_INVALID_HANDLE) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_OS::socket"), -1); - - // Initialize the ACE_Asynch_Accept - if (this->asynch_accept_.open (*this, - this->listen_handle_, - 0, - this->proactor ()) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Asynch_Accept::open"), -1); - - if (reuse_addr) - { - // Reuse the address - int one = 1; - if (ACE_OS::setsockopt (this->listen_handle_, - SOL_SOCKET, - SO_REUSEADDR, - (const char*) &one, - sizeof one) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_OS::setsockopt"), -1); - } - - // If port is not specified, bind to any port. - static ACE_INET_Addr sa ((const ACE_INET_Addr &) ACE_Addr::sap_any); - - if (address == sa && ACE::bind_port (this->listen_handle_) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE::bind_port"), -1); - - // Bind to the specified port. - if (ACE_OS::bind (this->listen_handle_, - (sockaddr *) address.get_addr (), - address.get_size ()) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "ACE_OS::bind"), - -1); - - // Start listening - if (ACE_OS::listen (this->listen_handle_, backlog) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "ACE_OS::listen"), -1); - - // For the number of . - - for (int i = 0; i < backlog; i++) - // Initiate accepts. - if (this->accept (bytes_to_read) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "ACE_Asynch_Acceptor::accept"), -1); - return 0; -} - -template int -ACE_Asynch_Acceptor::accept (size_t bytes_to_read) -{ - ACE_Message_Block *message_block = 0; - size_t space_needed = bytes_to_read + 2 * this->address_size (); - - // Create a new message block big enough for the addresses and data - ACE_NEW_RETURN (message_block, ACE_Message_Block (space_needed), -1); - - // Initiate asynchronous accepts - if (this->asynch_accept_.accept (*message_block, - bytes_to_read) == -1) - { - // Cleanup on error - message_block->release (); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Asynch_Accept::accept"), -1); - } - return 0; -} - -template void -ACE_Asynch_Acceptor::handle_accept (const ACE_Asynch_Accept::Result &result) -{ -#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)) || (_WIN32_WINNT >= 0x0400) - // If the asynchronous accept succeeds - if (result.success ()) - { - // In order to use accept handle with other Window Sockets 1.1 - // functions, we call the setsockopt function with the - // SO_UPDATE_ACCEPT_CONTEXT option. This option initializes the - // socket so that other Windows Sockets routines to access the - // socket correctly. - - if (ACE_OS::setsockopt (result.accept_handle (), - SOL_SOCKET, - SO_UPDATE_ACCEPT_CONTEXT, - (char *) &this->listen_handle_, - sizeof (this->listen_handle_)) == -1) - ACE_ERROR ((LM_ERROR, "%p", "ACE_OS::setsockopt")); - - // The Template method - HANDLER *new_handler = this->make_handler (); - - if (this->pass_addresses_) - { - ACE_INET_Addr local_address, remote_address; - // Parse the addresses - this->parse_address (result.message_block (), - remote_address, - local_address); - // Pass the addresses - new_handler->addresses (remote_address, local_address); - } - // Initiate the handler - new_handler->open (result.accept_handle (), - result.message_block ()); - } - else - // The asynchronous accept fails - { - // Close the accept handle - ACE_OS::closesocket (result.accept_handle ()); - ACE_ERROR ((LM_ERROR, "%p\n", "Asynchronous Accept")); - } - - // Delete the dynamically allocated message_block - result.message_block ().release (); - - // Start off another asynchronous accept to keep the backlog going - this->accept (this->bytes_to_read_); -#endif // defined (ACE_HAS_WINSOCK2) || (_WIN32_WINNT >= 0x0400) -} - -template int -ACE_Asynch_Acceptor::cancel (void) -{ - // All I/O operations that are canceled will complete with the error - // ERROR_OPERATION_ABORTED. All completion notifications for the I/O - // operations will occur normally. - return -1; // ::CancelIO (this->listen_handle_); -} - -template void -ACE_Asynch_Acceptor::parse_address (ACE_Message_Block &message_block, - ACE_INET_Addr &remote_address, - ACE_INET_Addr &local_address) -{ -#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)) || (_WIN32_WINNT >= 0x0400) - sockaddr *local_addr = 0; - sockaddr *remote_addr = 0; - int local_size = 0; - int remote_size = 0; - - ::GetAcceptExSockaddrs (message_block.rd_ptr (), - message_block.size () - 2 * this->address_size (), - this->address_size (), - this->address_size (), - &local_addr, - &local_size, - &remote_addr, - &remote_size); - - local_address.set_addr ((sockaddr_in *) local_addr, local_size); - remote_address.set_addr ((sockaddr_in *) remote_addr, remote_size); -#else - // just in case - errno = ENOTSUP; -#endif // defined (ACE_HAS_WINSOCK2) || (_WIN32_WINNT >= 0x0400) -} - -template ACE_HANDLE -ACE_Asynch_Acceptor::handle (void) const -{ - return this->listen_handle_; -} - -template HANDLER * -ACE_Asynch_Acceptor::make_handler (void) -{ - // Default behavior - HANDLER *handler = 0; - ACE_NEW_RETURN (handler, HANDLER, 0); - return handler; -} - -/* static */ -template size_t -ACE_Asynch_Acceptor::address_size (void) -{ - return sizeof (sockaddr) + sizeof (sockaddr_in); -} - -#endif /* ACE_WIN32 */ -#endif /* ACE_ASYNCH_ACCEPTOR_C */ diff --git a/ace/Asynch_Acceptor.h b/ace/Asynch_Acceptor.h deleted file mode 100644 index 8dc06e20b2e..00000000000 --- a/ace/Asynch_Acceptor.h +++ /dev/null @@ -1,123 +0,0 @@ -/* -*- C++ -*- */ -// $Id: Asynch_Acceptor.h,v - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Asynch_Acceptor.h -// -// = AUTHOR -// Irfan Pyarali (irfan@cs.wustl.edu) -// -// ============================================================================ - -#if !defined (ACE_ASYNCH_ACCEPTOR_H) -#define ACE_ASYNCH_ACCEPTOR_H - -#include "ace/OS.h" - -#if defined (ACE_WIN32) -// This only works on Win32 platforms - -#include "ace/Asynch_IO.h" - -// Forward declarations -class ACE_Message_Block; -class ACE_INET_Addr; - -template -class ACE_Asynch_Acceptor : public ACE_Handler -{ - // = TITLE - // This class is an example of the Acceptor Pattern. This class - // will accept new connections and create new HANDLER to handle - // the new connections. - // - // = DESCRIPTION - // Unlike the , however, this class is designed to - // be used asynchronously. -public: - ACE_Asynch_Acceptor (void); - // A do nothing constructor. - - ~ACE_Asynch_Acceptor (void); - // Virtual destruction - - int open (const ACE_INET_Addr &address, - size_t bytes_to_read = 0, - int pass_addresses = 0, - int backlog = 5, - int reuse_addr = 1, - ACE_Proactor *proactor = 0); - // This starts the listening process at the port specified by - //
    . ACE_Asynch_Acceptor initiates the AcceptEx calls with - // . The buffer for the initial data will be created - // by ACE_Asynch_Acceptor. This buffer will be passed to the - // handler in the callback. If this - // buffer is required past the callback, the - // ACE_Service_Handler must copy the data. If the - // flag is set, ACE_Asynch_Acceptor will call - // before calling - // . The parameter specifies - // the listen backlog and the outstanding AcceptEx calls. - - int accept (size_t bytes_to_read = 0); - // This initiates a new asynchronous accept through the AcceptEx call. - - static size_t address_size (void); - // This is required by the AcceptEx call. - - int cancel (void); - // This cancels all pending accepts operations that were issued by - // the calling thread. The function does not cancel accept - // operations issued by other threads. - -protected: - virtual void handle_accept (const ACE_Asynch_Accept::Result &result); - // This is called when an outstanding accept completes. - - ACE_HANDLE handle (void) const; - // Return the listen handle. - - void parse_address (ACE_Message_Block &message_block, - ACE_INET_Addr &remote_address, - ACE_INET_Addr &local_address); - // This parses the address from read buffer. - - virtual HANDLER *make_handler (void); - // This is the template method used to create new handler. - // Subclasses must overwrite this method if a new handler creation - // strategy is required. - -private: - ACE_HANDLE listen_handle_; - // Handle used to listen for new connections. - - ACE_Asynch_Accept asynch_accept_; - // Asynch_Accept used to make life easier :-) - - int pass_addresses_; - // Flag that indicates if parsing of addresses is necessary. - - int bytes_to_read_; - // Bytes to be read with the accept call. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Asynch_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Asynch_Acceptor.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Asynch_Acceptor.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_WIN32 */ -#endif /* ACE_ASYNCH_ACCEPTOR_H */ - diff --git a/ace/Asynch_Acceptor.i b/ace/Asynch_Acceptor.i deleted file mode 100644 index 37d47eeeddb..00000000000 --- a/ace/Asynch_Acceptor.i +++ /dev/null @@ -1,6 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Asynch_Acceptor.i - - diff --git a/ace/Asynch_IO.cpp b/ace/Asynch_IO.cpp deleted file mode 100644 index 4d534d6dfd7..00000000000 --- a/ace/Asynch_IO.cpp +++ /dev/null @@ -1,1021 +0,0 @@ -// Asynch_IO.cpp -// $Id: Asynch_IO,v - -#define ACE_BUILD_DLL -#include "ace/Asynch_IO.h" - -#if defined (ACE_WIN32) -// This only works on Win32 platforms - -#include "ace/Proactor.h" -#include "ace/Message_Block.h" -#include "ace/Service_Config.h" -#include "ace/Inet_Addr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Asynch_IO.i" -#endif /* __ACE_INLINE__ */ - -ACE_Asynch_Result::ACE_Asynch_Result (ACE_Handler &handler, - const void* act, - ACE_HANDLE event, - u_long offset, - u_long offset_high) - : handler_ (handler), - act_ (act), - bytes_transferred_ (0), - success_ (0), - completion_key_ (0), - error_ (0) -{ - // Set the OVERLAPPED structure - this->Internal = 0; - this->InternalHigh = 0; - this->Offset = offset; - this->OffsetHigh = offset_high; - this->hEvent = event; -} - -ACE_Asynch_Result::~ACE_Asynch_Result (void) -{ -} - -u_long -ACE_Asynch_Result::bytes_transferred (void) const -{ - return this->bytes_transferred_; -} - -const void * -ACE_Asynch_Result::act (void) const -{ - return this->act_; -} - -int -ACE_Asynch_Result::success (void) const -{ - return this->success_; -} - -const void * -ACE_Asynch_Result::completion_key (void) const -{ - return this->completion_key_; -} - -u_long -ACE_Asynch_Result::error (void) const -{ - return this->error_; -} - -u_long -ACE_Asynch_Result::offset (void) const -{ - return this->Offset; -} - -u_long -ACE_Asynch_Result::offset_high (void) const -{ - return this->OffsetHigh; -} - -ACE_HANDLE -ACE_Asynch_Result::event (void) const -{ - return this->hEvent; -} - -// ************************************************************ - -ACE_Asynch_Operation::ACE_Asynch_Operation (void) - : handler_ (0), - handle_ (ACE_INVALID_HANDLE) -{ -} - -int -ACE_Asynch_Operation::open (ACE_Handler &handler, - ACE_HANDLE handle, - const void *completion_key, - ACE_Proactor *proactor) -{ - this->proactor_ = proactor; - this->handler_ = &handler; - this->handle_ = handle; - - // Grab the handle from the if is invalid - if (this->handle_ == ACE_INVALID_HANDLE) - this->handle_ = this->handler_->handle (); - if (this->handle_ == ACE_INVALID_HANDLE) - return -1; - - // If no proactor was passed - if (this->proactor_ == 0) - { - // Grab the proactor from the if - // proactor> is zero - this->proactor_ = this->handler_->proactor (); - if (this->proactor_ == 0) - this->proactor_ = ACE_Proactor::instance(); - } - - // Register with the - return this->proactor_->register_handle (this->handle_, completion_key); -} - -int -ACE_Asynch_Operation::cancel (void) -{ - // All I/O operations that are canceled will complete with the error - // ERROR_OPERATION_ABORTED. All completion notifications for the I/O - // operations will occur normally. - return -1; // ::CancelIO (this->handle_); -} - -// ************************************************************ - -ACE_Asynch_Read_Stream::ACE_Asynch_Read_Stream (void) -{ -} - -int -ACE_Asynch_Read_Stream::read (ACE_Message_Block &message_block, - u_long bytes_to_read, - const void *act) -{ - // Create the Asynch_Result - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - message_block, - bytes_to_read, - act, - this->proactor_->get_handle ()), - -1); - - return this->shared_read (result); -} - -int -ACE_Asynch_Read_Stream::shared_read (ACE_Asynch_Read_Stream::Result *result) -{ - u_long bytes_read; - - // Initiate the read - int initiate_result = ::ReadFile (result->handle (), - result->message_block ().wr_ptr (), - result->bytes_to_read (), - &bytes_read, - result); - if (initiate_result == 1) - // Immediate success: the OVERLAPPED will still get queued. - return 1; - - // If initiate failed, check for a bad error. - errno = ::GetLastError (); - switch (errno) - { - case ERROR_IO_PENDING: - // The IO will complete proactively: the OVERLAPPED will still - // get queued. - return 0; - - default: - // Something else went wrong: the OVERLAPPED will not get - // queued. - - // Cleanup dynamically allocated Asynch_Result - delete result; - - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ReadFile"), -1); - } -} - -// ************************************************************ - -ACE_Asynch_Read_Stream::Result::Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - ACE_HANDLE event) - : ACE_Asynch_Result (handler, act, event), - handle_ (handle), - message_block_ (message_block), - bytes_to_read_ (bytes_to_read) -{ -} - -u_long -ACE_Asynch_Read_Stream::Result::bytes_to_read (void) const -{ - return this->bytes_to_read_; -} - -ACE_Message_Block & -ACE_Asynch_Read_Stream::Result::message_block (void) const -{ - return this->message_block_; -} - -ACE_HANDLE -ACE_Asynch_Read_Stream::Result::handle (void) const -{ - return this->handle_; -} - -void -ACE_Asynch_Read_Stream::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // Appropriately move the pointers in the message block. - this->message_block_.wr_ptr (bytes_transferred); - - // Callback: notify of completion - this->handler_.handle_read_stream (*this); -} - -// ************************************************************ - -ACE_Asynch_Write_Stream::ACE_Asynch_Write_Stream (void) -{ -} - -int -ACE_Asynch_Write_Stream::write (ACE_Message_Block &message_block, - u_long bytes_to_write, - const void *act) -{ - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - message_block, - bytes_to_write, - act, - this->proactor_->get_handle ()), - -1); - - return this->shared_write (result); -} - -int -ACE_Asynch_Write_Stream::shared_write (ACE_Asynch_Write_Stream::Result *result) -{ - u_long bytes_written; - - // Initiate the write - int initiate_result = ::WriteFile (result->handle (), - result->message_block ().rd_ptr (), - result->bytes_to_write (), - &bytes_written, - result); - if (initiate_result == 1) - // Immediate success: the OVERLAPPED will still get queued. - return 1; - - // If initiate failed, check for a bad error. - errno = ::GetLastError (); - switch (errno) - { - case ERROR_IO_PENDING: - // The IO will complete proactively: the OVERLAPPED will still - // get queued. - return 0; - - default: - // Something else went wrong: the OVERLAPPED will not get - // queued. - - // Cleanup dynamically allocated Asynch_Result - delete result; - - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "WriteFile"), -1); - } -} - -// ************************************************************ - -ACE_Asynch_Write_Stream::Result::Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_write, - const void* act, - ACE_HANDLE event) - : ACE_Asynch_Result (handler, act, event), - handle_ (handle), - message_block_ (message_block), - bytes_to_write_ (bytes_to_write) -{ -} - -u_long -ACE_Asynch_Write_Stream::Result::bytes_to_write (void) const -{ - return this->bytes_to_write_; -} - -ACE_Message_Block & -ACE_Asynch_Write_Stream::Result::message_block (void) const -{ - return this->message_block_; -} - -ACE_HANDLE -ACE_Asynch_Write_Stream::Result::handle (void) const -{ - return this->handle_; -} - -void -ACE_Asynch_Write_Stream::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // Appropriately move the pointers in the message block. - this->message_block_.rd_ptr (bytes_transferred); - - // Callback: notify of completion - this->handler_.handle_write_stream (*this); -} - -// ************************************************************ - -int -ACE_Asynch_Read_File::read (ACE_Message_Block &message_block, - u_long bytes_to_read, - u_long offset, - u_long offset_high, - const void *act) -{ - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - message_block, - bytes_to_read, - act, - offset, - offset_high, - this->proactor_->get_handle ()), - -1); - - return this->shared_read (result); -} - -// ************************************************************ - -ACE_Asynch_Read_File::Result::Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - u_long offset, - u_long offset_high, - ACE_HANDLE event) - : ACE_Asynch_Read_Stream::Result (handler, handle, message_block, bytes_to_read, act, event) -{ - this->Offset = offset; - this->OffsetHigh = offset_high; -} - -void -ACE_Asynch_Read_File::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // Appropriately move the pointers in the message block. - this->message_block_.wr_ptr (bytes_transferred); - - // Callback: notify of completion - this->handler_.handle_read_file (*this); -} - -// ************************************************************ - -int -ACE_Asynch_Write_File::write (ACE_Message_Block &message_block, - u_long bytes_to_write, - u_long offset, - u_long offset_high, - const void *act) -{ - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - message_block, - bytes_to_write, - act, - offset, - offset_high, - this->proactor_->get_handle ()), - -1); - - return this->shared_write (result); -} - -// ************************************************************ - -ACE_Asynch_Write_File::Result::Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_write, - const void* act, - u_long offset, - u_long offset_high, - ACE_HANDLE event) - : ACE_Asynch_Write_Stream::Result (handler, handle, message_block, bytes_to_write, act, event) -{ - this->Offset = offset; - this->OffsetHigh = offset_high; -} - -void -ACE_Asynch_Write_File::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // Appropriately move the pointers in the message block. - this->message_block_.rd_ptr (bytes_transferred); - - // Callback: notify of completion - this->handler_.handle_write_file (*this); -} - -// ************************************************************ - -ACE_Asynch_Accept::ACE_Asynch_Accept (void) -{ -} - -int -ACE_Asynch_Accept::accept (ACE_Message_Block &message_block, - u_long bytes_to_read, - ACE_HANDLE accept_handle, - const void *act) -{ -#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)) || (_WIN32_WINNT >= 0x0400) - // Sanity check: make sure that enough space has been allocated by the caller. - size_t address_size = sizeof (sockaddr_in) + sizeof (sockaddr); - size_t space_in_use = message_block.wr_ptr () - message_block.base (); - size_t total_size = message_block.size (); - size_t available_space = total_size - space_in_use; - size_t space_needed = bytes_to_read + 2 * address_size; - if (available_space < space_needed) - ACE_ERROR_RETURN ((LM_ERROR, "Buffer too small\n"), -1); - - int close_accept_handle = 0; - // If the is invalid, we will create a new socket - if (accept_handle == ACE_INVALID_HANDLE) - { - accept_handle = ACE_OS::socket (PF_INET, - SOCK_STREAM, - 0); - if (accept_handle == ACE_INVALID_HANDLE) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_OS::socket"), -1); - else - // Remember to close the socket down if failures occur. - close_accept_handle = 1; - } - - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - accept_handle, - message_block, - bytes_to_read, - act, - this->proactor_->get_handle ()), - -1); - - u_long bytes_read; - - // Initiate the accept - int initiate_result = ::AcceptEx ((SOCKET) result->listen_handle (), - (SOCKET) result->accept_handle (), - result->message_block ().wr_ptr (), - result->bytes_to_read (), - address_size, - address_size, - &bytes_read, - result); - if (initiate_result == 1) - // Immediate success: the OVERLAPPED will still get queued. - return 1; - - // If initiate failed, check for a bad error. - errno = ::GetLastError (); - switch (errno) - { - case ERROR_IO_PENDING: - // The IO will complete proactively: the OVERLAPPED will still - // get queued. - return 0; - - default: - // Something else went wrong: the OVERLAPPED will not get - // queued. - - if (close_accept_handle == 1) - // Close the newly created socket - ACE_OS::closesocket (accept_handle); - - // Cleanup dynamically allocated Asynch_Result - delete result; - - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ReadFile"), -1); - } -#else - ACE_NOTSUP_RETURN (-1); -#endif /* defined (ACE_HAS_WINSOCK2) || (_WIN32_WINNT >= 0x0400) */ -} - -// ************************************************************ - -u_long -ACE_Asynch_Accept::Result::bytes_to_read (void) const -{ - return this->bytes_to_read_; -} - -ACE_Message_Block & -ACE_Asynch_Accept::Result::message_block (void) const -{ - return this->message_block_; -} - -ACE_HANDLE -ACE_Asynch_Accept::Result::listen_handle (void) const -{ - return this->listen_handle_; -} - -ACE_HANDLE -ACE_Asynch_Accept::Result::accept_handle (void) const -{ - return this->accept_handle_; -} - -ACE_Asynch_Accept::Result::Result (ACE_Handler &handler, - ACE_HANDLE listen_handle, - ACE_HANDLE accept_handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - ACE_HANDLE event) - : ACE_Asynch_Result (handler, act, event), - listen_handle_ (listen_handle), - accept_handle_ (accept_handle), - message_block_ (message_block), - bytes_to_read_ (bytes_to_read) -{ -} - -void -ACE_Asynch_Accept::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // Appropriately move the pointers in the message block. - this->message_block_.wr_ptr (bytes_transferred); - - // Callback: notify of completion - this->handler_.handle_accept (*this); -} - -// ************************************************************ - -ACE_Asynch_Transmit_File::ACE_Asynch_Transmit_File (void) -{ -} - -int -ACE_Asynch_Transmit_File::transmit_file (ACE_HANDLE file, - Header_And_Trailer *header_and_trailer, - u_long bytes_to_write, - u_long offset, - u_long offset_high, - u_long bytes_per_send, - u_long flags, - const void *act) -{ -#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)) || (_WIN32_WINNT >= 0x0400) - Result *result = 0; - ACE_NEW_RETURN (result, - Result (*this->handler_, - this->handle_, - file, - header_and_trailer, - bytes_to_write, - offset, - offset_high, - bytes_per_send, - flags, - act, - this->proactor_->get_handle ()), - -1); - - LPTRANSMIT_FILE_BUFFERS transmit_buffers = 0; - if (result->header_and_trailer () != 0) - transmit_buffers = result->header_and_trailer ()->transmit_buffers (); - - // Initiate the transmit file - int initiate_result = ::TransmitFile ((SOCKET) result->socket (), - result->file (), - result->bytes_to_write (), - result->bytes_per_send (), - result, - transmit_buffers, - result->flags ()); - if (initiate_result == 1) - // Immediate success: the OVERLAPPED will still get queued. - return 1; - - // If initiate failed, check for a bad error. - errno = ::GetLastError (); - switch (errno) - { - case ERROR_IO_PENDING: - // The IO will complete proactively: the OVERLAPPED will still - // get queued. - return 0; - - default: - // Something else went wrong: the OVERLAPPED will not get - // queued. - - // Cleanup dynamically allocated Asynch_Result - delete result; - - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "TransmitFile"), -1); - } -#else - ACE_NOTSUP_RETURN (-1); -#endif /* defined (ACE_HAS_WINSOCK2) || (_WIN32_WINNT >= 0x0400) */ -} - -// ************************************************************ - -ACE_HANDLE -ACE_Asynch_Transmit_File::Result::socket (void) const -{ - return this->socket_; -} - -ACE_HANDLE -ACE_Asynch_Transmit_File::Result::file (void) const -{ - return this->file_; -} - -ACE_Asynch_Transmit_File::Header_And_Trailer * -ACE_Asynch_Transmit_File::Result::header_and_trailer (void) const -{ - return this->header_and_trailer_; -} - -u_long -ACE_Asynch_Transmit_File::Result::bytes_to_write (void) const -{ - return this->bytes_to_write_; -} - -u_long -ACE_Asynch_Transmit_File::Result::bytes_per_send (void) const -{ - return this->bytes_per_send_; -} - -u_long -ACE_Asynch_Transmit_File::Result::flags (void) const -{ - return this->flags_; -} - -ACE_Asynch_Transmit_File::Result::Result (ACE_Handler &handler, - ACE_HANDLE socket, - ACE_HANDLE file, - Header_And_Trailer *header_and_trailer, - u_long bytes_to_write, - u_long offset, - u_long offset_high, - u_long bytes_per_send, - u_long flags, - const void *act, - ACE_HANDLE event) - : ACE_Asynch_Result (handler, act, event, offset, offset_high), - socket_ (socket), - file_ (file), - header_and_trailer_ (header_and_trailer), - bytes_to_write_ (bytes_to_write), - bytes_per_send_ (bytes_per_send), - flags_ (flags) -{ -} - -void -ACE_Asynch_Transmit_File::Result::complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error) -{ - // Copy the data which was returned by GetQueuedCompletionStatus - this->bytes_transferred_ = bytes_transferred; - this->success_ = success; - this->completion_key_ = completion_key; - this->error_ = error; - - // We will not do this because (a) the header and trailer blocks may - // be the same message_blocks and (b) in cases of failures we have - // no idea how much of what (header, data, trailer) was sent. - /* - if (this->success_ && this->header_and_trailer_ != 0) - { - ACE_Message_Block *header = this->header_and_trailer_->header (); - if (header != 0) - header->rd_ptr (this->header_and_trailer_->header_bytes ()); - - ACE_Message_Block *trailer = this->header_and_trailer_->trailer (); - if (trailer != 0) - trailer->rd_ptr (this->header_and_trailer_->trailer_bytes ()); - } - */ - - // Callback: notify of completion - this->handler_.handle_transmit_file (*this); -} - -// ************************************************************ - -ACE_Asynch_Transmit_File::Header_And_Trailer::Header_And_Trailer (ACE_Message_Block *header, - u_long header_bytes, - ACE_Message_Block *trailer, - u_long trailer_bytes) - : header_ (header), - header_bytes_ (header_bytes), - trailer_ (trailer), - trailer_bytes_ (trailer_bytes) -{ -} - -void -ACE_Asynch_Transmit_File::Header_And_Trailer::header_and_trailer (ACE_Message_Block *header, - u_long header_bytes, - ACE_Message_Block *trailer, - u_long trailer_bytes) -{ - this->header (header); - this->header_bytes (header_bytes); - this->trailer (trailer); - this->trailer_bytes (trailer_bytes); -} - -ACE_Message_Block * -ACE_Asynch_Transmit_File::Header_And_Trailer::header (void) const -{ - return this->header_; -} - -void -ACE_Asynch_Transmit_File::Header_And_Trailer::header (ACE_Message_Block *message_block) -{ - this->header_ = message_block; -} - -u_long -ACE_Asynch_Transmit_File::Header_And_Trailer::header_bytes (void) const -{ - return this->header_bytes_; -} - -void -ACE_Asynch_Transmit_File::Header_And_Trailer::header_bytes (u_long bytes) -{ - this->header_bytes_ = bytes; -} - -ACE_Message_Block * -ACE_Asynch_Transmit_File::Header_And_Trailer::trailer (void) const -{ - return this->trailer_; -} - -void -ACE_Asynch_Transmit_File::Header_And_Trailer::trailer (ACE_Message_Block *message_block) -{ - this->trailer_ = message_block; -} - -u_long -ACE_Asynch_Transmit_File::Header_And_Trailer::trailer_bytes (void) const -{ - return this->trailer_bytes_; -} - -void -ACE_Asynch_Transmit_File::Header_And_Trailer::trailer_bytes (u_long bytes) -{ - this->trailer_bytes_ = bytes; -} - -LPTRANSMIT_FILE_BUFFERS -ACE_Asynch_Transmit_File::Header_And_Trailer::transmit_buffers (void) -{ - // If both are zero, return zero - if (this->header_ == 0 && this->trailer_ == 0) - return 0; - else - { - // Something is valid - - // If header is valid, set the fields - if (this->header_ != 0) - { - this->transmit_buffers_.Head = this->header_->rd_ptr (); - this->transmit_buffers_.HeadLength = this->header_bytes_; - } - else - { - this->transmit_buffers_.Head = 0; - this->transmit_buffers_.HeadLength = 0; - } - - // If trailer is valid, set the fields - if (this->trailer_ != 0) - { - this->transmit_buffers_.Tail = this->trailer_->rd_ptr (); - this->transmit_buffers_.TailLength = this->trailer_bytes_; - } - else - { - this->transmit_buffers_.Tail = 0; - this->transmit_buffers_.TailLength = 0; - } - - // Return the transmit buffers - return &this->transmit_buffers_; - } -} - -// ************************************************************ - -ACE_Handler::~ACE_Handler (void) -{ -} - -ACE_Handler::ACE_Handler (void) - : proactor_ (0) -{ -} - -ACE_Handler::ACE_Handler (ACE_Proactor *d) - : proactor_ (d) -{ -} - -void -ACE_Handler::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -void -ACE_Handler::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -void -ACE_Handler::handle_accept (const ACE_Asynch_Accept::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -void -ACE_Handler::handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -void -ACE_Handler::handle_read_file (const ACE_Asynch_Read_File::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -void -ACE_Handler::handle_write_file (const ACE_Asynch_Write_File::Result &result) -{ - ACE_UNUSED_ARG (result); -} - -/* -void -ACE_Handler::handle_notify (const ACE_Asynch_Notify::Result &result) -{ - ACE_UNUSED_ARG (result); -} -*/ - -void -ACE_Handler::handle_time_out (const ACE_Time_Value &tv, - const void *act) -{ - ACE_UNUSED_ARG (tv); - ACE_UNUSED_ARG (act); -} - -ACE_Proactor * -ACE_Handler::proactor (void) -{ - return this->proactor_; -} - -void -ACE_Handler::proactor (ACE_Proactor *p) -{ - this->proactor_ = p; -} - -ACE_HANDLE -ACE_Handler::handle (void) const -{ - return ACE_INVALID_HANDLE; -} - -// ************************************************************ - -ACE_Service_Handler::ACE_Service_Handler (void) -{ -} - -ACE_Service_Handler::~ACE_Service_Handler (void) -{ -} - -void -ACE_Service_Handler::addresses (const ACE_INET_Addr &remote_address, - const ACE_INET_Addr &local_address) -{ - // Default behavior is to print out the addresses. - char local_address_buf[BUFSIZ], remote_address_buf[BUFSIZ]; - if (local_address.addr_to_string (local_address_buf, sizeof local_address_buf) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "can't obtain local_address's address string")); - - if (remote_address.addr_to_string (remote_address_buf, sizeof remote_address_buf) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "can't obtain remote_address's address string")); - - ACE_DEBUG ((LM_DEBUG, "On fd %d\n", this->handle ())); - ACE_DEBUG ((LM_DEBUG, "local address %s\n", local_address_buf)); - ACE_DEBUG ((LM_DEBUG, "remote address %s\n", remote_address_buf)); -} - -void -ACE_Service_Handler::open (ACE_HANDLE, - ACE_Message_Block &) -{ -} - -#endif /* ACE_WIN32 */ diff --git a/ace/Asynch_IO.h b/ace/Asynch_IO.h deleted file mode 100644 index 81f96c591af..00000000000 --- a/ace/Asynch_IO.h +++ /dev/null @@ -1,858 +0,0 @@ -/* -*- C++ -*- */ -// $Id: Asynch_IO.h,v - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Asynch_IO.h -// -// = DESCRIPTION -// This only works on Win32 platforms. -// -// The implementation of and -// are only supported if ACE_HAS_WINSOCK2 is -// defined or you are on WinNT 4.0 or higher -// -// = AUTHOR -// Irfan Pyarali (irfan@cs.wustl.edu) -// Tim Harrison (harrison@cs.wustl.edu) -// -// ============================================================================ - -#if !defined (ACE_ASYNCH_IO_H) -#define ACE_ASYNCH_IO_H - -#include "ace/OS.h" - -#if defined (ACE_WIN32) - -// Forward declarations -class ACE_Proactor; -class ACE_Handler; -class ACE_Message_Block; -class ACE_INET_Addr; - -class ACE_Export ACE_Asynch_Result : protected OVERLAPPED -{ - // = TITLE - // An abstract class which adds information to the OVERLAPPED - // structure to make it more useful. - // - // = DESCRIPTION - // An abstract base class from which you can obtain some basic - // information like the number of bytes transferred, the ACT - // associated with the asynchronous operation, indication of - // success or failure, etc. Subclasses may want to store more - // information that is particular to the asynchronous operation - // it represents. -public: - // Proactor is the only class which is allowed to call the - // method. - friend class ACE_Proactor; - - u_long bytes_transferred (void) const; - // Number of bytes transferred by the operation. - - const void *act (void) const; - // ACT associated with the operation. - - int success (void) const; - // Did the operation succeed? - - const void *completion_key (void) const; - // This returns the ACT associated with the handle when it was - // registered with the I/O completion port. This ACT is not the - // same as the ACT associated with the asynchronous operation. - - u_long error (void) const; - // Error value if the operation fail. - - ACE_HANDLE event (void) const; - // Event associated with the OVERLAPPED structure - - u_long offset (void) const; - u_long offset_high (void) const; - // Offset associated with the OVERLAPPED structure. This really - // make sense only when doing file I/O. - - ACE_Asynch_Result (ACE_Handler &handler, - const void* act, - ACE_HANDLE event, - u_long offset = 0, - u_long offset_high = 0); - // Constructor. - - virtual ~ACE_Asynch_Result (void); - // Destructor. - -protected: - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0) = 0; - // This is the key method. Subclasses will override this method to - // call the correct callback on the handler. - - ACE_Handler &handler_; - // Handler that will be called back. - - const void *act_; - // ACT for this operation. - - u_long bytes_transferred_; - // Bytes transferred by this operation. - - int success_; - // Success indicator. - - const void *completion_key_; - // ACT associated with handle. - - u_long error_; - // Error if operation failed. -}; - -// ************************************************************ - -class ACE_Export ACE_Asynch_Operation -{ - // = TITLE - // This is a base class for all asynch operations. - // - // = DESCRIPTION - // There are some attributes and functionality which is common - // to all asychronous operations. This abstract class will - // factor out this code. -public: - int open (ACE_Handler &handler, - ACE_HANDLE handle = ACE_INVALID_HANDLE, - const void *completion_key = 0, - ACE_Proactor *proactor = 0); - // Initializes the factory with information which will be used with - // each asynchronous call. If ( == ACE_INVALID_HANDLE), - // will be called on the to get the - // correct handle. - - int cancel (void); - // This cancels all pending accepts operations that were issued by - // the calling thread. The function does not cancel asynchronous - // operations issued by other threads. - -protected: - ACE_Asynch_Operation (void); - // A no-op constructor. - - ACE_Proactor *proactor_; - // Proactor that this Asynch IO will be registered with. - - ACE_Handler *handler_; - // Handler that will receive the callback. - - ACE_HANDLE handle_; - // I/O handle used for reading. -}; - -class ACE_Export ACE_Asynch_Read_Stream : public ACE_Asynch_Operation -{ - // = TITLE - // This class is a factory for starting off asynchronous reads - // on a stream. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s can - // started using this class. An ACE_Asynch_Read_Stream::Result - // will be passed back to the when the asynchronous - // reads completes through the - // callback. -public: - class Result; - // Forward declaration of the Result class. - - ACE_Asynch_Read_Stream (void); - // A do nothing constructor. - - int read (ACE_Message_Block &message_block, - u_long bytes_to_read, - const void *act = 0); - // This starts off an asynchronous read. Upto will - // be read and stored in the . - -protected: - int shared_read (Result *result); - // This is the method which does the real work and is there so that - // the ACE_Asynch_Read_File class can use it too. - -public: - class ACE_Export Result : public ACE_Asynch_Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous read completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous read. - friend class ACE_Asynch_Read_Stream; - // The factory has special privileges. - - public: - u_long bytes_to_read (void) const; - // The number of bytes which were requested at the start of the - // asynchronous read. - - ACE_Message_Block &message_block (void) const; - // Message block which contains the read data. - - ACE_HANDLE handle (void) const; - // I/O handle used for reading. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Read_Stream factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the read completes. - - protected: - u_long bytes_to_read_; - // Bytes requested when the asynchronous read was initiated. - - ACE_Message_Block &message_block_; - // Message block for reading the data into. - - ACE_HANDLE handle_; - // I/O handle used for reading. - }; -}; - -class ACE_Export ACE_Asynch_Write_Stream : public ACE_Asynch_Operation -{ - // = TITLE - // This class is a factory for starting off asynchronous writes - // on a stream. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s can - // started using this class. A ACE_Asynch_Write_Stream::Result - // will be passed back to the when the asynchronous - // write completes through the - // callback. -public: - class Result; - // Forward declaration of the Result class. - - ACE_Asynch_Write_Stream (void); - // A do nothing constructor. - - int write (ACE_Message_Block &message_block, - u_long bytes_to_write, - const void *act = 0); - // This starts off an asynchronous write. Upto - // will be written from the . - -protected: - int shared_write (Result *result); - // This is the method which does the real work and is there so that - // the ACE_Asynch_Write_File class can use it too. - -public: - class ACE_Export Result : public ACE_Asynch_Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous write completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous write. - public: - friend class ACE_Asynch_Write_Stream; - // The factory has special privileges. - - u_long bytes_to_write (void) const; - // The number of bytes which were requested at the start of the - // asynchronous write. - - ACE_Message_Block &message_block (void) const; - // Message block that contains the data to be written. - - ACE_HANDLE handle (void) const; - // I/O handle used for writing. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_write, - const void* act, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Write_Stream factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the write completes. - - protected: - u_long bytes_to_write_; - // The number of bytes which were requested at the start of the - // asynchronous write. - - ACE_Message_Block &message_block_; - // Message block that contains the data to be written. - - ACE_HANDLE handle_; - // I/O handle used for writing. - }; -}; - -class ACE_Export ACE_Asynch_Read_File : public ACE_Asynch_Read_Stream -{ - // = TITLE - // This class is a factory for starting off asynchronous reads - // on a file. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s can - // started using this class. A ACE_Asynch_Read_File::Result - // will be passed back to the when the asynchronous - // reads completes through the - // callback. - // - // This class differs slightly from ACE_Asynch_Read_Stream as it - // allows the user to specify an offset for the read. -public: - int read (ACE_Message_Block &message_block, - u_long bytes_to_read, - u_long offset = 0, - u_long offset_high = 0, - const void *act = 0); - // This starts off an asynchronous read. Upto will - // be read and stored in the . The read will start - // at from the beginning of the file. - -public: - class ACE_Export Result : public ACE_Asynch_Read_Stream::Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous read completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous read. - // - // This class differs slightly from - // ACE_Asynch_Read_Stream::Result as it calls back - // on the instead of - // . No additional state is - // required by this class as ACE_Asynch_Result can store the - // . - - friend class ACE_Asynch_Read_File; - // The factory has special privileges. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - u_long offset, - u_long offset_high, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Read_File factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the read completes. - }; -}; - -class ACE_Export ACE_Asynch_Write_File : public ACE_Asynch_Write_Stream -{ -public: - // = TITLE - // This class is a factory for starting off asynchronous writes - // on a file. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s can - // started using this class. A ACE_Asynch_Write_File::Result - // will be passed back to the when the asynchronous - // writes completes through the - // callback. - // - // This class differs slightly from ACE_Asynch_Write_Stream as - // it allows the user to specify an offset for the write. - int write (ACE_Message_Block &message_block, - u_long bytes_to_write, - u_long offset = 0, - u_long offset_high = 0, - const void *act = 0); - // This starts off an asynchronous write. Upto - // will be write and stored in the . The write will - // start at from the beginning of the file. - -public: - class ACE_Export Result : public ACE_Asynch_Write_Stream::Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous write completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous write. - // - // This class differs slightly from - // ACE_Asynch_Write_Stream::Result as it calls back - // on the instead - // of . No additional state - // is required by this class as ACE_Asynch_Result can store - // the . - - friend class ACE_Asynch_Write_File; - // The factory has special privileges. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE handle, - ACE_Message_Block &message_block, - u_long bytes_to_write, - const void* act, - u_long offset, - u_long offset_high, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Write_File factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the write completes. - }; -}; - -class ACE_Export ACE_Asynch_Accept : public ACE_Asynch_Operation -{ - // = TITLE - // This class is a factory for starting off asynchronous accepts - // on a listen handle. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s can - // started using this class. A ACE_Asynch_Accept::Result will - // be passed back to the when the asynchronous accept - // completes through the - // callback. -public: - ACE_Asynch_Accept (void); - // A do nothing constructor. - - int accept (ACE_Message_Block &message_block, - u_long bytes_to_read, - ACE_HANDLE accept_handle = ACE_INVALID_HANDLE, - const void *act = 0); - // This starts off an asynchronous accept. The asynchronous accept - // call also allows any initial data to be returned to the - // . Upto will be read and stored in the - // . The will be used for the - // call. If ( == INVALID_HANDLE), a new - // handle will be created. - // - // must be specified. This is because the address of - // the new connection is placed at the end of this buffer. - -public: - class ACE_Export Result : public ACE_Asynch_Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous accept completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous accept. - public: - friend class ACE_Asynch_Accept; - // The factory has special privileges. - - u_long bytes_to_read (void) const; - // The number of bytes which were requested at the start of the - // asynchronous accept. - - ACE_Message_Block &message_block (void) const; - // Message block which contains the read data. - - ACE_HANDLE listen_handle (void) const; - // I/O handle used for accepting new connections. - - ACE_HANDLE accept_handle (void) const; - // I/O handle for the new connection. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE listen_handle, - ACE_HANDLE accept_handle, - ACE_Message_Block &message_block, - u_long bytes_to_read, - const void* act, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Accept factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the accept completes. - - protected: - u_long bytes_to_read_; - // Bytes requested when the asynchronous read was initiated. - - ACE_Message_Block &message_block_; - // Message block for reading the data into. - - ACE_HANDLE listen_handle_; - // I/O handle used for accepting new connections. - - ACE_HANDLE accept_handle_; - // I/O handle for the new connection. - }; -}; - -class ACE_Export ACE_Asynch_Transmit_File : public ACE_Asynch_Operation -{ - // = TITLE - // This class is a factory for starting off asynchronous - // transmit files on a stream. - // - // = DESCRIPTION - // Once is called, multiple asynchronous s - // can started using this class. A - // ACE_Asynch_Transmit_File::Result will be passed back to the - // when the asynchronous transmit file completes - // through the callback. - // - // The transmit_file function transmits file data over a - // connected network connection. The function uses the operating - // system's cache manager to retrieve the file data. This - // function provides high-performance file data transfer over - // network connections. This function would be of great use in - // a Web Server, Image Server, etc. -public: - class Header_And_Trailer; - // Forward declaration. - - ACE_Asynch_Transmit_File (void); - // A do nothing constructor. - - int transmit_file (ACE_HANDLE file, - Header_And_Trailer *header_and_trailer = 0, - u_long bytes_to_write = 0, - u_long offset = 0, - u_long offset_high = 0, - u_long bytes_per_send = 0, - u_long flags = 0, - const void *act = 0); - // This starts off an asynchronous transmit file. The is a - // handle to an open file. is a pointer to a - // data structure that contains pointers to data to send before and - // after the file data is sent. Set this parameter to 0 if you only - // want to transmit the file data. Upto will be - // written to the . If you want to send the entire file, - // let = 0. is the size of each - // block of data sent per send operation. Please read the Win32 - // documentation on what the flags should be. - -public: - class ACE_Export Result : public ACE_Asynch_Result - { - // = TITLE - // This is that class which will be passed back to the - // when the asynchronous transmit file completes. - // - // = DESCRIPTION - // This class has all the information necessary for the - // to uniquiely identify the completion of the - // asynchronous transmit file. - public: - friend class ACE_Asynch_Transmit_File; - // The factory has special privileges. - - ACE_HANDLE socket (void) const; - // Socket used for transmitting the file. - - ACE_HANDLE file (void) const; - // File from which the data is read. - - Header_And_Trailer *header_and_trailer (void) const; - // Header and trailer data associated with this transmit file. - - u_long bytes_to_write (void) const; - // The number of bytes which were requested at the start of the - // asynchronous transmit file. - - u_long bytes_per_send (void) const; - // Number of bytes per send requested at the start of the transmit - // file. - - u_long flags (void) const; - // Flags which were passed into transmit file. - - // protected: - // - // These two should really be protected. But sometimes it - // simplifies code to be able to "fake" a result. Use carefully. - Result (ACE_Handler &handler, - ACE_HANDLE socket, - ACE_HANDLE file, - Header_And_Trailer *header_and_trailer, - u_long bytes_to_write, - u_long offset, - u_long offset_high, - u_long bytes_per_send, - u_long flags, - const void *act, - ACE_HANDLE event); - // Constructor is protected since creation is limited to - // ACE_Asynch_Transmit_File factory. - - virtual void complete (u_long bytes_transferred, - int success, - const void *completion_key, - u_long error = 0); - // ACE_Proactor will call this method when the write completes. - - protected: - ACE_HANDLE socket_; - // Network I/O handle. - - ACE_HANDLE file_; - // File I/O handle. - - Header_And_Trailer *header_and_trailer_; - // Header and trailer data associated with this transmit file. - - u_long bytes_to_write_; - // The number of bytes which were requested at the start of the - // asynchronous transmit file. - - u_long bytes_per_send_; - // Number of bytes per send requested at the start of the transmit - // file. - - u_long flags_; - // Flags which were passed into transmit file. - }; - - class ACE_Export Header_And_Trailer - { - // = TITLE - // The class defines a data structure that contains pointers - // to data to send before and after the file data is sent. - // - // = DESCRIPTION - // This class provides a wrapper over TRANSMIT_FILE_BUFFERS - // and provided a consistent use of ACE_Message_Blocks. - public: - Header_And_Trailer (ACE_Message_Block *header = 0, - u_long header_bytes = 0, - ACE_Message_Block *trailer = 0, - u_long trailer_bytes = 0); - // Constructor - - void header_and_trailer (ACE_Message_Block *header = 0, - u_long header_bytes = 0, - ACE_Message_Block *trailer = 0, - u_long trailer_bytes = 0); - // This method allows all the member to be set in one fell swoop. - - ACE_Message_Block *header (void) const; - void header (ACE_Message_Block *message_block); - // Header which goes before the file data. - - u_long header_bytes (void) const; - void header_bytes (u_long bytes); - // Size of the header data. - - ACE_Message_Block *trailer (void) const; - void trailer (ACE_Message_Block *message_block); - // Trailer which goes after the file data. - - u_long trailer_bytes (void) const; - void trailer_bytes (u_long bytes); - // Size of the trailer data. - - LPTRANSMIT_FILE_BUFFERS transmit_buffers (void); - // Conversion routine. - - protected: - ACE_Message_Block *header_; - // Header data. - - u_long header_bytes_; - // Size of header data. - - ACE_Message_Block *trailer_; - // Trailer data. - - u_long trailer_bytes_; - // Size of trailer data. - - TRANSMIT_FILE_BUFFERS transmit_buffers_; - // Target data structure. - }; -}; - -class ACE_Export ACE_Handler -{ - // = TITLE - // This base class defines the interface for receiving the - // results of asynchronous operations. - // - // = DESCRIPTION - // Subclasses of this class will fill in appropriate methods. -public: - ACE_Handler (void); - // A do nothing constructor. - - ACE_Handler (ACE_Proactor *p); - // A do nothing constructor which allows proactor to be set to . - - virtual ~ACE_Handler (void); - // Virtual destruction. - - virtual void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result); - // This method will be called when an asynchronous read completes on - // a stream. - - virtual void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result); - // This method will be called when an asynchronous write completes - // on a strea_m. - - virtual void handle_read_file (const ACE_Asynch_Read_File::Result &result); - // This method will be called when an asynchronous read completes on - // a file. - - virtual void handle_write_file (const ACE_Asynch_Write_File::Result &result); - // This method will be called when an asynchronous write completes - // on a file. - - virtual void handle_accept (const ACE_Asynch_Accept::Result &result); - // This method will be called when an asynchronous accept completes. - - virtual void handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result); - // This method will be called when an asynchronous transmit file - // completes. - - virtual void handle_time_out (const ACE_Time_Value &tv, - const void *act = 0); - // Called when timer expires. was the requested time value and - // is the ACT passed when scheduling the timer - - ACE_Proactor *proactor (void); - // Get the proactor associated with this handler. - - void proactor (ACE_Proactor *p); - // Set the proactor. - - virtual ACE_HANDLE handle (void) const; - // Get the I/O handle used by this . This method will be - // called by the ACE_Asynch_* classes when an ACE_INVALID_HANDLE is - // passed to . - -protected: - ACE_Proactor *proactor_; - // The proactor associated with this handler. -}; - -// Forward declartion -template -class ACE_Asynch_Acceptor; - -class ACE_Export ACE_Service_Handler : public ACE_Handler -{ - // = TITLE - // This base class defines the interface for the - // ACE_Asynch_Acceptor to call into when new connection are - // accepted. - // - // = DESCRIPTION - // Subclasses of this class will fill in appropriate methods to - // define application specific behavior. -public: - friend class ACE_Asynch_Acceptor; - // The Acceptor is the factory and therefore should have special - // privileges. - - ACE_Service_Handler (void); - // A do nothing constructor. - - virtual ~ACE_Service_Handler (void); - // Virtual destruction. - - virtual void open (ACE_HANDLE new_handle, - ACE_Message_Block &message_block); - // is called by ACE_Asynch_Acceptor to initialize a new - // instance of ACE_Service_Handler that has been created after the a - // new connection is accepted. The handle for the new connection is - // passed along with an initial data that may have shown up. - - // protected: - // This should be corrected after the correct semantics of the - // friend has been figured out. - - virtual void addresses (const ACE_INET_Addr &remote_address, - const ACE_INET_Addr &local_address); - // Called by ACE_Asynch_Acceptor to pass the addresses of the new - // connections. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Asynch_IO.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_WIN32 */ -#endif /* ACE_ASYNCH_IO_H */ - diff --git a/ace/Asynch_IO.i b/ace/Asynch_IO.i deleted file mode 100644 index a1d45b3ca47..00000000000 --- a/ace/Asynch_IO.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Asynch_IO.i diff --git a/ace/Atomic_Op.i b/ace/Atomic_Op.i deleted file mode 100644 index 8c56bb42ba2..00000000000 --- a/ace/Atomic_Op.i +++ /dev/null @@ -1,193 +0,0 @@ -// $Id$ - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator++ (void) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator++"); - ACE_Guard m (this->mutex_); - return ++this->value_; -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator+= (const TYPE &i) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator+="); - ACE_Guard m (this->mutex_); - return this->value_ += i; -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator-- (void) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator--"); - ACE_Guard m (this->mutex_); - return --this->value_; -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator-= (const TYPE &i) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator-="); - ACE_Guard m (this->mutex_); - return this->value_ -= i; -} - -template ACE_INLINE -ACE_Atomic_Op::ACE_Atomic_Op (const ACE_Atomic_Op &rhs) -{ -// ACE_TRACE ("ACE_Atomic_Op::ACE_Atomic_Op"); - *this = rhs; // Invoke the assignment operator. -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator++ (int) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator++"); - ACE_Guard m (this->mutex_); - return this->value_++; -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::operator-- (int) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator--"); - ACE_Guard m (this->mutex_); - return this->value_--; -} - -template ACE_INLINE int -ACE_Atomic_Op::operator== (const TYPE &i) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator=="); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_ == i; -} - -template ACE_INLINE int -ACE_Atomic_Op::operator!= (const TYPE &i) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator!="); - return !(*this == i); -} - -template ACE_INLINE int -ACE_Atomic_Op::operator>= (const TYPE &i) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator>="); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_ >= i; -} - -template ACE_INLINE int -ACE_Atomic_Op::operator> (const TYPE &rhs) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator>"); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_ > rhs; -} - -template ACE_INLINE int -ACE_Atomic_Op::operator<= (const TYPE &rhs) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator<="); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_ <= rhs; -} - -template ACE_INLINE int -ACE_Atomic_Op::operator< (const TYPE &rhs) const -{ -// ACE_TRACE ("ACE_Atomic_Op::operator<"); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_ < rhs; -} - -template ACE_INLINE void -ACE_Atomic_Op::operator= (const ACE_Atomic_Op &rhs) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator="); - if (&rhs == this) - return; // Avoid deadlock... - ACE_Guard m (this->mutex_); - // This will call ACE_Atomic_Op::TYPE(), which will ensure the value - // of is acquired atomically. - - this->value_ = rhs.value (); -} - -template ACE_INLINE TYPE -ACE_Atomic_Op::value (void) const -{ -// ACE_TRACE ("ACE_Atomic_Op::value"); - ACE_Guard m ((ACE_LOCK &) this->mutex_); - return this->value_; -} - -template ACE_INLINE TYPE & -ACE_Atomic_Op::value_i (void) -{ - // Explicitly return (by reference). This gives the user - // full, unrestricted access to the underlying value. This method - // will usually be used in conjunction with explicit access to the - // lock. Use with care ;-) - return this->value_; -} - -template ACE_INLINE void -ACE_Atomic_Op::operator= (const TYPE &i) -{ -// ACE_TRACE ("ACE_Atomic_Op::operator="); - ACE_Guard m (this->mutex_); - this->value_ = i; -} - -// These specializations have been added to ACE_Atomic_Op to make the -// implementation faster on Win32 that has OS support for doing this -// quickly through methods like InterlockedIncrement and -// InterlockedDecrement - -#if defined (ACE_WIN32) - -inline long -ACE_Atomic_Op::operator++ (void) -{ - return ::InterlockedIncrement (&this->value_); -} - -inline long -ACE_Atomic_Op::operator-- (void) -{ - return ::InterlockedDecrement (&this->value_); -} - -inline void -ACE_Atomic_Op::operator= (const long &i) -{ - ::InterlockedExchange (&this->value_, - i); -} - -inline void -ACE_Atomic_Op::operator= (const ACE_Atomic_Op &rhs) -{ - ::InterlockedExchange (&this->value_, - rhs.value ()); -} - -#if defined (ACE_HAS_INTERLOCKED_EXCHANGEADD) - -inline long -ACE_Atomic_Op::operator+= (const long &i) -{ - return ::InterlockedExchangeAdd (&this->value_, i); -} - -inline long -ACE_Atomic_Op::operator-= (const long &i) -{ - return ::InterlockedExchangeAdd (&this->value_, -i); -} - -#endif /* ACE_HAS_INTERLOCKED_EXCHANGEADD */ - -#endif /* ACE_WIN32 */ diff --git a/ace/Auto_Ptr.cpp b/ace/Auto_Ptr.cpp deleted file mode 100644 index 6f082595f81..00000000000 --- a/ace/Auto_Ptr.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// Auto_Ptr.cpp -// $Id$ - -#if !defined (ACE_AUTO_PTR_C) -#define ACE_AUTO_PTR_C - -#define ACE_BUILD_DLL -#include "ace/Auto_Ptr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Auto_Ptr.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Auto_Basic_Ptr) - -template void -ACE_Auto_Basic_Ptr::dump (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::dump"); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Auto_Basic_Array_Ptr) - -template void -ACE_Auto_Basic_Array_Ptr::dump (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::dump"); -} - -#endif /* ACE_AUTO_PTR_C */ diff --git a/ace/Auto_Ptr.h b/ace/Auto_Ptr.h deleted file mode 100644 index 5ac032a2fb7..00000000000 --- a/ace/Auto_Ptr.h +++ /dev/null @@ -1,129 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Auto_Ptr.h -// -// = AUTHOR -// Doug Schmidt, based on code from Jack Reeves (jack@fx.com) and -// Dr. Harald M. Mueller (mueller@garwein.hai.siemens.co.at) -// -// ============================================================================ - -#if !defined (ACE_AUTO_PTR_H) -#define ACE_AUTO_PTR_H - -#include "ace/ACE.h" - -template -class ACE_Auto_Basic_Ptr -{ - // = TITLE - // Implements the draft C++ standard auto_ptr abstraction. - // This class allows one to work on non-object (basic) types -public: - // = Initialization and termination methods - /* explicit */ ACE_Auto_Basic_Ptr (X *p = 0); - ACE_Auto_Basic_Ptr (const ACE_Auto_Basic_Ptr &ap); - ACE_Auto_Basic_Ptr &operator= (const ACE_Auto_Basic_Ptr &rhs); - ~ACE_Auto_Basic_Ptr (void); - - // = Accessor methods. - X &operator *() const; - X *get (void) const; - X *release (void) const; - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - X *p_; -}; - -#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && \ - (ACE_HAS_STANDARD_CPP_LIBRARY != 0) -#include -#if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) && \ - (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB != 0) -using std::auto_ptr; -#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ -#else /* ACE_HAS_STANDARD_CPP_LIBRARY */ - -template -class auto_ptr : public ACE_Auto_Basic_Ptr -{ - // = TITLE - // Implements the draft C++ standard auto_ptr abstraction. -public: - // = Initialization and termination methods - /* explicit */ auto_ptr (X *p = 0); - - X *operator-> () const; -}; - -#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ - -template -class ACE_Auto_Basic_Array_Ptr -{ - // = TITLE - // Implements an extension to the draft C++ standard auto_ptr - // abstraction. This class allows one to work on non-object - // (basic) types -public: - // = Initialization and termination methods. - /* explicit */ ACE_Auto_Basic_Array_Ptr (X *p = 0); - ACE_Auto_Basic_Array_Ptr (const ACE_Auto_Basic_Array_Ptr &ap); - ACE_Auto_Basic_Array_Ptr &operator= (const ACE_Auto_Basic_Array_Ptr &rhs); - ~ACE_Auto_Basic_Array_Ptr (void); - - // = Accessor methods. - X &operator* () const; - X &operator[] (int i) const; - X *get (void) const; - X *release (void) const; - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - X *p_; -}; - -template -class ACE_Auto_Array_Ptr : public ACE_Auto_Basic_Array_Ptr -{ - // = TITLE - // Implements an extension to the draft C++ standard auto_ptr - // abstraction. -public: - // = Initialization and termination methods. - /* explicit */ ACE_Auto_Array_Ptr (X *p = 0); - - X *operator-> () const; -}; - -#if defined (__ACE_INLINE__) -#include "ace/Auto_Ptr.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Auto_Ptr.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Auto_Ptr.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_AUTO_PTR_H */ diff --git a/ace/Auto_Ptr.i b/ace/Auto_Ptr.i deleted file mode 100644 index 794c0f260ca..00000000000 --- a/ace/Auto_Ptr.i +++ /dev/null @@ -1,156 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Auto_Ptr.i - -template ACE_INLINE -ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr (X *p) - : p_ (p) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr"); -} - -template ACE_INLINE -ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr (const ACE_Auto_Basic_Ptr &ap) - : p_ (ap.release ()) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr"); -} - -template ACE_INLINE ACE_Auto_Basic_Ptr & -ACE_Auto_Basic_Ptr::operator= (const ACE_Auto_Basic_Ptr &rhs) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::operator="); - if (this != &rhs) - { - delete this->p_; - this->p_ = rhs.release (); - } - return *this; -} - -template ACE_INLINE -ACE_Auto_Basic_Ptr::~ACE_Auto_Basic_Ptr (void) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::~ACE_Auto_Basic_Ptr"); - delete p_; -} - -template ACE_INLINE X & -ACE_Auto_Basic_Ptr::operator *() const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::operator *()"); - return *p_; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Ptr::get (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::get"); - return p_; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Ptr::release (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::release"); - X *old = this->p_; - ACE_Auto_Basic_Ptr *fake_this = (ACE_Auto_Basic_Ptr *) this; - fake_this->p_ = 0; - return old; -} - -#if !defined (ACE_HAS_STANDARD_CPP_LIBRARY) || \ - (ACE_HAS_STANDARD_CPP_LIBRARY == 0) - -template ACE_INLINE -auto_ptr::auto_ptr (X *p) - : ACE_Auto_Basic_Ptr (p) -{ - ACE_TRACE ("auto_ptr::auto_ptr"); -} - -template ACE_INLINE X * -auto_ptr::operator-> () const -{ - ACE_TRACE ("auto_ptr::operator->"); - return ACE_Auto_Basic_Ptr::p_; -} - -#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ - -template ACE_INLINE -ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr (X *p) - : p_ (p) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr"); -} - -template ACE_INLINE -ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr (const ACE_Auto_Basic_Array_Ptr &ap) - : p_ (ap.release ()) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr"); -} - -template ACE_INLINE ACE_Auto_Basic_Array_Ptr & -ACE_Auto_Basic_Array_Ptr::operator= (const ACE_Auto_Basic_Array_Ptr &rhs) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::operator="); - if (this != &rhs) - { - delete [] this->p_; - this->p_ = rhs.release (); - } - return *this; -} - -template ACE_INLINE -ACE_Auto_Basic_Array_Ptr::~ACE_Auto_Basic_Array_Ptr (void) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::~ACE_Auto_Basic_Array_Ptr"); - delete [] p_; -} - -template ACE_INLINE X & -ACE_Auto_Basic_Array_Ptr::operator *() const -{ - return *p_; -} - -template ACE_INLINE X & -ACE_Auto_Basic_Array_Ptr::operator[](int i) const -{ - return p_[i]; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Array_Ptr::get (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::get"); - return p_; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Array_Ptr::release (void) const -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::release"); - X *old = this->p_; - ACE_Auto_Basic_Array_Ptr *fake_this = (ACE_Auto_Basic_Array_Ptr *) this; - fake_this->p_ = 0; - return old; -} - -template ACE_INLINE -ACE_Auto_Array_Ptr::ACE_Auto_Array_Ptr (X *p) - : ACE_Auto_Basic_Array_Ptr (p) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr"); -} - -template ACE_INLINE X * -ACE_Auto_Array_Ptr::operator->() const -{ - return ACE_Auto_Basic_Array_Ptr::p_; -} - diff --git a/ace/Basic_Types.cpp b/ace/Basic_Types.cpp deleted file mode 100644 index 585e80760f1..00000000000 --- a/ace/Basic_Types.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL - -#include "ace/OS.h" -#if !defined (__ACE_INLINE__) -# include "ace/Basic_Types.i" -#endif /* ! __ACE_INLINE__ */ - -#if defined (ACE_USES_ACE_U_LONGLONG) -void -ACE_U_LongLong::output (FILE *file) const -{ - if (hi_ > 0) - ACE_OS::fprintf (file, "0x%lx%0*lx", hi_, 2 * sizeof lo_, lo_); - else - ACE_OS::fprintf (file, "0x%lx", lo_); -} -#endif /* ACE_USES_ACE_U_LONGLONG */ diff --git a/ace/Basic_Types.h b/ace/Basic_Types.h deleted file mode 100644 index de62f8c73ad..00000000000 --- a/ace/Basic_Types.h +++ /dev/null @@ -1,309 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Basic_Types.h -// -// = AUTHORS -// David L. Levine -// -// = DESCRIPTION -// #defines the following preprocessor macros: -// -// Sizes of built-in types: -// ACE_SIZEOF_CHAR -// ACE_SIZEOF_WCHAR -// ACE_SIZEOF_SHORT -// ACE_SIZEOF_INT -// ACE_SIZEOF_LONG -// ACE_SIZEOF_LONG_LONG -// ACE_SIZEOF_VOID_P -// ACE_SIZEOF_FLOAT -// ACE_SIZEOF_DOUBLE -// ACE_SIZEOF_LONG_DOUBLE -// -// Wrappers for built-in types of specific sizes: -// ACE_INT16 -// ACE_UINT16 -// ACE_INT32 -// ACE_UINT32 -// ACE_UINT64 -// (Note: ACE_INT64 is not defined, because there is no ACE_LongLong for -// platforms that don't have a native 8-byte integer type.) -// -// Byte-order (endian-ness) determination: -// ACE_BYTE_ORDER, to either ACE_BIG_ENDIAN or ACE_LITTLE_ENDIAN -// -// ============================================================================ - -#if !defined (ACE_BASIC_TYPES_H) -#define ACE_BASIC_TYPES_H - -// A char always has 1 byte, by definition. -#define ACE_SIZEOF_CHAR 1 - -// Unfortunately, there isn't a portable way to determine the size of a wchar. -#if defined (VXWORKS) && defined (ghs) -# define ACE_SIZEOF_WCHAR 1 -#else -# define ACE_SIZEOF_WCHAR sizeof (wchar_t) -#endif /* VXWORKS && ghs */ - -// The number of bytes in a short. -#if (USHRT_MAX) == 255U -# define ACE_SIZEOF_SHORT 1 -#elif (USHRT_MAX) == 65535U -# define ACE_SIZEOF_SHORT 2 - typedef short ACE_INT16; - typedef unsigned short ACE_UINT16; -#elif (USHRT_MAX) == 4294967295U -# define ACE_SIZEOF_SHORT 4 - typedef short ACE_INT32; - typedef unsigned short ACE_UINT32; -#elif (USHRT_MAX) == 18446744073709551615U -# define ACE_SIZEOF_SHORT 8 -#else -# error: unsupported short size, must be updated for this platform! -#endif /* USHRT_MAX */ - -// The number of bytes in an int. -#if (UINT_MAX) == 65535U -# define ACE_SIZEOF_INT 2 -# if ACE_SIZEOF_SHORT != 2 - typedef int ACE_INT16; - typedef unsigned int ACE_UINT16; -# endif /* ACE_SIZEOF_SHORT != 2 */ -#elif (UINT_MAX) == 4294967295U -# define ACE_SIZEOF_INT 4 -# if ACE_SIZEOF_SHORT != 4 - typedef int ACE_INT32; - typedef unsigned int ACE_UINT32; -# endif /* ACE_SIZEOF_SHORT != 4 */ -#elif (UINT_MAX) == 18446744073709551615U -# define ACE_SIZEOF_INT 8 - typedef unsigned int ACE_UINT64; -#else -# error: unsupported int size, must be updated for this platform! -#endif /* UINT_MAX */ - -// The number of bytes in a long. -#if (ULONG_MAX) == 65535UL -# define ACE_SIZEOF_LONG 2 -#elif (ULONG_MAX) == 4294967295UL -# define ACE_SIZEOF_LONG 4 -# if ACE_SIZEOF_SHORT != 4 && ACE_SIZEOF_INT != 4 - typedef long ACE_INT32; - typedef unsigned long ACE_UINT32; -# endif /* ACE_SIZEOF_SHORT != 4 && ACE_SIZEOF_INT != 4 */ -#elif (ULONG_MAX) == 18446744073709551615UL -# define ACE_SIZEOF_LONG 8 -# if ACE_SIZEOF_INT != 8 - typedef unsigned long ACE_UINT64; -# endif /* ACE_SIZEOF_INT != 8 */ -#else -# error: unsupported long size, must be updated for this platform! -#endif /* ULONG_MAX */ - -// The number of bytes in a long long. -#if defined (ACE_WIN32) -# define ACE_SIZEOF_LONG_LONG 8 - typedef unsigned __int64 ACE_UINT64; -#elif defined (ULLONG_MAX) && !defined (__GNUG__) && \ - !defined (ACE_LACKS_LONGLONG_T) -# if (ULLONG_MAX) == 18446744073709551615ULL -# define ACE_SIZEOF_LONG_LONG 8 -# if ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 - typedef unsigned long long ACE_UINT64; -# endif /* ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 */ -# elif (ULLONG_MAX) == 4294967295ULL - // For some reason, this branch is taken if it appears first. - // g++ can't deal with the ULL's at all. What's going on here? -# define ACE_SIZEOF_LONG_LONG 4 -# if ACE_SIZEOF_SHORT != 4 && ACE_SIZEOF_INT != 4 && ACE_SIZEOF_LONG != 4 - typedef long long ACE_INT32; - typedef unsigned long long ACE_UINT32; -# endif /* ACE_SIZEOF_{SHORT,INT,LONG} != 4 */ -# else -# error: unsupported long long size, must be updated for this platform! -# endif /* ULLONG_MAX */ -#elif defined (ULONGLONG_MAX) && !defined (ACE_LACKS_LONGLONG_T) - // Irix 6.x, for example. -# if (ULONGLONG_MAX) == 18446744073709551615ULL -# define ACE_SIZEOF_LONG_LONG 8 -# if ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 - typedef unsigned long long ACE_UINT64; -# endif /* ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 */ -# else -# error: unsupported long long size, must be updated for this platform! -# endif /* ULLONG_MAX */ -#else /* ! ACE_WIN32 || (! ULLONG_MAX || __GNUG__) || ! ULONGLONG_MAX || - ACE_LACKS_LONGLONG_T */ -# if defined (ACE_LACKS_LONGLONG_T) - class ACE_Export ACE_U_LongLong - // = TITLE - // Unsigned long long for platforms that don't have one. - // - // = DESCRIPTION - // Provide our own unsigned long long. This is intended to be - // use with ACE_High_Res_Timer, so the division operator assumes - // that the quotient fits into a u_long. - // Please note that the constructor takes (optionally) two values. - // The high one contributes 0x100000000 times its value. So, - // for example, (0, 2) is _not_ 20000000000, but instead - // 0x200000000. To emphasize this, the default values are expressed - // in hex, and dump () outputs the value in hex. - { - public: - // = Initialization and termination methods. - ACE_U_LongLong (const ACE_UINT32 lo = 0x0, const ACE_UINT32 hi = 0x0); - ACE_U_LongLong (const ACE_U_LongLong &); - ACE_U_LongLong &operator= (const ACE_U_LongLong &); - ~ACE_U_LongLong (void); - - // = Overloaded relation operators. - int operator== (const ACE_U_LongLong &) const; - int operator!= (const ACE_U_LongLong &) const; - int operator< (const ACE_U_LongLong &) const; - int operator<= (const ACE_U_LongLong &) const; - int operator> (const ACE_U_LongLong &) const; - int operator>= (const ACE_U_LongLong &) const; - - ACE_U_LongLong operator+ (const ACE_U_LongLong &) const; - ACE_U_LongLong operator- (const ACE_U_LongLong &) const; - - // Note that the following take ACE_UINT32 arguments. These are - // typical use cases, and easy to implement. But, they limit - // the return values to 32 bits as well. There are no checks - // for overflow. - ACE_UINT32 operator/ (const ACE_UINT32) const; - ACE_UINT32 operator% (const ACE_UINT32) const; - - ACE_U_LongLong &operator+= (const ACE_U_LongLong &); - ACE_U_LongLong &operator-= (const ACE_U_LongLong &); - ACE_U_LongLong &operator++ (); - ACE_U_LongLong &operator-- (); - - // = Helper methods. - void output (FILE * = stdout) const; - // Outputs the value to the FILE, in hex. - - ACE_UINT32 hi (void) const; - ACE_UINT32 lo (void) const; - - void hi (const ACE_UINT32 hi); - void lo (const ACE_UINT32 lo); - - ACE_ALLOC_HOOK_DECLARE; - - private: - ACE_UINT32 hi_; - ACE_UINT32 lo_; - }; - -# define ACE_USES_ACE_U_LONGLONG -# define ACE_SIZEOF_LONG_LONG 8 -# if ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 - typedef ACE_U_LongLong ACE_UINT64; -# endif /* ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 */ -# else /* ! ACE_LACKS_LONGLONG_T */ - // Assume that the platform has 8-byte long longs. -# define ACE_SIZEOF_LONG_LONG 8 -# if ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 -# if defined (sun) - // sun #defines u_longlong_t, maybe other platforms do also. - // Use it, at least with g++, so that its -pedantic doesn't - // complain about no ANSI C++ long long. - typedef u_longlong_t ACE_UINT64; -# else - // LynxOS 2.5.0 and Linux don't have u_longlong_t. - typedef unsigned long long ACE_UINT64; -# endif /* sun */ -# endif /* ACE_SIZEOF_INT != 8 && ACE_SIZEOF_LONG != 8 */ -# endif /* ! ACE_LACKS_LONGLONG_T */ -#endif /* ! ACE_WIN32 || (! ULLONG_MAX || __GNUG__) || ! ULONGLONG_MAX || - ACE_LACKS_LONGLONG_T */ - -// The number of bytes in a void *. -#define ACE_SIZEOF_VOID_P ACE_SIZEOF_LONG - -// The number of bytes in a float. -#if FLT_MAX_EXP == 128 -# define ACE_SIZEOF_FLOAT 4 -#elif FLT_MAX_EXP == 1024 -# define ACE_SIZEOF_FLOAT 8 -#else -# error: unsupported float size, must be updated for this platform! -#endif /* FLT_MAX */ - -// The number of bytes in a double. -#if DBL_MAX_EXP == 128 -# define ACE_SIZEOF_DOUBLE 4 -#elif DBL_MAX_EXP == 1024 -# define ACE_SIZEOF_DOUBLE 8 -#else -# error: unsupported double size, must be updated for this platform! -#endif /* DBL_MAX */ - -// The number of bytes in a long double. -#if defined (__sgi) - // The Irix 6.x float.h doesn't allow us to distinguish between a - // double and a long double. Gotta hard code this . . . -# define ACE_SIZEOF_LONG_DOUBLE 16 -#elif LDBL_MAX_EXP == 128 -# define ACE_SIZEOF_LONG_DOUBLE 4 -#elif defined (i386) || defined (__i386__) || defined (_M_IX386) || \ - defined (ACE_NETBSD) || defined (__FreeBSD__) -# define ACE_SIZEOF_LONG_DOUBLE 12 -#elif LDBL_MAX_EXP == 1024 -# define ACE_SIZEOF_LONG_DOUBLE 8 -#elif LDBL_MAX_EXP == 16384 -# define ACE_SIZEOF_LONG_DOUBLE 16 -#else -# error: unsupported double size, must be updated for this platform! -#endif /* LDBL_MAX_EXP */ - -// Byte-order (endian-ness) determination. -#if defined (BYTE_ORDER) -# if (BYTE_ORDER == LITTLE_ENDIAN) -# define ACE_LITTLE_ENDIAN 0123X -# define ACE_BYTE_ORDER ACE_LITTLE_ENDIAN -# elif (BYTE_ORDER == BIG_ENDIAN) -# define ACE_BIG_ENDIAN 3210X -# define ACE_BYTE_ORDER ACE_BIG_ENDIAN -# else -# error: unknown BYTE_ORDER! -# endif /* BYTE_ORDER */ -#elif defined (__BYTE_ORDER) -# if (__BYTE_ORDER == __LITTLE_ENDIAN) -# define ACE_LITTLE_ENDIAN 0123X -# define ACE_BYTE_ORDER ACE_LITTLE_ENDIAN -# elif (__BYTE_ORDER == __BIG_ENDIAN) -# define ACE_BIG_ENDIAN 3210X -# define ACE_BYTE_ORDER ACE_BIG_ENDIAN -# else -# error: unknown __BYTE_ORDER! -# endif /* __BYTE_ORDER */ -#else /* ! BYTE_ORDER && ! __BYTE_ORDER */ - // We weren't explicitly told, so we have to figure it out . . . -# if defined (i386) || defined (__i386__) || defined (_M_IX86) || \ - defined (vax) || defined (__alpha) - // We know these are little endian. -# define ACE_LITTLE_ENDIAN 0123X -# define ACE_BYTE_ORDER ACE_LITTLE_ENDIAN -# else - // Otherwise, we'll assume big endian. -# define ACE_BIG_ENDIAN 3210X -# define ACE_BYTE_ORDER ACE_BIG_ENDIAN -# endif -#endif /* ! BYTE_ORDER && ! __BYTE_ORDER */ - -#if defined (__ACE_INLINE__) -# include "ace/Basic_Types.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_BASIC_TYPES_H */ diff --git a/ace/Basic_Types.i b/ace/Basic_Types.i deleted file mode 100644 index e2d938e1af6..00000000000 --- a/ace/Basic_Types.i +++ /dev/null @@ -1,179 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#if defined (ACE_USES_ACE_U_LONGLONG) - -ACE_INLINE -ACE_U_LongLong::ACE_U_LongLong (const ACE_UINT32 lo, const ACE_UINT32 hi) - : hi_ (hi), lo_ (lo) -{ -} - -ACE_INLINE ACE_UINT32 -ACE_U_LongLong::hi (void) const -{ - return hi_; -} - -ACE_INLINE ACE_UINT32 -ACE_U_LongLong::lo (void) const -{ - return lo_; -} - -ACE_INLINE void -ACE_U_LongLong::hi (const ACE_UINT32 hi) -{ - hi_ = hi; -} - -ACE_INLINE void -ACE_U_LongLong::lo (const ACE_UINT32 lo) -{ - lo_ = lo; -} - -ACE_INLINE -ACE_U_LongLong::~ACE_U_LongLong (void) -{ -} - -ACE_INLINE int -ACE_U_LongLong::operator== (const ACE_U_LongLong &n) const -{ - return hi_ == n.hi_ && lo_ == n.lo_; -} - -ACE_INLINE int -ACE_U_LongLong::operator!= (const ACE_U_LongLong &n) const -{ - return ! (*this == n); -} - -ACE_INLINE int -ACE_U_LongLong::operator< (const ACE_U_LongLong &n) const -{ - return hi_ < n.hi_ ? 1 - : hi_ > n.hi_ ? 0 - : lo_ < n.lo_; -} - -ACE_INLINE int -ACE_U_LongLong::operator<= (const ACE_U_LongLong &n) const -{ - return hi_ < n.hi_ ? 1 - : hi_ > n.hi_ ? 0 - : lo_ <= n.lo_; -} - -ACE_INLINE int -ACE_U_LongLong::operator> (const ACE_U_LongLong &n) const -{ - return hi_ > n.hi_ ? 1 - : hi_ < n.hi_ ? 0 - : lo_ > n.lo_; -} - -ACE_INLINE int -ACE_U_LongLong::operator>= (const ACE_U_LongLong &n) const -{ - return hi_ > n.hi_ ? 1 - : hi_ < n.hi_ ? 0 - : lo_ >= n.lo_; -} - -ACE_INLINE -ACE_U_LongLong::ACE_U_LongLong (const ACE_U_LongLong &n) - : hi_ (n.hi_), - lo_ (n.lo_) -{ -} - -ACE_INLINE ACE_U_LongLong & -ACE_U_LongLong::operator= (const ACE_U_LongLong &n) -{ - hi_ = n.hi_; - lo_ = n.lo_; - return *this; -} - -ACE_INLINE ACE_U_LongLong -ACE_U_LongLong::operator+ (const ACE_U_LongLong &n) const -{ - ACE_U_LongLong ret (lo_ + n.lo_, hi_ + n.hi_); - if (ret.lo_ < n.lo_) /* carry */ ++ret.hi_; - return ret; -} - -ACE_INLINE ACE_U_LongLong -ACE_U_LongLong::operator- (const ACE_U_LongLong &n) const -{ - ACE_U_LongLong ret (lo_ - n.lo_, hi_ - n.hi_); - if (lo_ < n.lo_) /* borrow */ --ret.hi_; - return ret; -} - -ACE_INLINE ACE_UINT32 -ACE_U_LongLong::operator/ (const ACE_UINT32 n) const -{ - // This takes advantage of the fact that the return type has only 32 - // bits. Replace 0x100000000 with 0xffffffff + 1 because the latter - // has 33 bits. - // Quotient = (0x100000000u * hi_ + lo_) / n - // = ((0x100000000u - n + n) * hi_ + lo_) / n - // = ((0x100000000u - n) / n * hi_ + hi_ * n / n + lo_ / n - // = (0x100000000u - n) / n * hi_ + hi_ + lo_ / n - // = (0xffffffffu - n + 1) / n * hi_ + hi_ + lo_ / n - - return (0xffffffffu - n + 1) / n * hi_ + hi_ + lo_ / n; -} - -ACE_INLINE ACE_UINT32 -ACE_U_LongLong::operator% (const ACE_UINT32 n) const -{ - // Because the argument is an ACE_UINT32, the result can never be - // bigger than 32 bits. Replace 0x100000000 with 0xffffffff + 1 - // because the latter has 33 bits. - // Mod = (0x100000000u * hi_ + lo_) % n - // = (0x100000000u % n * hi_ + lo_ % n) % n - // = ((0x100000000u - n) % n * hi_ + lo_ % n) % n - // = ((0xffffffffu - n + 1) % n * hi_ + lo_ % n) % n - - return ((0xffffffff - n + 1) % n * hi_ + lo_ % n) % n; -} - -ACE_INLINE ACE_U_LongLong & -ACE_U_LongLong::operator+= (const ACE_U_LongLong &n) -{ - hi_ += n.hi_; - lo_ += n.lo_; - if (lo_ < n.lo_) /* carry */ ++hi_; - return *this; -} - -ACE_INLINE ACE_U_LongLong & -ACE_U_LongLong::operator-= (const ACE_U_LongLong &n) -{ - hi_ -= n.hi_; - if (lo_ < n.lo_) /* borrow */ --hi_; - lo_ -= n.lo_; - return *this; -} - -ACE_INLINE ACE_U_LongLong & -ACE_U_LongLong::operator++ () -{ - ++lo_; - if (lo_ == 0) /* carry */ ++hi_; - return *this; -} - -ACE_INLINE ACE_U_LongLong & -ACE_U_LongLong::operator-- () -{ - if (lo_ == 0) /* borrow */ --hi_; - --lo_; - return *this; -} - -#endif /* ACE_USES_ACE_U_LONGLONG */ diff --git a/ace/CORBA_Handler.cpp b/ace/CORBA_Handler.cpp deleted file mode 100644 index 78a52743fc5..00000000000 --- a/ace/CORBA_Handler.cpp +++ /dev/null @@ -1,539 +0,0 @@ -// CORBA_Handler.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/CORBA_Handler.h" - -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -# include "ace/Object_Manager.h" -#endif /* ACE_MT_SAFE */ - -#include "ace/Thread_Manager.h" - -#if !defined (__ACE_INLINE__) -#include "ace/CORBA_Handler.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_HAS_ORBIX) && (ACE_HAS_ORBIX != 0) -ACE_ALLOC_HOOK_DEFINE(ACE_ST_CORBA_Handler) -ACE_ALLOC_HOOK_DEFINE(ACE_CORBA_Handler) - -void -ACE_CORBA_Handler::dump (void) const -{ - ACE_TRACE ("ACE_CORBA_Handler::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\nreference_count_ = %d", this->reference_count_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_CORBA_Handler::ACE_CORBA_Handler (const ACE_CORBA_Handler &rhs) -{ - ACE_TRACE ("ACE_CORBA_Handler::ACE_CORBA_Handler"); -} - -const ACE_CORBA_Handler & -ACE_CORBA_Handler::operator= (const ACE_CORBA_Handler &rhs) -{ - ACE_TRACE ("ACE_CORBA_Handler::operator="); - return *this; -} - -void -ACE_ST_CORBA_Handler::dump (void) const -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::dump"); - - ACE_CORBA_Handler::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "instance_ = %x", this->instance_)); - ACE_DEBUG ((LM_DEBUG, "\niteration_ = %d", this->iterations_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_CORBA_Handler::~ACE_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_CORBA_Handler::~ACE_CORBA_Handler"); -} - -ACE_CORBA_Handler::ACE_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_CORBA_Handler::ACE_CORBA_Handler"); - reactor (ACE_Reactor::instance ()); -} - -// Only one ST CORBA Handler per-process... -/* static */ -ACE_ST_CORBA_Handler *ACE_ST_CORBA_Handler::instance_ = 0; - -// Insert a descriptor into the ACE_Reactor that Orbix has just added. - -/* static */ -void -ACE_ST_CORBA_Handler::insert_handle (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::insert_handle"); -// ACE_DEBUG ((LM_DEBUG, "+++ inserting %d\n", handle)); - - if (ACE_ST_CORBA_Handler::instance_->reactor() != 0) - ACE_ST_CORBA_Handler::instance_->reactor()->register_handler - (handle, ACE_ST_CORBA_Handler::instance_, ACE_Event_Handler::READ_MASK); - else - ; -// ACE_DEBUG ((LM_DEBUG, "insert_handle: reactor NULL\n")); -} - -// Remove a descriptor from the ACE_Reactor that Orbix has just deleted. - -/* static */ -void -ACE_ST_CORBA_Handler::remove_handle (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::remove_handle"); -// ACE_DEBUG ((LM_DEBUG, "--- removing %d\n", handle)); - - if (ACE_ST_CORBA_Handler::instance_->reactor () != 0) - ACE_ST_CORBA_Handler::instance_->reactor ()->remove_handler - (handle, ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - else - ; -// ACE_DEBUG ((LM_DEBUG, "remove_handle: reactor NULL\n")); -} - -// Process the next Orbix event. - -int -ACE_ST_CORBA_Handler::handle_input (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::handle_input"); - // ACE_DEBUG ((LM_DEBUG, "dispatching Orbix handle = %d in process - // = %P\n", handle)); - - TRY { - // Loop up to dispatching the - // next event. Note the trade off between efficiency and - // fairness... - - for (size_t i = 0; i < this->iterations_; i++) - if (ACE_CORBA_1 (Orbix.isEventPending) (IT_X)) - // Process the next Orbix event (don't block). - ACE_CORBA_1 (Orbix.processNextEvent) (0, IT_X); - else - break; - } - CATCHANY { - // an error occured calling processNextEvent () - output the - // error. - cerr << IT_X << endl; - } ENDTRY; - return 0; -} - -int -ACE_ST_CORBA_Handler::suspend (void) -{ - // Create an iterator. - ACE_Handle_Set set (ACE_CORBA_1 (Orbix.getFileDescriptors) ()); - ACE_Handle_Set_Iterator orbix_descriptors (set); - - // Suspend all the HANDLEs registered by Orbix. - for (ACE_HANDLE h; - (h = orbix_descriptors ()) != ACE_INVALID_HANDLE; - ++orbix_descriptors) - this->reactor ()->suspend_handler (h); - - return 0; -} - -int -ACE_ST_CORBA_Handler::resume (void) -{ - // Create an iterator. - ACE_Handle_Set set (ACE_CORBA_1 (Orbix.getFileDescriptors) ()); - ACE_Handle_Set_Iterator orbix_descriptors (set); - - // Resume all the HANDLEs registered by Orbix. - for (ACE_HANDLE h; - (h = orbix_descriptors ()) != ACE_INVALID_HANDLE; - ++orbix_descriptors) - this->reactor ()->resume_handler (h); - - return 0; -} - -// Dummy constructor. -ACE_ST_CORBA_Handler::ACE_ST_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::ACE_ST_CORBA_Handler"); - - // This is set by default for backward compatibility. The user can - // use the set/get operations to change the iterations - this->iterations_ = 5; - - // Set up the callbacks so that we get informed when Orbix changes - // its descriptors. - ACE_CORBA_1 (Orbix.registerIOCallback) ((OrbixIOCallback) &ACE_ST_CORBA_Handler::insert_handle, - FD_OPEN_CALLBACK); - ACE_CORBA_1 (Orbix.registerIOCallback) ((OrbixIOCallback) &ACE_ST_CORBA_Handler::remove_handle, - FD_CLOSE_CALLBACK); -} - -void -ACE_ST_CORBA_Handler::get_orbix_descriptors (void) -{ - // Create an iterator. - ACE_Handle_Set set (ACE_CORBA_1 (Orbix.getFileDescriptors) ()); - ACE_Handle_Set_Iterator orbix_descriptors (set); - - // Preinitialize anything that's already registered. - for (ACE_HANDLE h; - (h = orbix_descriptors ()) != ACE_INVALID_HANDLE; - ++orbix_descriptors) - ACE_ST_CORBA_Handler::insert_handle (h); -} - -// Register by doing a "putit" to register the -// using the at with -// orbixd. - -/* static */ -int -ACE_CORBA_Handler::register_service (const char *service_name, - const char *marker_name, - const char *service_location) -{ - ACE_TRACE ("ACE_CORBA_Handler::register_service"); - char buf[BUFSIZ * 2]; // I hope this is enough space... - - // Be defensive here... - if (service_name == 0 || service_location == 0) - { - errno = EINVAL; - return -1; - } - else if (marker_name == 0) - ACE_OS::sprintf (buf, "putit %s %s", service_name, service_location); - else - ACE_OS::sprintf (buf, "putit -marker %s %s %s", - marker_name, service_name, service_location); - - return ACE_OS::system (buf); // Use system(3S) to execute Orbix putit. -} - -// Register by doing a "putit" to register -// using the with orbixd. - -/* static */ -int -ACE_CORBA_Handler::remove_service (const char *service_name, - const char *marker_name) -{ - ACE_TRACE ("ACE_CORBA_Handler::remove_service"); - char buf[BUFSIZ * 2]; // I hope this is enough space! - if (service_name == 0) - { - errno = EINVAL; - return -1; - } - else if (marker_name == 0) - ACE_OS::sprintf (buf, "rmit %s\n", service_name); - else - ACE_OS::sprintf (buf, "rmit -marker %s %s\n", marker_name, service_name); - return ACE_OS::system (buf); // Use system(3S) to execute Orbix rmit. -} - -ACE_ST_CORBA_Handler::~ACE_ST_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::~ACE_ST_CORBA_Handler"); - // Create an iterator. - ACE_Handle_Set set (ACE_CORBA_1 (Orbix.getFileDescriptors) ()); - ACE_Handle_Set_Iterator orbix_descriptors (set); - - // Remove everything! - - for (ACE_HANDLE h; - (h = orbix_descriptors ()) != ACE_INVALID_HANDLE; - ++orbix_descriptors) - ACE_ST_CORBA_Handler::remove_handle (h); - - // Keep Orbix from calling us back and crashing the system! - ACE_CORBA_1 (Orbix.registerIOCallback) (0, FD_OPEN_CALLBACK); - ACE_CORBA_1 (Orbix.registerIOCallback) (0, FD_CLOSE_CALLBACK); - ACE_ST_CORBA_Handler::instance_ = 0; -} - -// Decrement the reference count and free up all the resources if this -// is the last service to be using the ACE_ST_CORBA_Handler... - -/* static */ -int -ACE_CORBA_Handler::deactivate_service (const char *service_name, - const char *marker_name) -{ - ACE_TRACE ("ACE_CORBA_Handler::deactivate_service"); - if (service_name != 0 - && this->remove_service (service_name, marker_name) == -1) - return -1; - - int ref_count = this->reference_count_; - - this->reference_count_--; - - // Close everything down if the count drops to 0. - if (this->reference_count_ == 0) - // Commit suicide! - delete this; - - if (ref_count < 0) - ; -// ACE_DEBUG ((LM_DEBUG, "warning, reference count == %d\n", -// ref_count)); - return 0; -} - -/* static */ -ACE_CORBA_Handler * -ACE_ST_CORBA_Handler::instance (void) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::instance"); - - // Note that this does not need a double-check since it should be - // called from a single-threaded environment. - - if (ACE_ST_CORBA_Handler::instance_ == 0) - { - ACE_NEW_RETURN (ACE_ST_CORBA_Handler::instance_, ACE_ST_CORBA_Handler, 0); - ACE_ST_CORBA_Handler::instance_->get_orbix_descriptors (); - } - - return ACE_ST_CORBA_Handler::instance_; -} - -// Activate and register with the Orbix daemon. If -// and are != 0 then do a "putit" to -// register this service with orbixd. This method also increments the -// reference count of active services using the ACE_ST_CORBA_Handler. - -int -ACE_CORBA_Handler::activate_service (const char *service_name, - const char *marker_name, - const char *service_location) -{ - ACE_TRACE ("ACE_CORBA_Handler::activate_service"); - // Since the ACE_CORBA_Handler is a singleton, make sure not to - // allocate and initialize more than one copy. By incrementing the - // reference count we ensure this. - - this->reference_count_++; - - if (service_name != 0 && service_location != 0 - && this->register_service (service_name, marker_name, - service_location) == -1) - return -1; - - // Tell Orbix that we have completed the server's initialization. - // Note that we don't block by giving a timeout of 0... - - TRY { - ACE_CORBA_1 (Orbix.impl_is_ready) ((char *) service_name, 0, IT_X); - } CATCHANY { - return -1; - } ENDTRY - - return 0; -} - -#if defined (ACE_HAS_MT_ORBIX) && (ACE_HAS_MT_ORBIX != 0) - -ACE_ALLOC_HOOK_DEFINE(ACE_MT_CORBA_Handler) - -void -ACE_MT_CORBA_Handler::dump (void) const -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::dump"); - ACE_CORBA_Handler::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "instance_ = %x", this->instance_)); - ACE_DEBUG ((LM_DEBUG, "\nthr_mgr_ = %x", this->thr_mgr_)); - this->pipe_.dump (); - ACE_MT (ACE_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_MT_CORBA_HANDLER_LOCK); - if (lock != 0) lock->dump ()); - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Only one MT CORBA Handler per-process... -/* static */ -ACE_MT_CORBA_Handler *ACE_MT_CORBA_Handler::instance_ = 0; - -/* static */ -ACE_CORBA_Handler * -ACE_MT_CORBA_Handler::instance (void) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::instance"); - - if (ACE_MT_CORBA_Handler::instance_ == 0) - { - ACE_MT (ACE_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_MT_CORBA_HANDLER_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0)); - - if (ACE_MT_CORBA_Handler::instance_ == 0) - ACE_NEW_RETURN (ACE_MT_CORBA_Handler::instance_, - ACE_MT_CORBA_Handler, 0); - } - - return ACE_MT_CORBA_Handler::instance_; -} - -int -ACE_MT_CORBA_Handler::suspend (void) -{ - // Suspend the event handler listening for new CORBA requests to - // dispatch. - this->reactor ()->suspend_handler (this->pipe_.read_handle ()); - - // Suspend the daemon thread. - this->thr_mgr ()->suspend_all (); - return 0; -} - -int -ACE_MT_CORBA_Handler::resume (void) -{ - // Resume the event handler listening for new CORBA requests to - // dispatch. - this->reactor ()->resume_handler (this->pipe_.read_handle ()); - - // Resume the daemon thread. - this->thr_mgr ()->resume_all (); - return 0; -} - -ACE_MT_CORBA_Handler::ACE_MT_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::ACE_MT_CORBA_Handler"); - this->thr_mgr (ACE_Thread_Manager::instance ()); - - int result = 0; - - if (this->pipe_.open () == -1) - result = -1; - // Register one end of the pipe with the reactor with a READ mask. - else if (this->reactor ()->register_handler - (this->pipe_.read_handle (), this, ACE_Event_Handler::READ_MASK) == -1) - result = -1; - // Create a new thread that processes events for the Orbix event - // queue. - else if (this->thr_mgr ()->spawn (ACE_THR_FUNC (ACE_MT_CORBA_Handler::process_events), - 0, THR_DETACHED | THR_NEW_LWP) == -1) - result = -1; - - if (result == -1) - { - delete ACE_MT_CORBA_Handler::instance_; - ACE_MT_CORBA_Handler::instance_ = 0; - } -} - -void * -ACE_MT_CORBA_Handler::process_events (void *) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::process_events"); - - // Special knowlege, we "know" that we are dealing with a singleton - // and that we are invoked in a context where the mutex controlling - // instance creation is held, so by the time we get the mutex - // the instance must exist. - if (ACE_MT_CORBA_Handler::instance_ == 0) - { - ACE_MT (ACE_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_MT_CORBA_HANDLER_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0)); - - ACE_ASSERT (ACE_MT_CORBA_Handler::instance_ != 0); - } - - ACE_Thread_Control t (ACE_MT_CORBA_Handler::instance_->thr_mgr ()); - - // This thread only processes events. - TRY { - // it is OK to block - ACE_CORBA_1 (Orbix.processEvents) (ACE_CORBA_1 (Orbix.INFINITE_TIMEOUT), IT_X); - } CATCHANY { - // An error occured calling processEvents () - output the error. - cerr << IT_X << endl; - } ENDTRY; - - // Thread dies if we reach here : error occured in processEvents. - return 0; -} - -int -ACE_MT_CORBA_Handler::inRequestPreMarshal (ACE_CORBA_1 (Request) &req, - ACE_CORBA_1 (Environment) &IT_env) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::inRequestPreMarshal"); - - // Pump the request through the pipe. - u_long request_addr = (u_long) &req; - - ssize_t result = ACE::send (this->pipe_.write_handle (), - (const char *) &request_addr, - sizeof request_addr); - - if (result != sizeof request_addr) - { - // Don't continue with request - return 0; - } - - // Everything is fine: we have delegated the work to a different - // thread Tell Orbix we will dispatch the request later... - return -1; -} - -int -ACE_MT_CORBA_Handler::handle_input (ACE_HANDLE) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::handle_input"); - ACE_CORBA_1 (Request) *req = 0; - - u_long request_addr; - - // Read the request from the pipe. - ssize_t result = ACE::recv (this->pipe_.read_handle (), - (char *) &request_addr, - sizeof request_addr); - - if (result != sizeof request_addr) - // We are in trouble: bail out. - return -1; - - req = (ACE_CORBA_1 (Request) *) request_addr; - - // Tell Orbix to dispatch the request. - ACE_CORBA_1 (Orbix.continueThreadDispatch) (*req); - return 0; -} - -ACE_MT_CORBA_Handler::~ACE_MT_CORBA_Handler (void) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::~ACE_MT_CORBA_Handler"); - - // Unregister one end of the pipe with the reactor - this->reactor ()->remove_handler - (this->pipe_.read_handle (), - ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - - this->pipe_.close (); - - ACE_MT_CORBA_Handler::instance_ = 0; -} -#endif /* ACE_HAS_MT_ORBIX */ -#endif /* ACE_HAS_ORBIX */ diff --git a/ace/CORBA_Handler.h b/ace/CORBA_Handler.h deleted file mode 100644 index bd49aa2b1c6..00000000000 --- a/ace/CORBA_Handler.h +++ /dev/null @@ -1,219 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// CORBA_Handler.h -// -// = AUTHOR -// Douglas C. Schmidt (schmidt@cs.wustl.edu) and -// Irfan Pyarali (irfan@wuerl.wustl.edu). -// -// ============================================================================ - -#if !defined (_CORBA_HANDLER_H) -#define _CORBA_HANDLER_H - -#include "ace/Service_Config.h" -#include "ace/Pipe.h" - -#if (defined (ACE_HAS_ORBIX) && (ACE_HAS_ORBIX != 0)) || (defined (ACE_HAS_MT_ORBIX) && (ACE_HAS_MT_ORBIX != 0)) -#define EXCEPTIONS -#define WANT_ORBIX_FDS -#include /**/ -// #include /**/ -#undef EXCEPTIONS -#undef WANT_ORBIX_FDS - -class ACE_Export ACE_CORBA_Handler : public ACE_Service_Object -{ - // = TITLE - // Handle CORBA requests in conjunction with ACE. - // - // = DESCRIPTION - // Note, do *NOT* inherit from this class! Instead, use the - // and as - // Singletons. -public: - // = Activation and deactivation methods. - - virtual int activate_service (const char *service_name, - const char *marker_name = 0, - const char *service_location = 0); - // Activate and register with the Orbix daemon. If - // and are != 0 then do a "putit" - // to register this service with orbixd. This method also - // increments the reference count of active services using the - // ACE_ST_CORBA_Handler. - - virtual int deactivate_service (const char *service_name = 0, - const char *marker_name = 0); - // Decrement the reference count and free up all the - // resources if this is the last service to be using - // the ACE_ST_CORBA_Handler... - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - ACE_CORBA_Handler (void); - // Make this into an "abstract" class... - - virtual ~ACE_CORBA_Handler (void); - // Note virtual destructor... - - virtual int register_service (const char *service_name, - const char *marker_name, - const char *service_location); - // Register by doing a "putit" to register - // the using the at - // with orbixd. - - virtual int remove_service (const char *service_name, - const char *marker_name = 0); - // Register by doing a "putit" to register - // using the with orbixd. - - ssize_t reference_count_; - // Keep track of the number of active CORBA_Handlers. - -private: - // = Disallow assignment and initialization. - ACE_CORBA_Handler (const ACE_CORBA_Handler &rhs); - const ACE_CORBA_Handler &operator= (const ACE_CORBA_Handler &rhs); -}; - -class ACE_Export ACE_ST_CORBA_Handler : public ACE_CORBA_Handler - // = TITLE - // Handle single-threaded CORBA requests in conjunction with the - // . -{ -public: - // = Singleton access point. - static ACE_CORBA_Handler *instance (void); - // Returns a Singleton. - - // = Demuxing hook. - virtual int handle_input (ACE_HANDLE); - // Process the next Orbix event. - - // = Dynamic linking hooks. - virtual int suspend (void); - // Atomically suspend all the threads associated with the . - - virtual int resume (void); - // Atomically resume all the threads associated with the . - - // = Iterations dictate # of calls per-callback. - size_t iterations (void); - // Get the current iteration. - - void iterations (size_t); - // Set the current iteration. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - void get_orbix_descriptors (void); - // Preinitialize any descriptors that Orbix is using. This is - // called in instance (). - - ACE_ST_CORBA_Handler (void); - // Constructors (ensure Singleton...). - - virtual ~ACE_ST_CORBA_Handler (void); - // Destructor cleans up resources. - - static void insert_handle (ACE_HANDLE); - // Insert a descriptor into the ACE_Reactor that Orbix has just added. - - static void remove_handle (ACE_HANDLE); - // Remove a descriptor from the ACE_Reactor that Orbix has just deleted. - - static ACE_ST_CORBA_Handler *instance_; - // ACE_ST_CORBA_Handler is a singleton object. - - size_t iterations_; - // Number of iterations to process per processNextEvent() call. -}; - -#if defined (ACE_HAS_MT_ORBIX) && (ACE_HAS_MT_ORBIX != 0) - -class ACE_Export ACE_MT_CORBA_Handler : public ACE_CORBA_Handler, public ACE_CORBA_1 (ThreadFilter) -{ - // = TITLE - // Handle multi-threaded CORBA requests in conjunction with the - // . -public: - // = Singleton access point. - static ACE_CORBA_Handler *instance (void); - // Returns a Singleton. - - // = Demuxing hook. - virtual int handle_input (ACE_HANDLE); - // Process the next Orbix event. - - // = Threading hook. - void thr_mgr (ACE_Thread_Manager *tm); - // Set the Thread_Manager used by ACE_MT_CORBA_Handler - - ACE_Thread_Manager *thr_mgr (void) const; - // Get the Thread_Manager used by ACE_MT_CORBA_Handler - - // = Dynamic linking hooks. - virtual int suspend (void); - // Atomically suspend all the threads associated with the . - - virtual int resume (void); - // Atomically resume all the threads associated with the . - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - static void *process_events (void *); - // function executed by new thread - - ACE_MT_CORBA_Handler (void); - // Constructors (ensure Singleton...). - - virtual ~ACE_MT_CORBA_Handler (void); - // Destructor cleans up resources. - - virtual int inRequestPreMarshal (ACE_CORBA_1 (Request) &r, - ACE_CORBA_1 (Environment) &IT_env = ACE_CORBA_1 (default_environment)); - // Take the incoming request and pass it to this->handle_input() but - // through the Reactor. - - static ACE_MT_CORBA_Handler *instance_; - // ACE_MT_CORBA_Handler is a singleton object. - - ACE_Thread_Manager *thr_mgr_; - // Event demultiplexor used by ACE_ST_CORBA_Handler. - - ACE_Pipe pipe_; - // Used to send CORBA::Requests through the server -}; -#endif /* ACE_HAS_MT_ORBIX */ - -#if defined (__ACE_INLINE__) -#include "ace/CORBA_Handler.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_HAS_ORBIX */ -#endif /* ACE_CORBA_HANDLER_H */ diff --git a/ace/CORBA_Handler.i b/ace/CORBA_Handler.i deleted file mode 100644 index a1f3bfbd774..00000000000 --- a/ace/CORBA_Handler.i +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// CORBA_Handler.i - -#if defined (ACE_HAS_ORBIX) && (ACE_HAS_ORBIX != 0) -// = Set/get the number of iterations per processNextEvent() call. - -/* static */ -ACE_INLINE size_t -ACE_ST_CORBA_Handler::iterations (void) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::iterations"); - return this->iterations_; -} - -/* static */ -ACE_INLINE void -ACE_ST_CORBA_Handler::iterations (size_t i) -{ - ACE_TRACE ("ACE_ST_CORBA_Handler::iterations"); - this->iterations_ = i; -} - -#if defined (ACE_HAS_MT_ORBIX) && (ACE_HAS_MT_ORBIX != 0) -ACE_INLINE void -ACE_MT_CORBA_Handler::thr_mgr (ACE_Thread_Manager *tm) -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::thr_mgr"); - this->thr_mgr_ = tm; -} - -ACE_INLINE ACE_Thread_Manager * -ACE_MT_CORBA_Handler::thr_mgr (void) const -{ - ACE_TRACE ("ACE_MT_CORBA_Handler::thr_mgr"); - return this->thr_mgr_; -} -#endif /* ACE_HAS_MT_ORBIX */ -#endif /* ACE_HAS_ORBIX */ diff --git a/ace/CORBA_Ref.cpp b/ace/CORBA_Ref.cpp deleted file mode 100644 index 059028a3ec4..00000000000 --- a/ace/CORBA_Ref.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// CORBA_Ref.cpp -// $Id$ - -#if !defined (ACE_CORBA_REF_C) -#define ACE_CORBA_REF_C - -#define ACE_BUILD_DLL -#include "ace/CORBA_Ref.h" -#include "ace/Log_Msg.h" - -#if !defined (__ACE_INLINE__) -#include "ace/CORBA_Ref.i" -#endif /* __ACE_INLINE__ */ - -template -ACE_CORBA_Ref::ACE_CORBA_Ref (void) - : ref_ (0) -{ - ACE_TRACE ("ACE_CORBA_Ref::ACE_CORBA_Ref"); -} - -template -ACE_CORBA_Ref::ACE_CORBA_Ref (CORBA_REF *ref) -{ - ACE_TRACE ("ACE_CORBA_Ref::ACE_CORBA_Ref"); - if (ref != 0) - ref_ = ref->_duplicate (); - else - ref_ = 0; -} - -template CORBA_REF * -ACE_CORBA_Ref::operator= (CORBA_REF *ref) -{ - ACE_TRACE ("ACE_CORBA_Ref::operator="); - if (ref_ != 0) - ref_->_release (); - if (ref == 0) - { - ref_ = 0; - return 0; - } - else - return ref_ = ref->_duplicate (); -} - -template -ACE_CORBA_Ref::operator CORBA_REF * (void) const -{ - ACE_TRACE ("ACE_CORBA_Ref::operator CORBA_REF *"); - ACE_ASSERT (ref_ != 0); - return ref_; -} - -template CORBA_REF * -ACE_CORBA_Ref::operator-> (void) const -{ - ACE_TRACE ("ACE_CORBA_Ref::operator->"); - ACE_ASSERT (ref_ != 0); - return ref_; -} - -template int -ACE_CORBA_Ref::operator== (CORBA_REF *rhs) const -{ - ACE_TRACE ("ACE_CORBA_Ref::operator=="); - // pointer comparison. - return ref_ == rhs; -} - -template int -ACE_CORBA_Ref::operator!= (CORBA_REF *rhs) const -{ - ACE_TRACE ("ACE_CORBA_Ref::operator!="); - // pointer comparison. - return ref_ != rhs; -} - -template -ACE_CORBA_Ref::~ACE_CORBA_Ref () -{ - ACE_TRACE ("ACE_CORBA_Ref::~ACE_CORBA_Ref"); - if (ref_ != 0) - ref_->_release (); -} - -#endif /* ACE_CORBA_REF_C */ diff --git a/ace/CORBA_Ref.h b/ace/CORBA_Ref.h deleted file mode 100644 index 1fff80d896d..00000000000 --- a/ace/CORBA_Ref.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// CORBA_Ref.h -// -// = AUTHOR -// Irfan Pyarali (irfan@wuerl.wustl.edu). -// Tim Harrison (harrison@cs.wustl.edu) -// -// = DESCRIPTION -// A wrapper for helping with Orbix object references. -// -// ============================================================================ - -#if !defined (ACE_CORBA_REF_H) -#define ACE_CORBA_REF_H - -template -class ACE_CORBA_Ref -{ - // = TITLE - // A wrapper for helping with orbix object references. - // - // = DESCRIPTION - // ACE_CORBA_Ref is parameterized by the type of orbix object - // reference to be used. The construtor, operator=, and the - // destructor of ACE_CORBA_Ref perform implicit duplicates and - // releases in order to help make the use of orbix object - // references transparent. -public: - ACE_CORBA_Ref (void); - // Null construction. - - ACE_CORBA_Ref (CORBA_REF *ref); - // Contruction with an orbix ref. - // performs a ref->_duplicate(). - - CORBA_REF *operator= (CORBA_REF *ref); - // Assignment performs a ref->_duplicate(). - - operator CORBA_REF *(void) const; - // Type operator - - CORBA_REF *operator-> (void) const; - // Smart pointer to forward all CORBA_REF calls to the underlying - // orbix reference. - - int operator== (CORBA_REF *) const; - // Pointer comparison. - - int operator!= (CORBA_REF *) const; - // Pointer comparison. - - ~ACE_CORBA_Ref (void); - // Destruction: calls ref_->_release - -private: - CORBA_REF *ref_; -}; - -#if defined (__ACE_INLINE__) -#include "ace/CORBA_Ref.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/CORBA_Ref.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("CORBA_Ref.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* CORBA_REF_H */ diff --git a/ace/CORBA_Ref.i b/ace/CORBA_Ref.i deleted file mode 100644 index 3002ddac574..00000000000 --- a/ace/CORBA_Ref.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// CORBA_Ref.i diff --git a/ace/Connector.cpp b/ace/Connector.cpp deleted file mode 100644 index ead333fe37a..00000000000 --- a/ace/Connector.cpp +++ /dev/null @@ -1,809 +0,0 @@ -// Connector.cpp -// $Id$ - -#if !defined (ACE_CONNECTOR_C) -#define ACE_CONNECTOR_C - -#define ACE_BUILD_DLL -#include "ace/Connector.h" - -// Shorthand names. -#define SH SVC_HANDLER -#define PR_CO_1 ACE_PEER_CONNECTOR_1 -#define PR_CO_2 ACE_PEER_CONNECTOR_2 -#define PR_AD ACE_PEER_CONNECTOR_ADDR - -ACE_ALLOC_HOOK_DEFINE(ACE_Connector) - -template void -ACE_Connector::dump (void) const -{ - ACE_TRACE ("ACE_Connector::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\nclosing_ = %d", this->closing_)); - ACE_DEBUG ((LM_DEBUG, "\nflags_ = %d", this->flags_)); - this->handler_map_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Bridge method for creating a SVC_HANDLER. The strategy for -// creating a SVC_HANDLER are configured into the Acceptor via it's -// . The default is to create a new SVC_HANDLER. -// However, subclasses can override this strategy to perform -// SVC_HANDLER creation in any way that they like (such as creating -// subclass instances of SVC_HANDLER, using a singleton, dynamically -// linking the handler, etc.). - -template int -ACE_Connector::make_svc_handler (SVC_HANDLER *&sh) -{ - ACE_TRACE ("ACE_Connector::make_svc_handler"); - - if (sh == 0) - ACE_NEW_RETURN (sh, SH, -1); - return 0; -} - -template int -ACE_Connector::activate_svc_handler (SVC_HANDLER *svc_handler) -{ - ACE_TRACE ("ACE_Connector::activate_svc_handler"); - // No errors initially - int error = 0; - - // See if we should enable non-blocking I/O on the 's - // peer. - if (ACE_BIT_ENABLED (this->flags_, ACE_NONBLOCK) != 0) - { - if (svc_handler->peer ().enable (ACE_NONBLOCK) == -1) - error = 1; - } - // Otherwise, make sure it's disabled by default. - else if (svc_handler->peer ().disable (ACE_NONBLOCK) == -1) - error = 1; - - // We are connected now, so try to open things up. - if (error || svc_handler->open ((void *) this) == -1) - { - // Make sure to close down the to avoid descriptor - // leaks. - svc_handler->close (0); - return -1; - } - else - return 0; -} - -template int -ACE_Connector::connect_svc_handler (SVC_HANDLER *&svc_handler, - const PR_AD &remote_addr, - ACE_Time_Value *timeout, - const PR_AD &local_addr, - int reuse_addr, - int flags, - int perms) -{ - ACE_TRACE ("ACE_Connector::connect_svc_handler"); - - return this->connector_.connect (svc_handler->peer (), - remote_addr, - timeout, - local_addr, - reuse_addr, - flags, - perms); -} - -template int -ACE_Connector::open (ACE_Reactor *r, int flags) -{ - ACE_TRACE ("ACE_Connector::open"); - this->reactor (r); - this->flags_ = flags; - this->closing_ = 0; - return 0; -} - -template -ACE_Connector::ACE_Connector (ACE_Reactor *r, int flags) -{ - ACE_TRACE ("ACE_Connector::ACE_Connector"); - (void) this->open (r, flags); -} - -template -ACE_Svc_Tuple::ACE_Svc_Tuple (SVC_HANDLER *sh, - ACE_HANDLE handle, - const void *arg, - long id) - : svc_handler_ (sh), - handle_ (handle), - arg_ (arg), - cancellation_id_ (id) -{ - ACE_TRACE ("ACE_Svc_Tuple::ACE_Svc_Tuple"); -} - -template SVC_HANDLER * -ACE_Svc_Tuple::svc_handler (void) -{ - ACE_TRACE ("ACE_Svc_Tuple::svc_handler"); - return this->svc_handler_; -} - -template const void * -ACE_Svc_Tuple::arg (void) -{ - ACE_TRACE ("ACE_Svc_Tuple::arg"); - return this->arg_; -} - -template void -ACE_Svc_Tuple::arg (const void *v) -{ - ACE_TRACE ("ACE_Svc_Tuple::arg"); - this->arg_ = v; -} - -template ACE_HANDLE -ACE_Svc_Tuple::handle (void) -{ - ACE_TRACE ("ACE_Svc_Tuple::handle"); - return this->handle_; -} - -template void -ACE_Svc_Tuple::handle (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_Svc_Tuple::handle"); - this->handle_ = h; -} - -template long -ACE_Svc_Tuple::cancellation_id (void) -{ - ACE_TRACE ("ACE_Svc_Tuple::cancellation_id"); - return this->cancellation_id_; -} - -template void -ACE_Svc_Tuple::cancellation_id (long id) -{ - ACE_TRACE ("ACE_Svc_Tuple::cancellation_id"); - this->cancellation_id_ = id; -} - -template void -ACE_Svc_Tuple::dump (void) const -{ - ACE_TRACE ("ACE_Svc_Tuple::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "svc_handler_ = %x", this->svc_handler_)); - ACE_DEBUG ((LM_DEBUG, "\narg_ = %x", this->arg_)); - ACE_DEBUG ((LM_DEBUG, "\ncancellation_id_ = %d", this->cancellation_id_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// This method is called if a connection times out before completing. -// In this case, we call our cleanup_AST() method to cleanup the -// descriptor from the ACE_Connector's table. - -template int -ACE_Connector::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - ACE_TRACE ("ACE_Connector::handle_timeout"); - AST *ast = 0; - - if (this->cleanup_AST (((AST *) arg)->handle (), - ast) == -1) - return -1; - else - { - ACE_ASSERT (((AST *) arg) == ast); - - // We may need this seemingly unnecessary assignment to work - // around a bug with MSVC++? - SH *sh = ast->svc_handler (); - - // Forward to the SVC_HANDLER the that was passed in as a - // magic cookie during ACE_Connector::connect(). This gives the - // SVC_HANDLER an opportunity to take corrective action (e.g., - // wait a few milliseconds and try to reconnect again. - if (sh->handle_timeout (tv, ast->arg ()) == -1) - sh->handle_close (sh->get_handle (), ACE_Event_Handler::TIMER_MASK); - - delete ast; - return 0; - } -} - -template int -ACE_Connector::cleanup_AST (ACE_HANDLE handle, - ACE_Svc_Tuple *&ast) -{ - ACE_TRACE ("ACE_Connector::cleanup_AST"); - - // Locate the ACE_Svc_Handler corresponding to the socket - // descriptor. - if (this->handler_map_.find (handle, ast) == -1) - { - // Error, entry not found in map. - errno = ENOENT; - ACE_ERROR_RETURN ((LM_ERROR, "%p %d not found in map\n", - "find", handle), -1); - } - - // Try to remove from ACE_Timer_Queue but if it's not there we - // ignore the error. - this->reactor ()->cancel_timer (ast->cancellation_id ()); - - // Remove ACE_HANDLE from ACE_Reactor. - this->reactor ()->remove_handler - (handle, ACE_Event_Handler::ALL_EVENTS_MASK | ACE_Event_Handler::DONT_CALL); - - // Remove ACE_HANDLE from the map. - this->handler_map_.unbind (handle); - return 0; -} - -// Called when a failure occurs during asynchronous connection -// establishment. Simply delegate all work to this->handle_output(). - -template int -ACE_Connector::handle_input (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_Connector::handle_input"); - AST *ast = 0; - - if (this->cleanup_AST (h, ast) != -1) - { - ast->svc_handler ()->close (0); - delete ast; - } - return 0; // Already removed from the ACE_Reactor. -} - -// Finalize a connection established in non-blocking mode. When a -// non-blocking connect *succeeds* the descriptor becomes enabled for -// writing... Likewise, it is generally the case that when a -// non-blocking connect *fails* the descriptor becomes enabled for -// reading. - -template int -ACE_Connector::handle_output (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_Connector::handle_output"); - AST *ast = 0; - - if (this->cleanup_AST (handle, ast) == -1) - return 0; - - ACE_ASSERT (ast != 0); // This shouldn't happen! - - // Try to find out if the reactor uses event associations for the - // handles it waits on. If so we need to reset it. - int reset_new_handle = this->reactor ()->uses_event_associations (); - - if (reset_new_handle) - this->connector_.reset_new_handle (handle); - - // Transfer ownership of the ACE_HANDLE to the SVC_HANDLER. - ast->svc_handler ()->set_handle (handle); - - PR_AD raddr; - -#if defined (ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS) - // Win32 has a timing problem - if you check to see if the - // connection has completed too fast, it will fail - so wait 35 - // millisecond to let it catch up. - ACE_Time_Value tv (0, ACE_NON_BLOCKING_BUG_DELAY); - ACE_OS::sleep (tv); -#endif /* ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS */ - - // Check to see if we're connected. - if (ast->svc_handler ()->peer ().get_remote_addr (raddr) != -1) - this->activate_svc_handler (ast->svc_handler ()); - else // Somethings gone wrong, so close down... - ast->svc_handler ()->close (0); - - delete ast; - return 0; -} - -template int -ACE_Connector::handle_exception (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_Connector::handle_exception"); - - return this->handle_output (h); -} - -// Initiate connection to peer. - -template int -ACE_Connector::connect (SH *&sh, - const PR_AD &remote_addr, - const ACE_Synch_Options &synch_options, - const PR_AD &local_addr, - int reuse_addr, - int flags, - int perms) -{ - ACE_TRACE ("ACE_Connector::connect"); - - SH* new_sh = sh; - // If the user hasn't supplied us with a we'll use the - // factory method to create one. Otherwise, things will remain as - // they are... - if (this->make_svc_handler (new_sh) == -1) - return -1; - - ACE_Time_Value *timeout; - int use_reactor = synch_options[ACE_Synch_Options::USE_REACTOR]; - - if (use_reactor) - timeout = (ACE_Time_Value *) &ACE_Time_Value::zero; - else - timeout = (ACE_Time_Value *) synch_options.time_value (); - - // Delegate to connection strategy. - if (this->connect_svc_handler (new_sh, - remote_addr, - timeout, - local_addr, - reuse_addr, - flags, - perms) == -1) - { - if (use_reactor && errno == EWOULDBLOCK) - { - // If the connection hasn't completed and we are using - // non-blocking semantics then register ourselves with the - // ACE_Reactor so that it will call us back when the - // connection is complete or we timeout, whichever comes - // first... Note that we needn't check the return value - // here because if something goes wrong that will reset - // errno this will be detected by the caller (since -1 is - // being returned...). - sh = new_sh; - this->create_AST (sh, synch_options); - } - else - { - // Make sure to save/restore the errno since may - // change it. - - int error = errno; - // Make sure to close down the Channel to avoid descriptor - // leaks. - new_sh->close (0); - errno = error; - } - return -1; - } - else - { - // Activate immediately if we are connected. - sh = new_sh; - return this->activate_svc_handler (sh); - } -} - -// Initiate connection to peer. - -template int -ACE_Connector::connect_n (size_t n, - SH *sh[], - PR_AD remote_addrs[], - char failed_svc_handlers[], - const ACE_Synch_Options &synch_options) -{ - int result = 0; - - for (size_t i = 0; i < n; i++) - { - if (this->connect (sh[i], remote_addrs[i], synch_options) == -1 - && !(synch_options[ACE_Synch_Options::USE_REACTOR] - && errno == EWOULDBLOCK)) - { - result = -1; - if (failed_svc_handlers != 0) - // Mark this entry as having failed. - failed_svc_handlers[i] = 1; - } - else if (failed_svc_handlers != 0) - // Mark this entry as having succeeded. - failed_svc_handlers[i] = 0; - } - - return result; -} - -// Cancel a that was started asynchronously. -template int -ACE_Connector::cancel (SH *sh) -{ - ACE_TRACE ("ACE_Connector::cancel"); - MAP_ITERATOR mi (this->handler_map_); - - for (MAP_ENTRY *me = 0; - mi.next (me) != 0; - mi.advance ()) - if (me->int_id_->svc_handler () == sh) - { - AST *ast = 0; - this->cleanup_AST (me->ext_id_, ast); - ACE_ASSERT (ast == me->int_id_); - delete ast; - return 0; - } - - return -1; -} - -// Register the pending SVC_HANDLER with the map so that it can be -// activated later on when the connection complets. - -template int -ACE_Connector::create_AST (SH *sh, - const ACE_Synch_Options &synch_options) -{ - int error = errno; - ACE_TRACE ("ACE_Connector::create_AST"); - AST *ast; - - ACE_NEW_RETURN (ast, - AST (sh, - sh->get_handle (), - synch_options.arg (), -1), - -1); - - // Register this with the reactor for connection events. - ACE_Reactor_Mask mask = ACE_Event_Handler::CONNECT_MASK; - - // Bind ACE_Svc_Tuple with the ACE_HANDLE we're trying to connect. - if (this->handler_map_.bind (sh->get_handle (), ast) == -1) - goto fail1; - - else if (this->reactor ()->register_handler (sh->get_handle (), this, mask) == -1) - goto fail2; - // If we're starting connection under timer control then we need to - // schedule a timeout with the ACE_Reactor. - else - { - ACE_Time_Value *tv = (ACE_Time_Value *) synch_options.time_value (); - - if (tv != 0) - { - int cancellation_id = - this->reactor ()->schedule_timer - (this, (const void *) ast, *tv); - if (cancellation_id == -1) - goto fail3; - - ast->cancellation_id (cancellation_id); - // Reset this because something might have gone wrong - // elsewhere... - errno = error; - return 0; - } - else - { - // Reset this because something might have gone wrong - // elsewhere... - errno = error; // EWOULDBLOCK - return 0; // Ok, everything worked just fine... - } - } - - // Undo previous actions using the ol' "goto label and fallthru" - // trick... -fail3: - this->reactor ()->remove_handler (this, - mask | ACE_Event_Handler::DONT_CALL); - /* FALLTHRU */ -fail2: - this->handler_map_.unbind (sh->get_handle ()); - /* FALLTHRU */ -fail1: - - // Close the svc_handler - sh->close (0); - - delete ast; - return -1; -} - -// Terminate the Client ACE_Connector by iterating over any -// unconnected ACE_Svc_Handler's and removing them from the -// ACE_Reactor. Note that we can't call handle_close() back at this -// point since we own these things and we'll just get called -// recursively! - -template int -ACE_Connector::close (void) -{ - ACE_TRACE ("ACE_Connector::close"); - return this->handle_close (); -} - -template int -ACE_Connector::handle_close (ACE_HANDLE, ACE_Reactor_Mask mask) -{ - ACE_TRACE ("ACE_Connector::handle_close"); - - if (this->reactor () != 0 && this->closing_ == 0) - { - // We're closing down now, so make sure not to call ourselves - // recursively via other calls to handle_close() (e.g., from the - // Timer_Queue). - this->closing_ = 1; - - // Remove all timer objects associated with object from - // the 's Timer_Queue. - this->reactor ()->cancel_timer (this); - - MAP_ITERATOR mi (this->handler_map_); - - // Iterate through the map and shut down all the pending handlers. - - for (MAP_ENTRY *me = 0; - mi.next (me) != 0; - mi.advance ()) - { - this->reactor ()->remove_handler (me->ext_id_, - mask | ACE_Event_Handler::DONT_CALL); - - AST *ast = 0; - this->cleanup_AST (me->ext_id_, ast); - - // Close the svc_handler - ACE_ASSERT (ast == me->int_id_); - me->int_id_->svc_handler ()->close (0); - - delete ast; - } - } - - return 0; -} -template int -ACE_Connector::fini (void) -{ - ACE_TRACE ("ACE_Connector::fini"); - - // Make sure to call close here since our destructor might not be - // called if we're being dynamically linked via the svc.conf. - this->handler_map_.close (); - - // Make sure we call our handle_close(), not a subclass's! - return ACE_Connector::handle_close (); -} - -// Hook called by the explicit dynamic linking facility. - -template int -ACE_Connector::init (int, char *[]) -{ - ACE_TRACE ("ACE_Connector::init"); - return -1; -} - -template int -ACE_Connector::suspend (void) -{ - ACE_TRACE ("ACE_Connector::suspend"); - return -1; -} - -template int -ACE_Connector::resume (void) -{ - ACE_TRACE ("ACE_Connector::resume"); - return -1; -} - -template int -ACE_Connector::info (char **strp, size_t length) const -{ - ACE_TRACE ("ACE_Connector::info"); - char buf[BUFSIZ]; - - ACE_OS::sprintf (buf, - "%s\t %s", - "ACE_Connector", - "# connector factory\n"); - - if (*strp == 0 && (*strp = ACE_OS::strdup (buf)) == 0) - return -1; - else - ACE_OS::strncpy (*strp, buf, length); - return ACE_OS::strlen (buf); -} - -template -ACE_Connector::~ACE_Connector (void) -{ - ACE_TRACE ("ACE_Connector::~ACE_Connector"); - // We will call our handle_close(), not a subclass's, due to the way - // that C++ destructors work. - this->handle_close (); -} - -template int -ACE_Strategy_Connector::open (ACE_Reactor *r, int flags) -{ - ACE_TRACE ("ACE_Connector::open"); - return this->open (r, 0, 0, 0, flags); -} - -template int -ACE_Strategy_Connector::open - (ACE_Reactor *r, - ACE_Creation_Strategy *cre_s, - ACE_Connect_Strategy *conn_s, - ACE_Concurrency_Strategy *con_s, - int flags) -{ - ACE_TRACE ("ACE_Connector::open"); - - this->reactor (r); - - // @@ Not implemented yet. - // this->flags_ = flags; - ACE_UNUSED_ARG (flags); - - // Initialize the creation strategy. - - // First we decide if we need to clean up. - if (this->creation_strategy_ != 0 && - this->delete_creation_strategy_ != 0 && - cre_s != 0) - { - delete this->creation_strategy_; - this->creation_strategy_ = 0; - this->delete_creation_strategy_ = 0; - } - - if (cre_s != 0) - this->creation_strategy_ = cre_s; - else if (this->creation_strategy_ == 0) - { - ACE_NEW_RETURN (this->creation_strategy_, - CREATION_STRATEGY, -1); - this->delete_creation_strategy_ = 1; - } - - - // Initialize the accept strategy. - - if (this->connect_strategy_ != 0 && - this->delete_connect_strategy_ != 0 && - conn_s != 0) - { - delete this->connect_strategy_; - this->connect_strategy_ = 0; - this->delete_connect_strategy_ = 0; - } - - if (conn_s != 0) - this->connect_strategy_ = conn_s; - else if (this->connect_strategy_ == 0) - { - ACE_NEW_RETURN (this->connect_strategy_, - CONNECT_STRATEGY, -1); - this->delete_connect_strategy_ = 1; - } - - - // Initialize the concurrency strategy. - - if (this->concurrency_strategy_ != 0 && - this->delete_concurrency_strategy_ != 0 && - con_s != 0) - { - delete this->concurrency_strategy_; - this->concurrency_strategy_ = 0; - this->delete_concurrency_strategy_ = 0; - } - - if (con_s != 0) - this->concurrency_strategy_ = con_s; - else if (this->concurrency_strategy_ == 0) - { - ACE_NEW_RETURN (this->concurrency_strategy_, - CONCURRENCY_STRATEGY, -1); - this->delete_concurrency_strategy_ = 1; - } - - return 0; -} - -template -ACE_Strategy_Connector::ACE_Strategy_Connector - (ACE_Reactor *reactor, - ACE_Creation_Strategy *cre_s, - ACE_Connect_Strategy *conn_s, - ACE_Concurrency_Strategy *con_s, - int flags) - : creation_strategy_ (0), - delete_creation_strategy_ (0), - connect_strategy_ (0), - delete_connect_strategy_ (0), - concurrency_strategy_ (0), - delete_concurrency_strategy_ (0) -{ - ACE_TRACE ("ACE_Connector::ACE_Connector"); - - if (this->open (reactor, cre_s, conn_s, con_s, flags) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Strategy_Connector::ACE_Strategy_Connector")); -} - -template -ACE_Strategy_Connector::~ACE_Strategy_Connector (void) -{ - ACE_TRACE ("ACE_Strategy_Connector::~ACE_Strategy_Connector"); - - // Close down - this->close (); -} - -template int -ACE_Strategy_Connector::close (void) -{ - if (this->delete_creation_strategy_) - delete this->creation_strategy_; - this->delete_creation_strategy_ = 0; - this->creation_strategy_ = 0; - - if (this->delete_connect_strategy_) - delete this->connect_strategy_; - this->delete_connect_strategy_ = 0; - this->connect_strategy_ = 0; - - if (this->delete_concurrency_strategy_) - delete this->concurrency_strategy_; - this->delete_concurrency_strategy_ = 0; - this->concurrency_strategy_ = 0; - - return SUPER::close (); -} - -template int -ACE_Strategy_Connector::make_svc_handler (SVC_HANDLER *&sh) -{ - return this->creation_strategy_->make_svc_handler (sh); -} - -template int -ACE_Strategy_Connector::connect_svc_handler - (SVC_HANDLER *&sh, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, - ACE_Time_Value *timeout, - const ACE_PEER_CONNECTOR_ADDR &local_addr, - int reuse_addr, - int flags, - int perms) -{ - return this->connect_strategy_->connect_svc_handler (sh, - remote_addr, - timeout, - local_addr, - reuse_addr, - flags, - perms); -} - -template int -ACE_Strategy_Connector::activate_svc_handler (SVC_HANDLER *svc_handler) -{ - return this->concurrency_strategy_->activate_svc_handler (svc_handler, this); -} - -#undef SH -#undef PR_CO_1 -#undef PR_CO_2 -#endif /* ACE_CONNECTOR_C */ diff --git a/ace/Connector.h b/ace/Connector.h deleted file mode 100644 index af2c3884d9b..00000000000 --- a/ace/Connector.h +++ /dev/null @@ -1,418 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Connector.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_CONNECTOR_H) -#define ACE_CONNECTOR_H - -#include "ace/Service_Config.h" -#include "ace/Service_Object.h" -#include "ace/Map_Manager.h" -#include "ace/Svc_Handler.h" -#include "ace/Strategies.h" - -template -class ACE_Svc_Tuple -{ - // = TITLE - // Holds the ACE_Svc_Handler and its argument and - // until an asynchronous connection completes. - // - // = DESCRIPTION - // This is a no-brainer... -public: - // = Initialization methods. - ACE_Svc_Tuple (SVC_HANDLER *, - ACE_HANDLE, - const void * = 0, - long timer_id = -1); - - // = Get SVC_HANDLER. - SVC_HANDLER *svc_handler (void); - - // = Get/set handle. - ACE_HANDLE handle (void); - // Get handle. - void handle (ACE_HANDLE); - // Set handle. - - // = Get/set argument. - const void *arg (void); - // Get argument. - void arg (const void *); - // Set argument. - - // = Set/get timer cancellation handle. - long cancellation_id (void); - // Get cancellation id. - void cancellation_id (long timer_id); - // Set cancellation id. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - SVC_HANDLER *svc_handler_; - // Associated SVC_HANDLER. - - ACE_HANDLE handle_; - // IPC that we are trying to connect. - - const void *arg_; - // Associated argument. - - long cancellation_id_; - // Associated cancellation id. -}; - -template -class ACE_Connector : public ACE_Service_Object -{ - // = TITLE - // Generic factory for actively connecting clients and creating - // service handlers (SVC_HANDLERs). - // - // = DESCRIPTION - // Implements the strategy for actively establishing connections - // with clients. An ACE_Connector is parameterized by concrete - // types that conform to the interfaces of PEER_CONNECTOR and - // SVC_HANDLER. The PEER_CONNECTOR is instantiated with a - // transport mechanism that passively establishes connections. - // The SVC_HANDLER is instantiated with a concrete type that - // performs the application-specific service. An ACE_Connector - // inherits from ACE_Service_Object, which in turn inherits from - // ACE_Event_Handler. This enables the ACE_Reactor to dispatch - // the ACE_Connector's handle_output method when connections - // complete asynchronously. The handle_output method performs - // the connector's active connection establishment and service - // activation strategy. -public: - // = Initialization and termination methods. - - // typedef ACE_TYPENAME ACE_PEER_CONNECTOR_ADDR PEER_ADDR; -#if defined (ACE_HAS_TYPENAME_KEYWORD) - typedef ACE_PEER_CONNECTOR_ADDR ACE_PEER_ADDR_TYPEDEF; -#endif /* ACE_HAS_TYPENAME_KEYWORD */ - - ACE_Connector (ACE_Reactor *r = ACE_Reactor::instance (), - int flags = 0); - // Initialize a connector. indicates how 's - // should be initialized prior to being activated. Right now, the - // only flag that is processed is , which enabled - // non-blocking I/O on the when it is opened. - - - virtual int open (ACE_Reactor *r = ACE_Reactor::instance (), - int flags = 0); - // Initialize a connector. indicates how 's - // should be initialized prior to being activated. Right now, the - // only flag that is processed is , which enabled - // non-blocking I/O on the when it is opened. - - virtual ~ACE_Connector (void); - // Shutdown a connector and release resources. - - // = Connection establishment methods. - - virtual int connect (SVC_HANDLER *&svc_handler, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, - const ACE_Synch_Options &synch_options = ACE_Synch_Options::defaults, - const ACE_PEER_CONNECTOR_ADDR &local_addr - = (ACE_PEER_CONNECTOR_ADDR &) ACE_PEER_CONNECTOR_ADDR_ANY, - int reuse_addr = 0, - int flags = O_RDWR, - int perms = 0); - // Initiate connection of to peer at - // using . If the caller wants to designate the - // selected they can (and can also insist that the - // be reused by passing a value == - // 1). and can be used to pass any flags that are - // needed to perform specific operations such as opening a file - // within connect with certain permissions. - - virtual int connect_n (size_t n, - SVC_HANDLER *svc_handlers[], - ACE_PEER_CONNECTOR_ADDR remote_addrs[], - char failed_svc_handlers[] = 0, - const ACE_Synch_Options &synch_options = ACE_Synch_Options::defaults); - // Initiate connection of to peers at - // using . Returns -1 if failure - // occurs and 0 otherwise. If is non-NULL, a - // 1 is placed in the corresponding index of - // for each that failed to connect, else a 0 is - // placed in that index. - - virtual int cancel (SVC_HANDLER *svc_handler); - // Cancel a that was started asynchronously. Note that - // this is the only case when the Connector does not actively close - // the . It is left up to the caller of to - // decide the fate of the . - - virtual int close (void); - // Close down the Connector - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Helpful typedefs. - - typedef ACE_Svc_Tuple AST; - - typedef ACE_Map_Manager *, ACE_SYNCH_RW_MUTEX> MAP_MANAGER; - typedef ACE_Map_Iterator *, ACE_SYNCH_RW_MUTEX> MAP_ITERATOR; - typedef ACE_Map_Entry *> MAP_ENTRY; - - // = The following two methods define the Connector's strategies for - // creating, connecting, and activating SVC_HANDLER's, respectively. - - virtual int make_svc_handler (SVC_HANDLER *&sh); - // Bridge method for creating a SVC_HANDLER. The default is to - // create a new SVC_HANDLER only if == 0, else is - // unchanged. However, subclasses can override this policy to - // perform SVC_HANDLER creation in any way that they like (such as - // creating subclass instances of SVC_HANDLER, using a singleton, - // dynamically linking the handler, etc.). Returns -1 if failure, - // else 0. - - virtual int connect_svc_handler (SVC_HANDLER *&svc_handler, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, - ACE_Time_Value *timeout, - const ACE_PEER_CONNECTOR_ADDR &local_addr, - int reuse_addr, - int flags, - int perms); - // Bridge method for connecting the to the - // . The default behavior delegates to the - // . - - virtual int activate_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for activating a with the appropriate - // concurrency strategy. The default behavior of this method is to - // activate the SVC_HANDLER 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 (such as creating the - // SVC_HANDLER as an "active object" via multi-threading or - // multi-processing). - - virtual int handle_input (ACE_HANDLE); - // Called by ACE_Reactor when asynchronous connections fail. - - virtual int handle_output (ACE_HANDLE); - // Called by ACE_Reactor when asynchronous connections succeed. - - virtual int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE); - // Called by ACE_Reactor when asynchronous connections complete (on - // some platforms only). - - // = Dynamic linking hooks. - virtual int init (int argc, char *argv[]); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int fini (void); - // Calls to shutdown the Connector gracefully. - - virtual int info (char **, size_t) const; - // Default version returns address info in . - - // = Demultiplexing hooks. - virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, - ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK); - // Terminate the Client ACE_Connector by iterating over any - // unconnected ACE_Svc_Handler's and removing them from the - // ACE_Reactor. - - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg); - // This method is called if a connection times out before - // completing. - - // = Service management hooks. - virtual int suspend (void); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - virtual int resume (void); - // Default version does no work and returns -1. Must be overloaded - // by application developer to do anything meaningful. - - int create_AST (SVC_HANDLER *, - const ACE_Synch_Options &); - // Creates and inserts an ACE_Svc_Tuple into the . - // so that we can continue accepting this connection asynchronously. - - int cleanup_AST (ACE_HANDLE, AST *&); - // Cleanup the and returns the appropriate - // ACE_Svc_Tuple (which is 0 if there is no associated tuple). - - MAP_MANAGER handler_map_; - // Lookup table that maps an I/O handle to a SVC_HANDLER *. - -private: - ACE_PEER_CONNECTOR connector_; - // This is the concrete connector factory (it keeps no state so the - // is reentrant). - - char closing_; - // Keeps track of whether we are in the process of closing (required - // to avoid circular calls to ). - - int flags_; - // Flags that indicate how 's should be initialized - // prior to being activated. Right now, the only flag that is - // processed is , which enabled non-blocking I/O on - // the when it is opened. -}; - -template -class ACE_Strategy_Connector : public ACE_Connector -{ - // = TITLE - // Abstract factory for creating a service handler - // (SVC_HANDLER), connecting the SVC_HANDLER, and activating the - // SVC_HANDLER. - // - // = DESCRIPTION - // Implements a flexible and extensible set of strategies for - // actively establishing connections with clients. There are - // three main strategies: (1) creating a SVC_HANDLER, (2) - // actively connecting a new connection from a client into the - // SVC_HANDLER, and (3) activating the SVC_HANDLER with a - // particular concurrency mechanism. -public: - ACE_Strategy_Connector (ACE_Reactor *r = ACE_Reactor::instance (), - ACE_Creation_Strategy * = 0, - ACE_Connect_Strategy * = 0, - ACE_Concurrency_Strategy * = 0, - int flags = 0); - // Initialize a connector. indicates how 's - // should be initialized prior to being activated. Right now, the - // only flag that is processed is , which enabled - // non-blocking I/O on the when it is opened. - - virtual int open (ACE_Reactor *r, - int flags); - // Initialize a connector. indicates how 's - // should be initialized prior to being activated. Right now, the - // only flag that is processed is , which enabled - // non-blocking I/O on the when it is opened. - // Default strategies would be created and used. - - virtual int open (ACE_Reactor *r = ACE_Reactor::instance (), - ACE_Creation_Strategy * = 0, - ACE_Connect_Strategy * = 0, - ACE_Concurrency_Strategy * = 0, - int flags = 0); - // Initialize a connector. indicates how 's - // should be initialized prior to being activated. Right now, the - // only flag that is processed is , which enabled - // non-blocking I/O on the when it is opened. - - virtual ~ACE_Strategy_Connector (void); - // Shutdown a connector and release resources. - - virtual int close (void); - // Close down the Connector - -protected: - // = The following three methods define the 's strategies - // for creating, connecting, and activating 's, - // respectively. - - virtual int make_svc_handler (SVC_HANDLER *&sh); - // Bridge method for creating a . The strategy for - // creating a are configured into the Connector via - // it's . The default is to create a new - // only if == 0, else is unchanged. - // However, subclasses can override this policy to perform - // creation in any way that they like (such as - // creating subclass instances of , using a singleton, - // dynamically linking the handler, etc.). Returns -1 if failure, - // else 0. - - virtual int connect_svc_handler (SVC_HANDLER *&sh, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, - ACE_Time_Value *timeout, - const ACE_PEER_CONNECTOR_ADDR &local_addr, - int reuse_addr, - int flags, - int perms); - // Bridge method for connecting the new connection into the - // . The default behavior delegates to the - // in the . - - virtual int activate_svc_handler (SVC_HANDLER *svc_handler); - // Bridge method for activating a with the appropriate - // concurrency strategy. The default behavior of this method is to - // activate the by calling its method (which - // allows the to define its own concurrency strategy). - // However, subclasses can override this strategy to do more - // sophisticated concurrency activations (such as creating the - // as an "active object" via multi-threading or - // multi-processing). - - // = Define some useful typedefs traits. - typedef ACE_Creation_Strategy - CREATION_STRATEGY; - typedef ACE_Connect_Strategy - CONNECT_STRATEGY; - typedef ACE_Concurrency_Strategy - CONCURRENCY_STRATEGY; - typedef ACE_Connector - SUPER; - - // = Strategy objects. - - CREATION_STRATEGY *creation_strategy_; - // Creation strategy for an . - - int delete_creation_strategy_; - // 1 if created the creation strategy and thus should - // delete it, else 0. - - CONNECT_STRATEGY *connect_strategy_; - // Connect strategy for a . - - int delete_connect_strategy_; - // 1 if created the connect strategy and thus should - // delete it, else 0. - - CONCURRENCY_STRATEGY *concurrency_strategy_; - // Concurrency strategy for an . - - int delete_concurrency_strategy_; - // 1 if created the concurrency strategy and thus should - // delete it, else 0. -}; - -#include "ace/Connector.i" - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Connector.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Connector.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_CONNECTOR_H */ diff --git a/ace/Connector.i b/ace/Connector.i deleted file mode 100644 index 7c7afcc0184..00000000000 --- a/ace/Connector.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Connector.i diff --git a/ace/Containers.cpp b/ace/Containers.cpp deleted file mode 100644 index cc690e39a9d..00000000000 --- a/ace/Containers.cpp +++ /dev/null @@ -1,1707 +0,0 @@ -// Containers.cpp -// $Id$ - -#if !defined (ACE_CONTAINERS_C) -#define ACE_CONTAINERS_C - -#define ACE_BUILD_DLL - -#include "ace/Malloc.h" -#include "ace/Containers.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Containers.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Bounded_Stack) - -template void -ACE_Bounded_Stack::dump (void) const -{ - ACE_TRACE ("ACE_Bounded_Stack::dump"); -} - -template -ACE_Bounded_Stack::ACE_Bounded_Stack (size_t size) - : top_ (0), - size_ (size) -{ - ACE_NEW (this->stack_, T[size]); - - ACE_TRACE ("ACE_Bounded_Stack::ACE_Bounded_Stack"); -} - -template -ACE_Bounded_Stack::ACE_Bounded_Stack (const ACE_Bounded_Stack &s) - : top_ (s.top_), - size_ (s.size_) -{ - ACE_NEW (this->stack_, T[s.size_]); - - ACE_TRACE ("ACE_Bounded_Stack::ACE_Bounded_Stack"); - - for (size_t i = 0; i < this->top_; i++) - this->stack_[i] = s.stack_[i]; -} - -template void -ACE_Bounded_Stack::operator= (const ACE_Bounded_Stack &s) -{ - ACE_TRACE ("ACE_Bounded_Stack::operator="); - if (&s != this) - { - if (this->size_ < s.size_) - { - delete [] this->stack_; - ACE_NEW (this->stack_, T[s.size_]); - } - this->top_ = s.top_; - - for (size_t i = 0; i < this->top_; i++) - this->stack_[i] = s.stack_[i]; - } -} - -template -ACE_Bounded_Stack::~ACE_Bounded_Stack (void) -{ - ACE_TRACE ("ACE_Bounded_Stack::~ACE_Bounded_Stack"); - delete [] this->stack_; -} - -// ---------------------------------------- - -ACE_ALLOC_HOOK_DEFINE(ACE_Fixed_Stack) - -template void -ACE_Fixed_Stack::dump (void) const -{ - ACE_TRACE ("ACE_Fixed_Stack::dump"); -} - -template -ACE_Fixed_Stack::ACE_Fixed_Stack (void) - : top_ (0), - size_ (SIZE) -{ - ACE_TRACE ("ACE_Fixed_Stack::ACE_Fixed_Stack"); -} - -template -ACE_Fixed_Stack::ACE_Fixed_Stack (const ACE_Fixed_Stack &s) - : top_ (s.top_), - size_ (s.size_) -{ - ACE_TRACE ("ACE_Fixed_Stack::ACE_Fixed_Stack"); - for (size_t i = 0; i < this->top_; i++) - this->stack_[i] = s.stack_[i]; -} - -template void -ACE_Fixed_Stack::operator= (const ACE_Fixed_Stack &s) -{ - ACE_TRACE ("ACE_Fixed_Stack::operator="); - if (&s != this) - { - this->top_ = s.top_; - - for (size_t i = 0; i < this->top_; i++) - this->stack_[i] = s.stack_[i]; - } -} - -template -ACE_Fixed_Stack::~ACE_Fixed_Stack (void) -{ - ACE_TRACE ("ACE_Fixed_Stack::~ACE_Fixed_Stack"); - - delete [] this->stack_; -} - -//---------------------------------------- - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_Stack) - -template void -ACE_Unbounded_Stack::dump (void) const -{ - // ACE_TRACE ("ACE_Unbounded_Stack::dump"); -} - -template -ACE_Unbounded_Stack::ACE_Unbounded_Stack (ACE_Allocator *alloc) - : head_ (0), - cur_size_ (0), - allocator_ (alloc) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::ACE_Unbounded_Stack"); - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node); - this->head_->next_ = this->head_; -} - -template void -ACE_Unbounded_Stack::delete_all_nodes (void) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::delete_all_nodes"); - - while (this->is_empty () == 0) - { - ACE_Node *temp = this->head_->next_; - this->head_->next_ = temp->next_; - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - } - - this->cur_size_ = 0; - - ACE_ASSERT (this->head_ == this->head_->next_ - && this->is_empty ()); -} - -template void -ACE_Unbounded_Stack::copy_all_nodes (const ACE_Unbounded_Stack &s) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::copy_all_nodes"); - - ACE_ASSERT (this->head_ == this->head_->next_); - - ACE_Node *temp = this->head_; - - for (ACE_Node *s_temp = s.head_->next_; - s_temp != s.head_; - s_temp = s_temp->next_) - { - ACE_Node *nptr = temp->next_; - ACE_NEW_MALLOC (temp->next_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node (s_temp->item_, nptr)); - temp = temp->next_; - } - this->cur_size_ = s.cur_size_; -} - -template -ACE_Unbounded_Stack::ACE_Unbounded_Stack (const ACE_Unbounded_Stack &s) - : head_ (0), - cur_size_ (0), - allocator_ (s.allocator_) -{ - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc( sizeof (ACE_Node)), - ACE_Node); - this->head_->next_ = this->head_; - - // ACE_TRACE ("ACE_Unbounded_Stack::ACE_Unbounded_Stack"); - this->copy_all_nodes (s); -} - -template void -ACE_Unbounded_Stack::operator= (const ACE_Unbounded_Stack &s) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::operator="); - if (this != &s) - { - this->delete_all_nodes (); - this->copy_all_nodes (s); - } -} - -template -ACE_Unbounded_Stack::~ACE_Unbounded_Stack (void) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::~ACE_Unbounded_Stack"); - - this->delete_all_nodes (); - ACE_DES_FREE_TEMPLATE (head_, this->allocator_->free, - ACE_Node, ); -} - -template int -ACE_Unbounded_Stack::push (const T &new_item) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::push"); - - ACE_Node *temp = 0; - - ACE_NEW_MALLOC_RETURN (temp, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node (new_item, this->head_->next_), -1); - - this->head_->next_ = temp; - this->cur_size_++; - return 0; -} - -template int -ACE_Unbounded_Stack::pop (T &item) -{ - // ACE_TRACE ("ACE_Unbounded_Stack::pop"); - - if (this->is_empty ()) - return -1; - else - { - ACE_Node *temp = this->head_->next_; - item = temp->item_; - this->head_->next_ = temp->next_; - - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - this->cur_size_--; - return 0; - } -} - -template int -ACE_Unbounded_Stack::find (const T &item) const -{ -// ACE_TRACE ("ACE_Unbounded_Stack::find"); - // Set into the dummy node. - this->head_->item_ = item; - - ACE_Node *temp = this->head_->next_; - - // Keep looping until we find the item. - while (!(temp->item_ == item)) - temp = temp->next_; - - // If we found the dummy node then it's not really there, otherwise, - // it is there. - return temp == this->head_ ? -1 : 0; -} - -template int -ACE_Unbounded_Stack::insert (const T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Stack::insert"); - - if (this->find (item) == 0) - return 1; - else - return this->push (item); -} - -template int -ACE_Unbounded_Stack::remove (const T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Stack::remove"); - - // Insert the item to be founded into the dummy node. - this->head_->item_ = item; - - ACE_Node *curr = this->head_; - - while (!(curr->next_->item_ == item)) - curr = curr->next_; - - if (curr->next_ == this->head_) - return -1; // Item was not found. - else - { - ACE_Node *temp = curr->next_; - // Skip over the node that we're deleting. - curr->next_ = temp->next_; - this->cur_size_--; - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - return 0; - } -} - -template -ACE_Unbounded_Queue::ACE_Unbounded_Queue (ACE_Allocator *alloc) - : head_ (0), - cur_size_ (0), - allocator_ (alloc) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::ACE_Unbounded_Queue (void)"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node); - - // Make the list circular by pointing it back to itself. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_Queue::ACE_Unbounded_Queue (const ACE_Unbounded_Queue &us) - : head_ (0), - cur_size_ (0), - allocator_ (us.allocator_) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::ACE_Unbounded_Queue"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node); - this->head_->next_ = this->head_; - this->copy_nodes (us); -} - -template void -ACE_Unbounded_Queue::operator= (const ACE_Unbounded_Queue &us) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::operator="); - - if (this != &us) - { - this->delete_nodes (); - this->copy_nodes (us); - } -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_Queue) - -template void -ACE_Unbounded_Queue::dump (void) const -{ -// ACE_TRACE ("ACE_Unbounded_Queue::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\nhead_ = %u", this->head_)); - ACE_DEBUG ((LM_DEBUG, "\nhead_->next_ = %u", this->head_->next_)); - ACE_DEBUG ((LM_DEBUG, "\ncur_size_ = %d\n", this->cur_size_)); - - T *item = 0; - size_t count = 1; - - for (ACE_Unbounded_Queue_Iterator iter (*(ACE_Unbounded_Queue *) this); - iter.next (item) != 0; - iter.advance ()) - ACE_DEBUG ((LM_DEBUG, "count = %d\n", count++)); - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template void -ACE_Unbounded_Queue::copy_nodes (const ACE_Unbounded_Queue &us) -{ - for (ACE_Node *curr = us.head_->next_; - curr != us.head_; - curr = curr->next_) - if (this->enqueue_tail (curr->item_) == -1) - // @@ What's the right thing to do here? - this->delete_nodes (); -} - -template void -ACE_Unbounded_Queue::delete_nodes (void) -{ - ACE_Node *curr = this->head_->next_; - - // Keep looking until we've hit the dummy node. - - while (curr != this->head_) - { - ACE_Node *temp = curr; - curr = curr->next_; - - ACE_DES_FREE_TEMPLATE (temp, - this->allocator_->free, - ACE_Node, ); - this->cur_size_--; - } - - // Reset the list to be a circular list with just a dummy node. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_Queue::~ACE_Unbounded_Queue (void) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::~ACE_Unbounded_Queue (void)"); - - this->delete_nodes (); - ACE_DES_FREE_TEMPLATE (head_, this->allocator_->free, - ACE_Node, ); - this->head_ = 0; -} - -template int -ACE_Unbounded_Queue::enqueue_head (const T &new_item) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::enqueue_tail"); - - ACE_Node *temp; - - // Create a new node that points to the original head. - ACE_NEW_MALLOC_RETURN (temp, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node (new_item, this->head_->next_), -1); - - // Link this pointer into the front of the list. - this->head_->next_ = temp; - - this->cur_size_++; - return 0; -} - -template int -ACE_Unbounded_Queue::enqueue_tail (const T &new_item) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::enqueue_head"); - - ACE_Node *temp; - - // Insert into the old dummy node location. - this->head_->item_ = new_item; - - // Create a new dummy node. - ACE_NEW_MALLOC_RETURN (temp, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node (this->head_->next_), -1); - - // Link this dummy pointer into the list. - this->head_->next_ = temp; - - // Point the head to the new dummy node. - this->head_ = temp; - - this->cur_size_++; - return 0; -} - -template int -ACE_Unbounded_Queue::dequeue_head (T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::dequeue_head"); - - // Check for empty queue. - if (this->is_empty ()) - return -1; - - ACE_Node *temp = this->head_->next_; - - item = temp->item_; - this->head_->next_ = temp->next_; - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - --this->cur_size_; - return 0; -} - -template void -ACE_Unbounded_Queue::reset (void) -{ - ACE_TRACE ("reset"); - - this->delete_nodes (); -} - -template int -ACE_Unbounded_Queue::get (T *&item, size_t index) const -{ -// ACE_TRACE ("ACE_Unbounded_Queue::get"); - - ACE_Node *curr = this->head_->next_; - - size_t i; - - for (i = 0; i < this->cur_size_; i++) - { - if (i == index) - break; - - curr = curr->next_; - } - - if (i < this->cur_size_) - { - item = &curr->item_; - return 0; - } - else - return -1; -} - -template int -ACE_Unbounded_Queue::set (const T &item, - size_t index) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::set"); - - ACE_Node *curr = this->head_->next_; - - size_t i; - - for (i = 0; - i < index && i < this->cur_size_; - i++) - curr = curr->next_; - - if (i < this->cur_size_) - { - // We're in range, so everything's cool. - curr->item_ = item; - return 0; - } - else - { - // We need to expand the list. - - // A common case will be increasing the set size by 1. - // Therefore, we'll optimize for this case. - if (i == index) - { - // Try to expand the size of the set by 1. - if (this->enqueue_tail (item) == -1) - return -1; - else - return 0; - } - else - { - T dummy; - - // We need to expand the list by multiple (dummy) items. - for (; i < index; i++) - { - // This head points to the existing dummy node, which is - // about to be overwritten when we add the new dummy - // node. - curr = this->head_; - - // Try to expand the size of the set by 1, but don't - // store anything in the dummy node (yet). - if (this->enqueue_tail (dummy) == -1) - return -1; - } - - curr->item_ = item; - return 0; - } - } -} - -template void -ACE_Unbounded_Queue_Iterator::dump (void) const -{ -// ACE_TRACE ("ACE_Unbounded_Queue_Iterator::dump"); -} - -template -ACE_Unbounded_Queue_Iterator::ACE_Unbounded_Queue_Iterator (ACE_Unbounded_Queue &q) - : current_ (q.head_->next_), - queue_ (q) -{ -// ACE_TRACE ("ACE_Unbounded_Queue_Iterator::ACE_Unbounded_Queue_Iterator"); -} - -template int -ACE_Unbounded_Queue_Iterator::advance (void) -{ -// ACE_TRACE ("ACE_Unbounded_Queue_Iterator::advance"); - this->current_ = this->current_->next_; - return this->current_ != this->queue_.head_; -} - -template int -ACE_Unbounded_Queue_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Unbounded_Queue_Iterator::done"); - - return this->current_ == this->queue_.head_; -} - -template int -ACE_Unbounded_Queue_Iterator::next (T *&item) -{ -// ACE_TRACE ("ACE_Unbounded_Queue_Iterator::next"); - if (this->current_ == this->queue_.head_) - return 0; - else - { - item = &this->current_->item_; - return 1; - } -} - -//-------------------------------------------------- -ACE_ALLOC_HOOK_DEFINE(ACE_Double_Linked_List_Iterator) - -template -ACE_Double_Linked_List_Iterator::ACE_Double_Linked_List_Iterator (ACE_Double_Linked_List &dll) - : dllist_ (dll) -{ - this->current_ = dll.head_->next_; // Initialize head ptr. -} - -template T * -ACE_Double_Linked_List_Iterator::not_done (void) const -{ - if (this->current_ != this->dllist_.head_) - return this->current_; - else - return 0; -} - -template T * -ACE_Double_Linked_List_Iterator::do_advance (void) -{ - if (this->not_done ()) - { - this->current_ = this->current_->next_; - return this->not_done (); - } - else - return 0; -} - -template T * -ACE_Double_Linked_List_Iterator::next (void) const -{ - return this->not_done (); -} - -template int -ACE_Double_Linked_List_Iterator::advance (void) -{ - return this->do_advance () ? 1 : 0; -} - -template int -ACE_Double_Linked_List_Iterator::done (void) const -{ - return this->not_done () ? 0 : 1; -} - -template void -ACE_Double_Linked_List_Iterator::dump (void) const -{ - // Dump the state of an object. -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Double_Linked_List) - -template -ACE_Double_Linked_List:: ACE_Double_Linked_List (ACE_Allocator *alloc) - : size_ (0), allocator_ (alloc) -{ - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (T *) this->allocator_->malloc (sizeof (T)), - T); - - this->init_head (); -} - -template -ACE_Double_Linked_List::ACE_Double_Linked_List (ACE_Double_Linked_List &cx) - : allocator_ (cx.allocator_) -{ - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (T *) this->allocator_->malloc (sizeof (T)), - T); - this->init_head (); - this->copy_nodes (cx); -} - -template void -ACE_Double_Linked_List::operator= (ACE_Double_Linked_List &cx) -{ - if (this != &cx) - { - this->delete_nodes (); - this->copy_nodes (cx); - } -} - -template -ACE_Double_Linked_List::~ACE_Double_Linked_List (void) -{ - this->delete_nodes (); - ACE_DES_FREE (head_, this->allocator_->free, - T); - this->head_ = 0; -} - -template int -ACE_Double_Linked_List::is_empty (void) const -{ - return this->size () ? 0 : 1; -} - -template int -ACE_Double_Linked_List::is_full (void) const -{ - return 0; // We have no bound. -} - -template T * -ACE_Double_Linked_List::insert_tail (T *new_item) -{ - // Insert it before , i.e., at tail. - this->insert_element (new_item, 1); - return new_item; -} - -template T * -ACE_Double_Linked_List::insert_head (T *new_item) -{ - this->insert_element (new_item); // Insert it after , i.e., at head. - return new_item; -} - -template T * -ACE_Double_Linked_List::delete_head (void) -{ - T *temp; - - if (this->is_empty ()) - return 0; - - temp = this->head_->next_; - this->remove_element (temp); // Detach it from the list. - return temp; -} - -template T * -ACE_Double_Linked_List::delete_tail (void) -{ - T *temp; - - if (this->is_empty ()) - return 0; - - temp = this->head_->prev_; - this->remove_element (temp); // Detach it from the list. - return temp; -} - -template void -ACE_Double_Linked_List::reset (void) -{ - this->delete_nodes (); -} - -template int -ACE_Double_Linked_List::get (T *&item, size_t index) -{ - ACE_Double_Linked_List_Iterator iter (*this); - - for (size_t i = 0; - i < index && !iter.done (); - i++) - iter.advance (); - - item = iter.next (); - return item ? 0 : 1; -} - -template size_t -ACE_Double_Linked_List::size (void) const -{ - return this->size_; -} - -template void -ACE_Double_Linked_List::dump (void) const -{ - // Dump the state of an object. -} - -#if 0 -template T * -ACE_Double_Linked_List::find (const T &item) -{ - for (ACE_Double_Linked_List_Iterator iter (*this); - !iter.done (); - iter.advance ()) - { - T *temp = iter.next (); - - if (*temp == item) - return temp; - } - - return 0; -} - -template int -ACE_Double_Linked_List::remove (const T &item) -{ - T *temp = this->find (item); - - if (temp != 0) - return this->remove (temp); - else - return -1; -} -#endif /* 0 */ - -template int -ACE_Double_Linked_List::remove (T *n) -{ - return this->remove_element (n); -} - -template void -ACE_Double_Linked_List::delete_nodes (void) -{ - while (! this->is_empty ()) - { - T * temp = this->head_->next_; - this->remove_element (temp); - delete temp; - } -} - -template void -ACE_Double_Linked_List::copy_nodes (ACE_Double_Linked_List &c) -{ - for (ACE_Double_Linked_List_Iterator iter (c); - !iter.done (); - iter.advance ()) - this->insert_head (new T (*iter.next ())); -} - -template void -ACE_Double_Linked_List::init_head (void) -{ - this->head_->next_ = this->head_->prev_ = this->head_; -} - -template int -ACE_Double_Linked_List::insert_element (T *new_item, - int before, - T *old_item) -{ - if (old_item == 0) - old_item = this->head_; - - if (before) - old_item = old_item->prev_; - - new_item->next_ = old_item->next_; - new_item->next_->prev_ = new_item; - new_item->prev_ = old_item; - old_item->next_ = new_item; - this->size_++; - return 0; // Well, what will cause errors here? -} - -template int -ACE_Double_Linked_List::remove_element (T *item) -{ - // Notice that you have to ensure that item is an element of this - // list. We can't do much checking here. - - if (item == this->head_ || item->next_ == 0 - || item->prev_ == 0 || this->size () == 0) // Can't remove head - return -1; - - item->prev_->next_ = item->next_; - item->next_->prev_ = item->prev_; - item->next_ = item->prev_ = 0; // reset pointers to prevent double removal. - this->size_--; - return 0; -} - -//-------------------------------------------------- - -ACE_ALLOC_HOOK_DEFINE(ACE_Fixed_Set) - -template size_t -ACE_Fixed_Set::size (void) const -{ - return this->cur_size_; -} - -template size_t -ACE_Bounded_Set::size (void) const -{ - ACE_TRACE ("ACE_Bounded_Set::size"); - return this->cur_size_; -} - -template size_t -ACE_Unbounded_Set::size (void) const -{ -// ACE_TRACE ("ACE_Unbounded_Set::size"); - return this->cur_size_; -} - -template void -ACE_Fixed_Set::dump (void) const -{ - ACE_TRACE ("ACE_Fixed_Set::dump"); -} - -template -ACE_Fixed_Set::~ACE_Fixed_Set (void) -{ - ACE_TRACE ("ACE_Fixed_Set::~ACE_Fixed_Set"); - this->cur_size_ = 0; -} - -template -ACE_Fixed_Set::ACE_Fixed_Set (const ACE_Fixed_Set &fs) - : cur_size_ (fs.cur_size_) -{ - ACE_TRACE ("ACE_Fixed_Set::ACE_Fixed_Set"); - - for (size_t i = 0; i < this->cur_size_; i++) - this->search_structure_[i] = fs.search_structure_[i]; -} - -template void -ACE_Fixed_Set::operator= (const ACE_Fixed_Set &fs) -{ - ACE_TRACE ("ACE_Fixed_Set::operator="); - - if (this != &fs) - { - this->cur_size_ = fs.cur_size_; - - for (size_t i = 0; i < this->cur_size_; i++) - this->search_structure_[i] = fs.search_structure_[i]; - } -} - -template -ACE_Fixed_Set::ACE_Fixed_Set (void) - : cur_size_ (0), - max_size_ (SIZE) -{ - ACE_TRACE ("ACE_Fixed_Set::ACE_Fixed_Set"); - for (size_t i = 0; i < this->max_size_; i++) - this->search_structure_[i].is_free_ = 1; -} - -template int -ACE_Fixed_Set::find (const T &item) const -{ - ACE_TRACE ("ACE_Fixed_Set::find"); - - for (size_t i = 0; i < this->cur_size_; i++) - if (this->search_structure_[i].item_ == item - && this->search_structure_[i].is_free_ == 0) - return 0; - - return -1; -} - -template int -ACE_Fixed_Set::insert (const T &item) - -{ - ACE_TRACE ("ACE_Fixed_Set::insert"); - int first_free = -1; // Keep track of first free slot. - size_t i; - - for (i = 0; i < this->cur_size_; i++) - // First, make sure we don't allow duplicates. - - if (this->search_structure_[i].item_ == item - && this->search_structure_[i].is_free_ == 0) - return 1; - else if (this->search_structure_[i].is_free_ - && first_free == -1) - first_free = i; - - // If we found a free spot let's reuse it. - if (first_free > -1) - { - this->search_structure_[first_free].item_ = item; - this->search_structure_[first_free].is_free_ = 0; - return 0; - } - // Insert at the end of the active portion. - else if (i < this->max_size_) - { - this->search_structure_[i].item_ = item; - this->search_structure_[i].is_free_ = 0; - this->cur_size_++; - return 0; - } - else /* No more room! */ - { - errno = ENOMEM; - return -1; - } -} - -template int -ACE_Fixed_Set::remove (const T &item) -{ - ACE_TRACE ("ACE_Fixed_Set::remove"); - - for (size_t i = 0; i < this->cur_size_; i++) - if (this->search_structure_[i].item_ == item) - { - // Mark this entry as being free. - this->search_structure_[i].is_free_ = 1; - - // If we just unbound the highest entry, then we need to - // figure out where the next highest active entry is. - if (i + 1 == this->cur_size_) - { - while (i > 0 - && this->search_structure_[--i].is_free_) - continue; - - if (i == 0 - && this->search_structure_[i].is_free_) - this->cur_size_ = 0; - else - this->cur_size_ = i + 1; - } - return 0; - } - - return -1; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Fixed_Set_Iterator) - -template void -ACE_Fixed_Set_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Fixed_Set_Iterator::dump"); -} - -template -ACE_Fixed_Set_Iterator::ACE_Fixed_Set_Iterator (ACE_Fixed_Set &s) - : s_ (s), - next_ (-1) -{ - ACE_TRACE ("ACE_Fixed_Set_Iterator::ACE_Fixed_Set_Iterator"); - this->advance (); -} - -template int -ACE_Fixed_Set_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Fixed_Set_Iterator::advance"); - - for (++this->next_; - ACE_static_cast(size_t, this->next_) < this->s_.cur_size_ - && this->s_.search_structure_[this->next_].is_free_; - ++this->next_) - continue; - - return ACE_static_cast(size_t, this->next_) < this->s_.cur_size_; -} - -template int -ACE_Fixed_Set_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Fixed_Set_Iterator::done"); - - return ACE_static_cast(size_t, this->next_) >= this->s_.cur_size_; -} - -template int -ACE_Fixed_Set_Iterator::next (T *&item) -{ - ACE_TRACE ("ACE_Fixed_Set_Iterator::next"); - if (ACE_static_cast(size_t, this->next_) < this->s_.cur_size_) - { - item = &this->s_.search_structure_[this->next_].item_; - return 1; - } - else - return 0; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Bounded_Set) - -template void -ACE_Bounded_Set::dump (void) const -{ - ACE_TRACE ("ACE_Bounded_Set::dump"); -} - -template -ACE_Bounded_Set::~ACE_Bounded_Set (void) -{ - ACE_TRACE ("ACE_Bounded_Set::~ACE_Bounded_Set"); - delete [] this->search_structure_; -} - -template -ACE_Bounded_Set::ACE_Bounded_Set (void) - : cur_size_ (0), - max_size_ (ACE_static_cast(size_t, ACE_Bounded_Set::DEFAULT_SIZE)) -{ - ACE_TRACE ("ACE_Bounded_Set::ACE_Bounded_Set"); - - ACE_NEW (this->search_structure_, ACE_Bounded_Set::Search_Structure[this->max_size_]); - - for (size_t i = 0; i < this->max_size_; i++) - this->search_structure_[i].is_free_ = 1; -} - -template -ACE_Bounded_Set::ACE_Bounded_Set (const ACE_Bounded_Set &bs) - : cur_size_ (bs.cur_size_), - max_size_ (bs.max_size_) -{ - ACE_TRACE ("ACE_Bounded_Set::ACE_Bounded_Set"); - - ACE_NEW (this->search_structure_, ACE_Bounded_Set::Search_Structure[this->max_size_]); - - for (size_t i = 0; i < this->cur_size_; i++) - this->search_structure_[i] = bs.search_structure_[i]; -} - -template void -ACE_Bounded_Set::operator= (const ACE_Bounded_Set &bs) -{ - ACE_TRACE ("ACE_Bounded_Set::operator="); - - if (this != &bs) - { - if (this->max_size_ < bs.cur_size_) - { - delete [] this->search_structure_; - ACE_NEW (this->search_structure_, - ACE_Bounded_Set::Search_Structure[bs.cur_size_]); - this->max_size_ = bs.cur_size_; - } - - this->cur_size_ = bs.cur_size_; - - for (size_t i = 0; i < this->cur_size_; i++) - this->search_structure_[i] = bs.search_structure_[i]; - } -} - -template -ACE_Bounded_Set::ACE_Bounded_Set (size_t size) - : cur_size_ (0), - max_size_ (size) -{ - ACE_TRACE ("ACE_Bounded_Set::ACE_Bounded_Set"); - ACE_NEW (this->search_structure_, ACE_Bounded_Set::Search_Structure[size]); - - for (size_t i = 0; i < this->max_size_; i++) - this->search_structure_[i].is_free_ = 1; -} - -template int -ACE_Bounded_Set::find (const T &item) const -{ - ACE_TRACE ("ACE_Bounded_Set::find"); - - for (size_t i = 0; i < this->cur_size_; i++) - if (this->search_structure_[i].item_ == item - && this->search_structure_[i].is_free_ == 0) - return 0; - - return -1; -} - -template int -ACE_Bounded_Set::insert (const T &item) -{ - ACE_TRACE ("ACE_Bounded_Set::insert"); - int first_free = -1; // Keep track of first free slot. - size_t i; - - for (i = 0; i < this->cur_size_; i++) - // First, make sure we don't allow duplicates. - - if (this->search_structure_[i].item_ == item - && this->search_structure_[i].is_free_ == 0) - return 1; - else if (this->search_structure_[i].is_free_ && first_free == -1) - first_free = i; - - if (first_free > -1) // If we found a free spot let's reuse it. - { - this->search_structure_[first_free].item_ = item; - this->search_structure_[first_free].is_free_ = 0; - return 0; - } - else if (i < this->max_size_) // Insert at the end of the active portion. - { - this->search_structure_[i].item_ = item; - this->search_structure_[i].is_free_ = 0; - this->cur_size_++; - return 0; - } - else /* No more room! */ - { - errno = ENOMEM; - return -1; - } -} - -template int -ACE_Bounded_Set::remove (const T &item) -{ - ACE_TRACE ("ACE_Bounded_Set::remove"); - for (size_t i = 0; i < this->cur_size_; i++) - if (this->search_structure_[i].item_ == item) - { - // Mark this entry as being free. - this->search_structure_[i].is_free_ = 1; - - // If we just unbound the highest entry, then we need to - // figure out where the next highest active entry is. - if (i + 1 == this->cur_size_) - { - while (i > 0 && this->search_structure_[--i].is_free_) - continue; - - if (i == 0 && this->search_structure_[i].is_free_) - this->cur_size_ = 0; - else - this->cur_size_ = i + 1; - } - return 0; - } - - return -1; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Bounded_Set_Iterator) - -template void -ACE_Bounded_Set_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Bounded_Set_Iterator::dump"); -} - -template -ACE_Bounded_Set_Iterator::ACE_Bounded_Set_Iterator (ACE_Bounded_Set &s) - : s_ (s), - next_ (-1) -{ - ACE_TRACE ("ACE_Bounded_Set_Iterator::ACE_Bounded_Set_Iterator"); - this->advance (); -} - -template int -ACE_Bounded_Set_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Bounded_Set_Iterator::advance"); - - for (++this->next_; - ACE_static_cast(size_t, this->next_) < this->s_.cur_size_ - && this->s_.search_structure_[this->next_].is_free_; - ++this->next_) - continue; - - return ACE_static_cast(size_t, this->next_) < this->s_.cur_size_; -} - -template int -ACE_Bounded_Set_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Bounded_Set_Iterator::done"); - - return ACE_static_cast(size_t, this->next_) >= this->s_.cur_size_; -} - -template int -ACE_Bounded_Set_Iterator::next (T *&item) -{ - ACE_TRACE ("ACE_Bounded_Set_Iterator::next"); - if (ACE_static_cast(size_t, this->next_) < this->s_.cur_size_) - { - item = &this->s_.search_structure_[this->next_].item_; - return 1; - } - else - return 0; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Node) - -template -ACE_Node::~ACE_Node (void) -{ -} - -template -ACE_Node::ACE_Node (const T &i, ACE_Node *n) - : next_ (n), - item_ (i) -{ -// ACE_TRACE ("ACE_Node::ACE_Node"); -} - -template -ACE_Node::ACE_Node (ACE_Node *n, int /* MS_SUCKS */) - : next_ (n) -{ -// ACE_TRACE ("ACE_Node::ACE_Node"); -} - -template -ACE_Node::ACE_Node (const ACE_Node &s) - : next_ (s.next_), - item_ (s.item_) -{ -// ACE_TRACE ("ACE_Node::ACE_Node"); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_Set) - -template int -ACE_Unbounded_Set::insert_tail (const T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Queue::insert_tail"); - ACE_Node *temp; - - // Insert into the old dummy node location. - this->head_->item_ = item; - - // Create a new dummy node. - ACE_NEW_MALLOC_RETURN (temp, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node (this->head_->next_), -1); - - // Link this pointer into the list. - this->head_->next_ = temp; - - // Point the head to the new dummy node. - this->head_ = temp; - - this->cur_size_++; - return 0; -} - -template void -ACE_Unbounded_Set::reset (void) -{ - ACE_TRACE ("reset"); - - this->delete_nodes (); -} - -template void -ACE_Unbounded_Set::dump (void) const -{ - ACE_TRACE ("ACE_Unbounded_Set::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\nhead_ = %u", this->head_)); - ACE_DEBUG ((LM_DEBUG, "\nhead_->next_ = %u", this->head_->next_)); - ACE_DEBUG ((LM_DEBUG, "\ncur_size_ = %d\n", this->cur_size_)); - - T *item = 0; - size_t count = 1; - - for (ACE_Unbounded_Set_Iterator iter (*(ACE_Unbounded_Set *) this); - iter.next (item) != 0; - iter.advance ()) - ACE_DEBUG ((LM_DEBUG, "count = %d\n", count++)); - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template void -ACE_Unbounded_Set::copy_nodes (const ACE_Unbounded_Set &us) -{ - for (ACE_Node *curr = us.head_->next_; - curr != us.head_; - curr = curr->next_) - this->insert_tail (curr->item_); -} - -template void -ACE_Unbounded_Set::delete_nodes (void) -{ - ACE_Node *curr = this->head_->next_; - - // Keep looking until we've hit the dummy node. - - while (curr != this->head_) - { - ACE_Node *temp = curr; - curr = curr->next_; - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - this->cur_size_--; - } - - // Reset the list to be a circular list with just a dummy node. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_Set::~ACE_Unbounded_Set (void) -{ -// ACE_TRACE ("ACE_Unbounded_Set::~ACE_Unbounded_Set"); - - this->delete_nodes (); - - // Delete the dummy node. - ACE_DES_FREE_TEMPLATE (head_, this->allocator_->free, - ACE_Node, ); - this->head_ = 0; -} - -template -ACE_Unbounded_Set::ACE_Unbounded_Set (ACE_Allocator *alloc) - : head_ (0), - cur_size_ (0), - allocator_ (alloc) -{ -// ACE_TRACE ("ACE_Unbounded_Set::ACE_Unbounded_Set"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node); - - // Make the list circular by pointing it back to itself. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_Set::ACE_Unbounded_Set (const ACE_Unbounded_Set &us) - : head_ (0), - cur_size_ (0), - allocator_ (us.allocator_) -{ - ACE_TRACE ("ACE_Unbounded_Set::ACE_Unbounded_Set"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_Node*) this->allocator_->malloc (sizeof (ACE_Node)), - ACE_Node); - this->head_->next_ = this->head_; - this->copy_nodes (us); -} - -template void -ACE_Unbounded_Set::operator= (const ACE_Unbounded_Set &us) -{ - ACE_TRACE ("ACE_Unbounded_Set::operator="); - - if (this != &us) - { - this->delete_nodes (); - this->copy_nodes (us); - } -} - -template int -ACE_Unbounded_Set::find (const T &item) const -{ -// ACE_TRACE ("ACE_Unbounded_Stack::find"); - // Set into the dummy node. - this->head_->item_ = item; - - ACE_Node *temp = this->head_->next_; - - // Keep looping until we find the item. - while (!(temp->item_ == item)) - temp = temp->next_; - - // If we found the dummy node then it's not really there, otherwise, - // it is there. - return temp == this->head_ ? -1 : 0; -} - -template int -ACE_Unbounded_Set::insert (const T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Set::insert"); - if (this->find (item) == 0) - return 1; - else - return this->insert_tail (item); -} - -template int -ACE_Unbounded_Set::remove (const T &item) -{ -// ACE_TRACE ("ACE_Unbounded_Set::remove"); - - // Insert the item to be founded into the dummy node. - this->head_->item_ = item; - - ACE_Node *curr = this->head_; - - while (!(curr->next_->item_ == item)) - curr = curr->next_; - - if (curr->next_ == this->head_) - return -1; // Item was not found. - else - { - ACE_Node *temp = curr->next_; - // Skip over the node that we're deleting. - curr->next_ = temp->next_; - this->cur_size_--; - ACE_DES_FREE_TEMPLATE (temp, this->allocator_->free, - ACE_Node, ); - return 0; - } -} - -template ACE_Unbounded_Set_Iterator -ACE_Unbounded_Set::begin (void) -{ - // ACE_TRACE ("ACE_Unbounded_Set::begin"); - return ACE_Unbounded_Set_Iterator (*this); -} - -template ACE_Unbounded_Set_Iterator -ACE_Unbounded_Set::end (void) -{ - // ACE_TRACE ("ACE_Unbounded_Set::end"); - return ACE_Unbounded_Set_Iterator (*this, 1); -} - - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_Set_Iterator) - -template void -ACE_Unbounded_Set_Iterator::dump (void) const -{ -// ACE_TRACE ("ACE_Unbounded_Set_Iterator::dump"); -} - -template -ACE_Unbounded_Set_Iterator::ACE_Unbounded_Set_Iterator (ACE_Unbounded_Set &s, int end) - : current_ (end == 0 ? s.head_->next_ : s.head_ ), - set_ (&s) -{ -// ACE_TRACE ("ACE_Unbounded_Set_Iterator::ACE_Unbounded_Set_Iterator"); -} - -template int -ACE_Unbounded_Set_Iterator::advance (void) -{ -// ACE_TRACE ("ACE_Unbounded_Set_Iterator::advance"); - this->current_ = this->current_->next_; - return this->current_ != this->set_->head_; -} - -template int -ACE_Unbounded_Set_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Unbounded_Set_Iterator::done"); - - return this->current_ == this->set_->head_; -} - -template int -ACE_Unbounded_Set_Iterator::next (T *&item) -{ -// ACE_TRACE ("ACE_Unbounded_Set_Iterator::next"); - if (this->current_ == this->set_->head_) - return 0; - else - { - item = &this->current_->item_; - return 1; - } -} - -template ACE_Unbounded_Set_Iterator -ACE_Unbounded_Set_Iterator::operator++ (void) -{ - //ACE_TRACE ("ACE_Unbounded_Set_Iterator::operator++ ()"); - ACE_Unbounded_Set_Iterator retv (*this); - - this->advance (); - return retv; -} - -template ACE_Unbounded_Set_Iterator& -ACE_Unbounded_Set_Iterator::operator++ (int) -{ - // ACE_TRACE ("ACE_Unbounded_Set_Iterator::operator++ (int)"); - this->advance (); - return *this; -} - -template T& -ACE_Unbounded_Set_Iterator::operator* (void) -{ - //ACE_TRACE ("ACE_Unbounded_Set_Iterator::operator*"); - T *retv; - - ACE_ASSERT (this->next (retv) != 0); - return *retv; -} - -template int -ACE_Unbounded_Set_Iterator::operator== (const ACE_Unbounded_Set_Iterator &rhs) const -{ - //ACE_TRACE ("ACE_Unbounded_Set_Iterator::operator=="); - return (this->set_ == rhs.set_ && this->current_ == rhs.current_); -} - -template int -ACE_Unbounded_Set_Iterator::operator!= (const ACE_Unbounded_Set_Iterator &rhs) const -{ - //ACE_TRACE ("ACE_Unbounded_Set_Iterator::operator!="); - return (this->set_ != rhs.set_ || this->current_ != rhs.current_); -} - -template void -ACE_Unbounded_Stack_Iterator::dump (void) const -{ -// ACE_TRACE ("ACE_Unbounded_Stack_Iterator::dump"); -} - -template -ACE_Unbounded_Stack_Iterator::ACE_Unbounded_Stack_Iterator (ACE_Unbounded_Stack &q) - : current_ (q.head_->next_), - stack_ (q) -{ -// ACE_TRACE ("ACE_Unbounded_Stack_Iterator::ACE_Unbounded_Stack_Iterator"); -} - -template int -ACE_Unbounded_Stack_Iterator::advance (void) -{ -// ACE_TRACE ("ACE_Unbounded_Stack_Iterator::advance"); - this->current_ = this->current_->next_; - return this->current_ != this->stack_.head_; -} - -template int -ACE_Unbounded_Stack_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Unbounded_Stack_Iterator::done"); - - return this->current_ == this->stack_.head_; -} - -template int -ACE_Unbounded_Stack_Iterator::next (T *&item) -{ -// ACE_TRACE ("ACE_Unbounded_Stack_Iterator::next"); - if (this->current_ == this->stack_.head_) - return 0; - else - { - item = &this->current_->item_; - return 1; - } -} - -#endif /* ACE_CONTAINERS_C */ diff --git a/ace/Containers.h b/ace/Containers.h deleted file mode 100644 index 1a51118aa8a..00000000000 --- a/ace/Containers.h +++ /dev/null @@ -1,1044 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Containers.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_CONTAINERS_H) -#define ACE_CONTAINERS_H - -#include "ace/ACE.h" - -class ACE_Allocator; - -template -class ACE_Bounded_Stack -{ - // = TITLE - // Implement a generic LIFO abstract data type. - // - // = DESCRIPTION - // This implementation of a Stack uses a bounded array - // that is allocated dynamically. -public: - // = Initialization, assignemnt, and termination methods. - - ACE_Bounded_Stack (size_t size); - // Initialize a new stack so that it is empty. - - ACE_Bounded_Stack (const ACE_Bounded_Stack &s); - // The copy constructor (performs initialization). - - void operator= (const ACE_Bounded_Stack &s); - // Assignment operator (performs assignment). - - ~ACE_Bounded_Stack (void); - // Perform actions needed when stack goes out of scope. - - // = Classic Stack operations. - - int push (const T &new_item); - // Place a new item on top of the stack. Returns -1 if the stack - // is already full, 0 if the stack is not already full, and -1 if - // failure occurs. - - int pop (T &item); - // Remove and return the top stack item. Returns -1 if the stack is - // already empty, 0 if the stack is not already empty, and -1 if - // failure occurs. - - int top (T &item) const; - // Return top stack item without removing it. Returns -1 if the - // stack is already empty, 0 if the stack is not already empty, and - // -1 if failure occurs. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - size_t size (void) const; - // The number of items in the stack. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - size_t size_; - // Size of the dynamically allocated data. - - size_t top_; - // Keeps track of the current top of stack. - - T *stack_; - // Holds the stack's contents. -}; - -//---------------------------------------- - -template -class ACE_Fixed_Stack -{ - // = TITLE - // Implement a generic LIFO abstract data type. - // - // = DESCRIPTION - // This implementation of a Stack uses a fixed array - // with the size fixed at instantiation time. -public: - // = Initialization, assignemnt, and termination methods. - ACE_Fixed_Stack (void); - // Initialize a new stack so that it is empty. - - ACE_Fixed_Stack (const ACE_Fixed_Stack &s); - // The copy constructor (performs initialization). - - void operator= (const ACE_Fixed_Stack &s); - // Assignment operator (performs assignment). - - ~ACE_Fixed_Stack (void); - // Perform actions needed when stack goes out of scope. - - // = Classic Stack operations. - - int push (const T &new_item); - // Place a new item on top of the stack. Returns -1 if the stack - // is already full, 0 if the stack is not already full, and -1 if - // failure occurs. - - int pop (T &item); - // Remove and return the top stack item. Returns -1 if the stack is - // already empty, 0 if the stack is not already empty, and -1 if - // failure occurs. - - int top (T &item) const; - // Return top stack item without removing it. Returns -1 if the - // stack is already empty, 0 if the stack is not already empty, and - // -1 if failure occurs. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - size_t size (void) const; - // The number of items in the stack. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - size_t size_; - // Size of the allocated data. - - size_t top_; - // Keeps track of the current top of stack. - - T stack_[SIZE]; - // Holds the stack's contents. -}; - -//---------------------------------------- - -// Forward declarations. -template class ACE_Unbounded_Set; -template class ACE_Unbounded_Set_Iterator; -template class ACE_Unbounded_Queue; -template class ACE_Unbounded_Queue_Iterator; -template class ACE_Unbounded_Stack; -template class ACE_Unbounded_Stack_Iterator; - -template -class ACE_Node -{ - // = TITLE - // Implementation element in a Queue. - friend class ACE_Unbounded_Queue; - friend class ACE_Unbounded_Queue_Iterator; - friend class ACE_Unbounded_Set; - friend class ACE_Unbounded_Set_Iterator; - friend class ACE_Unbounded_Stack; - friend class ACE_Unbounded_Stack_Iterator; - -public: - ~ACE_Node (void); - // This isn't necessary, but it keeps the compiler happy. - -private: - // = Initialization methods - ACE_Node (const T &i, ACE_Node *n); - ACE_Node (ACE_Node *n = 0, int MS_SUCKS = 0); - ACE_Node (const ACE_Node &n); - - ACE_Node *next_; - // Pointer to next element in the list of s. - - T item_; - // Current value of the item in this node. -}; - -template -class ACE_Unbounded_Stack -{ - // = TITLE - // Implement a generic LIFO abstract data type. - // - // = DESCRIPTION - // This implementation of an unbounded Stack uses a linked list. -public: - friend class ACE_Unbounded_Stack_Iterator; - - // Trait definition. - typedef ACE_Unbounded_Stack_Iterator ITERATOR; - - // = Initialization, assignemnt, and termination methods. - ACE_Unbounded_Stack (ACE_Allocator *alloc = 0); - // Initialize a new stack so that it is empty. Use user defined - // allocation strategy if specified. - - ACE_Unbounded_Stack (const ACE_Unbounded_Stack &s); - // The copy constructor (performs initialization). - - void operator= (const ACE_Unbounded_Stack &s); - // Assignment operator (performs assignment). - - ~ACE_Unbounded_Stack (void); - // Perform actions needed when stack goes out of scope. - - // = Classic Stack operations. - - int push (const T &new_item); - // Place a new item on top of the stack. Returns -1 if the stack - // is already full, 0 if the stack is not already full, and -1 if - // failure occurs. - - int pop (T &item); - // Remove and return the top stack item. Returns -1 if the stack is - // already empty, 0 if the stack is not already empty, and -1 if - // failure occurs. - - int top (T &item) const; - // Return top stack item without removing it. Returns -1 if the - // stack is already empty, 0 if the stack is not already empty, and - // -1 if failure occurs. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Auxiliary methods (not strictly part of the Stack ADT). - - int insert (const T &new_item); - // Insert into the Stack at the head (but doesn't allow - // duplicates). Returns -1 if failures occur, 1 if item is already - // present, else 0. - - int remove (const T &item); - // Remove from the Stack. Returns 0 if it removes the item, - // -1 if it can't find the item, and -1 if a failure occurs. - - int find (const T &item) const; - // Finds if occurs the set. Returns 0 if finds, else -1. - - size_t size (void) const; - // The number of items in the stack. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - void delete_all_nodes (void); - // Delete all the nodes in the stack. - - void copy_all_nodes (const ACE_Unbounded_Stack &s); - // Copy all nodes from to . - - ACE_Node *head_; - // Head of the linked list of Nodes. - - size_t cur_size_; - // Current size of the stack. - - ACE_Allocator *allocator_; - // Allocation strategy of the stack. -}; - -template -class ACE_Unbounded_Stack_Iterator -{ - // = TITLE - // Implement an iterator over an unbounded Stack. -public: - // = Initialization method. - ACE_Unbounded_Stack_Iterator (ACE_Unbounded_Stack &); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the Stack. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the Stack. Returns 0 when all the - // items in the Stack have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Node *current_; - // Pointer to the current node in the iteration. - - ACE_Unbounded_Stack &stack_; - // Pointer to the Stack we're iterating over. -}; - -template -class ACE_Unbounded_Queue; - -template -class ACE_Unbounded_Queue_Iterator -{ - // = TITLE - // Implement an iterator over an unbounded queue. -public: - // = Initialization method. - ACE_Unbounded_Queue_Iterator (ACE_Unbounded_Queue &); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the queue. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the queue have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Node *current_; - // Pointer to the current node in the iteration. - - ACE_Unbounded_Queue &queue_; - // Pointer to the queue we're iterating over. -}; - -template -class ACE_Unbounded_Queue -{ - // = TITLE - // A Queue of "infinite" length. - // - // = DESCRIPTION - // This implementation of an unbounded queue uses a circular - // linked list with a dummy node. -public: - friend class ACE_Unbounded_Queue_Iterator; - - // Trait definition. - typedef ACE_Unbounded_Queue_Iterator ITERATOR; - - // = Initialization and termination methods. - ACE_Unbounded_Queue (ACE_Allocator *alloc = 0); - // construction. Use user specified allocation strategy - // if specified. - - ACE_Unbounded_Queue (const ACE_Unbounded_Queue &); - // Copy constructor. - - void operator= (const ACE_Unbounded_Queue &); - // Assignment operator. - - ~ACE_Unbounded_Queue (void); - // construction. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Classic queue operations. - - int enqueue_tail (const T &new_item); - // Adds to the tail of the queue. Returns 0 on success, - // -1 on failure. - - int enqueue_head (const T &new_item); - // Adds to the head of the queue. Returns 0 on success, - // -1 on failure. - - int dequeue_head (T &item); - // Removes and returns the first on the queue. Returns 0 on - // success, -1 if the queue was empty. - - // = Additional utility methods. - - void reset (void); - // Reset the to be empty. - - int get (T *&item, size_t index = 0) const; - // Get the th element in the set. Returns -1 if the element - // isn't in the range <0..size() - 1>, else 0. - - int set (const T &item, size_t index); - // Set the th element in the set. Will pad out the set with - // empty nodes if is beyond the range <0..size() - 1>. - // Returns -1 on failure, 0 if isn't initially in range, and - // 0 otherwise. - - size_t size (void) const; - // The number of items in the queue. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - void delete_nodes (void); - // Delete all the nodes in the queue. - - void copy_nodes (const ACE_Unbounded_Queue &); - // Copy nodes into this queue. - - ACE_Node *head_; - // Pointer to the dummy node in the circular linked Queue. - - size_t cur_size_; - // Current size of the queue. - - ACE_Allocator *allocator_; - // Allocation Strategy of the queue. -}; - -template -class ACE_Double_Linked_List; - -template -class ACE_Double_Linked_List_Iterator -{ - // = TITLE - // Implement an iterator over a container double-linked list - // - // = DESCRIPTION - // Iterate thru the double-linked list. This class provide - // an interface that let users access the internal element - // addresses directly, which (IMHO) seems to break the - // encasulation. Notice must delcare - // ACE_Double_Linked_List and - // ACE_Double_Linked_List_Iterator as friend classes. -public: - // = Initialization method. - ACE_Double_Linked_List_Iterator (ACE_Double_Linked_List &); - - // = Iteration methods. - - T *next (void) const; - // Return the address of next (current) unvisited item in the list. - // 0 if there is no more element available. - - int advance (void); - // Move forward by one element in the Stack. Returns 0 when all the - // items in the Stack have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - T *not_done (void) const ; - // Check if we reach the end of the list. Can also be used to get - // the *current* element in the list. Return the address of the - // current item if there are still elements left , 0 if we run out - // of element. - - T *do_advance (void); - // Advance to the next element in the list. Return the address of the - // next element if there are more, 0 otherwise. - - T *current_; - // Remember where we are. - - ACE_Double_Linked_List &dllist_; -}; - -template -class ACE_Double_Linked_List -{ - // = TITLE - // A double-linked list implementation. - // - // = DESCRIPTION - // This implementation of an unbounded double-linked list uses a - // circular linked list with a dummy node. It is pretty much - // like the ACE_Unbounded_Queue except that it allows removing - // of a specific element from a specific location. -public: - friend class ACE_Double_Linked_List_Iterator; - - // Trait definition. - typedef ACE_Double_Linked_List_Iterator ITERATOR; - - // = Initialization and termination methods. - ACE_Double_Linked_List (ACE_Allocator *alloc = 0); - // construction. Use user specified allocation strategy - // if specified. - - ACE_Double_Linked_List (ACE_Double_Linked_List &); - // Copy constructor. - - void operator= (ACE_Double_Linked_List &); - // Assignment operator. - - ~ACE_Double_Linked_List (void); - // Destructor. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Classic queue operations. - - T *insert_tail (T *new_item); - // Adds to the tail of the list. Returns 0 on success, - // -1 on failure. - - T *insert_head (T *new_item); - // Adds to the head of the list. Returns 0 on success, - // -1 on failure. - - T* delete_head (void); - // Removes and returns the first in the list. Returns - // internal node's address on success, 0 if the queue was empty. - // This method will *not* free the internal node. - - T *delete_tail (void); - // Removes and returns the last in the list. Returns - // internal nodes's address on success, 0 if the queue was - // empty. This method will *not* free the internal node. - - // = Additional utility methods. - - void reset (void); - // Reset the to be empty. - // Notice that since no one is interested in the items within, - // This operation will delete all items. - - int get (T *&item, size_t index = 0); - // Get the th element in the set. Returns -1 if the element - // isn't in the range <0..size() - 1>, else 0. - - size_t size (void) const; - // The number of items in the queue. - - void dump (void) const; - // Dump the state of an object. - - int remove (T *n); - // Use DNode address directly. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - void delete_nodes (void); - // Delete all the nodes in the list. - - void copy_nodes (ACE_Double_Linked_List &); - // Copy nodes into this list. - - void init_head (void); - // Setup header pointer. Called after we create the head node in ctor. - - int insert_element (T *new_item, - int before = 0, - T *old_item = 0); - // Insert a into the list. It will be added before - // or after . Default is to insert the new item *after* - // . Return 0 if succeed, -1 if error occured. - - int remove_element (T *item); - // Remove an from the list. Return 0 if succeed, -1 otherwise. - // Notice that this function checks if item is and either its - // or is NULL. The function resets item's and - // to 0 to prevent clobbering the double-linked list if a user - // tries to remove the same node again. - - T *head_; - // Head of the circular double-linked list. - - size_t size_; - // Size of this list. - - ACE_Allocator *allocator_; - // Allocation Strategy of the queue. -}; - -template -class ACE_Unbounded_Set_Iterator -{ - // = TITLE - // Implement an iterator over an unbounded set. -public: - // = Initialization method. - ACE_Unbounded_Set_Iterator (ACE_Unbounded_Set &s, int end = 0); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the Set. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iteration, compare, and reference functions. - - ACE_Unbounded_Set_Iterator operator++ (void); - // Postfix advance. - - ACE_Unbounded_Set_Iterator& operator++ (int); - // Prefix advance. - - T& operator* (void); - // Returns a reference to the interal element is pointing to. - - int operator== (const ACE_Unbounded_Set_Iterator &) const; - int operator!= (const ACE_Unbounded_Set_Iterator &) const; - // Check if two iterators point to the same position - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Node *current_; - // Pointer to the current node in the iteration. - - ACE_Unbounded_Set *set_; - // Pointer to the set we're iterating over. -}; - -template -class ACE_Unbounded_Set -{ - // = TITLE - // Implement a simple unordered set of of unbounded size. - // - // = DESCRIPTION - // This implementation of an unordered set uses a circular - // linked list with a dummy node. This implementation does not - // allow duplicates, but it maintains FIFO ordering of insertions. -public: - friend class ACE_Unbounded_Set_Iterator; - - // Trait definition. - typedef ACE_Unbounded_Set_Iterator ITERATOR; - typedef ACE_Unbounded_Set_Iterator iterator; - - // = Initialization and termination methods. - ACE_Unbounded_Set (ACE_Allocator *alloc = 0); - // Constructor. Use user specified allocation strategy - // if specified. - - ACE_Unbounded_Set (const ACE_Unbounded_Set &); - // Copy constructor. - - void operator= (const ACE_Unbounded_Set &); - // Assignment operator. - - ~ACE_Unbounded_Set (void); - // Destructor. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Classic unordered set operations. - - int insert (const T &new_item); - // Insert into the set (doesn't allow duplicates). - // Returns -1 if failures occur, 1 if item is already present, else - // 0. - - int remove (const T &item); - // Remove first occurrence of from the set. Returns 0 if - // it removes the item, -1 if it can't find the item, and -1 if a - // failure occurs. - - int find (const T &item) const; - // Finds if occurs in the set. Returns 0 if find succeeds, - // else -1. - - size_t size (void) const; - // Size of the set. - - void dump (void) const; - // Dump the state of an object. - - void reset (void); - // Reset the to be empty. - - // = STL-styled unidirectional iterator factory. - ACE_Unbounded_Set_Iterator begin (void); - ACE_Unbounded_Set_Iterator end (void); - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - int insert_tail (const T &item); - // Insert at the tail of the set (doesn't check for - // duplicates). - - void delete_nodes (void); - // Delete all the nodes in the Set. - - void copy_nodes (const ACE_Unbounded_Set &); - // Copy nodes into this set. - - ACE_Node *head_; - // Head of the linked list of Nodes. - - size_t cur_size_; - // Current size of the set. - - ACE_Allocator *allocator_; - // Allocation strategy of the set. -}; - -// Forward declaration. -template -class ACE_Fixed_Set; - -template -class ACE_Fixed_Set_Iterator -{ - // = TITLE - // Interates through an unordered set. - // - // = DESCRIPTION - // This implementation of an unordered set uses a fixed array. - // Allows deletions while iteration is occurring. -public: - // = Initialization method. - ACE_Fixed_Set_Iterator (ACE_Fixed_Set &s); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the Set. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Fixed_Set &s_; - // Set we are iterating over. - - ssize_t next_; - // How far we've advanced over the set. -}; - -template -class ACE_Fixed_Set -{ - // = TITLE - // Implement a simple unordered set of with maximum . - // - // = DESCRIPTION - // This implementation of an unordered set uses a fixed array. - // This implementation does not allow duplicates... -public: - friend class ACE_Fixed_Set_Iterator; - - // Trait definition. - typedef ACE_Fixed_Set_Iterator ITERATOR; - - // = Initialization and termination methods. - ACE_Fixed_Set (void); - // Constructor. - - ACE_Fixed_Set (const ACE_Fixed_Set &); - // Copy constructor. - - void operator= (const ACE_Fixed_Set &); - // Assignment operator. - - ~ACE_Fixed_Set (void); - // Destructor. - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Classic unordered set operations. - - int insert (const T &new_item); - // Insert into the set (doesn't allow duplicates). - // Returns -1 if failures occur, 1 if item is already present, else - // 0. - - int remove (const T &item); - // Remove first occurrence of from the set. Returns 0 if - // it removes the item, -1 if it can't find the item, and -1 if a - // failure occurs. - - int find (const T &item) const; - // Finds if occurs in the set. Returns 0 if finds, else -1. - - size_t size (void) const; - // Size of the set. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - struct - { - T item_; - // Item in the set. - - int is_free_; - // Keeps track of whether this item is in use or not. - } search_structure_[SIZE]; - // Holds the contents of the set. - - size_t cur_size_; - // Current size of the set. - - size_t max_size_; - // Maximum size of the set. -}; - -// Forward declaration. -template -class ACE_Bounded_Set; - -template -class ACE_Bounded_Set_Iterator -{ - // = TITLE - // Interates through an unordered set. - // - // = DESCRIPTION - // This implementation of an unordered set uses a Bounded array. - // Allows deletions while iteration is occurring. -public: - // = Initialization method. - ACE_Bounded_Set_Iterator (ACE_Bounded_Set &s); - - // = Iteration methods. - - int next (T *&next_item); - // Pass back the that hasn't been seen in the Set. - // Returns 0 when all items have been seen, else 1. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Bounded_Set &s_; - // Set we are iterating over. - - ssize_t next_; - // How far we've advanced over the set. -}; - -template -class ACE_Bounded_Set -{ - // = TITLE - // Implement a simple unordered set of with maximum - // set at creation time. - // - // = DESCRIPTION - // This implementation of an unordered set uses a Bounded array. - // This implementation does not allow duplicates... -public: - friend class ACE_Bounded_Set_Iterator; - - // Trait definition. - typedef ACE_Bounded_Set_Iterator ITERATOR; - - enum - { - DEFAULT_SIZE = 10 - }; - - // = Initialization and termination methods. - ACE_Bounded_Set (void); - // Constructor. - - ACE_Bounded_Set (size_t size); - // Constructor. - - ACE_Bounded_Set (const ACE_Bounded_Set &); - // Copy constructor. - - void operator= (const ACE_Bounded_Set &); - // Assignment operator. - - ~ACE_Bounded_Set (void); - // Destructor - - // = Check boundary conditions. - - int is_empty (void) const; - // Returns 1 if the container is empty, otherwise returns 0. - - int is_full (void) const; - // Returns 1 if the container is full, otherwise returns 0. - - // = Classic unordered set operations. - - int insert (const T &new_item); - // Insert into the set (doesn't allow duplicates). - // Returns -1 if failures occur, 1 if item is already present, else - // 0. - - int remove (const T &item); - // Remove first occurrence of from the set. Returns 0 if it - // removes the item, -1 if it can't find the item, and -1 if a - // failure occurs. - - int find (const T &item) const; - // Finds if occurs in the set. Returns 0 if finds, else -1. - - size_t size (void) const; - // Size of the set. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - struct Search_Structure - { - T item_; - // Item in the set. - - int is_free_; - // Keeps track of whether this item is in use or not. - }; - - Search_Structure *search_structure_; - // Holds the contents of the set. - - size_t cur_size_; - // Current size of the set. - - size_t max_size_; - // Maximum size of the set. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Containers.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Containers.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Containers.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_CONTAINERS_H */ diff --git a/ace/Containers.i b/ace/Containers.i deleted file mode 100644 index abc7a7da958..00000000000 --- a/ace/Containers.i +++ /dev/null @@ -1,227 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Containers.i - -template ACE_INLINE int -ACE_Bounded_Stack::is_empty (void) const -{ - ACE_TRACE ("ACE_Bounded_Stack::is_empty"); - return this->top_ == 0; -} - -template ACE_INLINE int -ACE_Bounded_Stack::is_full (void) const -{ - ACE_TRACE ("ACE_Bounded_Stack::is_full"); - return this->top_ >= this->size_; -} - -template ACE_INLINE int -ACE_Bounded_Stack::push (const T &new_item) -{ - ACE_TRACE ("ACE_Bounded_Stack::push"); - if (this->is_full () == 0) - { - this->stack_[this->top_++] = new_item; - return 0; - } - else - return -1; -} - -template ACE_INLINE int -ACE_Bounded_Stack::pop (T &item) -{ - ACE_TRACE ("ACE_Bounded_Stack::pop"); - if (this->is_empty () == 0) - { - item = this->stack_[--this->top_]; - return 0; - } - else - return -1; -} - -template ACE_INLINE int -ACE_Bounded_Stack::top (T &item) const -{ - ACE_TRACE ("ACE_Bounded_Stack::top"); - if (this->is_empty () == 0) - { - item = this->stack_[this->top_ - 1]; - return 0; - } - else - return -1; -} - -template ACE_INLINE size_t -ACE_Bounded_Stack::size (void) const -{ - return this->size_; -} - -//---------------------------------------- - -template ACE_INLINE int -ACE_Fixed_Stack::is_empty (void) const -{ - ACE_TRACE ("ACE_Fixed_Stack::is_empty"); - return this->top_ == 0; -} - -template ACE_INLINE int -ACE_Fixed_Stack::is_full (void) const -{ - ACE_TRACE ("ACE_Fixed_Stack::is_full"); - return this->top_ >= this->size_; -} - -template ACE_INLINE int -ACE_Fixed_Stack::push (const T &new_item) -{ - ACE_TRACE ("ACE_Fixed_Stack::push"); - if (this->is_full () == 0) - { - this->stack_[this->top_++] = new_item; - return 0; - } - else - return -1; -} - -template ACE_INLINE int -ACE_Fixed_Stack::pop (T &item) -{ - ACE_TRACE ("ACE_Fixed_Stack::pop"); - if (this->is_empty () == 0) - { - item = this->stack_[--this->top_]; - return 0; - } - else - return -1; -} - -template ACE_INLINE int -ACE_Fixed_Stack::top (T &item) const -{ - ACE_TRACE ("ACE_Fixed_Stack::top"); - if (this->is_empty () == 0) - { - item = this->stack_[this->top_ - 1]; - return 0; - } - else - return -1; -} - -template ACE_INLINE size_t -ACE_Fixed_Stack::size (void) const -{ - return this->size_; -} - -template ACE_INLINE int -ACE_Unbounded_Stack::is_empty (void) const -{ - // ACE_TRACE ("ACE_Unbounded_Stack::is_empty"); - return this->head_ == this->head_->next_; -} - -template ACE_INLINE int -ACE_Unbounded_Stack::top (T &item) const -{ - ACE_TRACE ("ACE_Unbounded_Stack::top"); - if (this->is_empty () == 0) - { - item = this->head_->next_->item_; - return 0; - } - else - return -1; -} - -template ACE_INLINE int -ACE_Unbounded_Stack::is_full (void) const -{ - ACE_TRACE ("ACE_Unbounded_Stack::is_full"); - return 0; // ??? -} - -template ACE_INLINE size_t -ACE_Unbounded_Stack::size (void) const -{ - return this->cur_size_; -} - -// --- - -template ACE_INLINE size_t -ACE_Unbounded_Queue::size (void) const -{ - return this->cur_size_; -} - -template ACE_INLINE int -ACE_Unbounded_Queue::is_empty (void) const -{ - // ACE_TRACE ("ACE_Unbounded_Queue::is_empty"); - return this->head_ == this->head_->next_; -} - -template ACE_INLINE int -ACE_Unbounded_Queue::is_full (void) const -{ - // ACE_TRACE ("ACE_Unbounded_Queue::is_full"); - return 0; // We should implement a "node of last resort for this..." -} - -// --- - -template ACE_INLINE int -ACE_Unbounded_Set::is_empty (void) const -{ - ACE_TRACE ("ACE_Unbounded_Set::is_empty"); - return this->head_ == this->head_->next_; -} - -template ACE_INLINE int -ACE_Unbounded_Set::is_full (void) const -{ - ACE_TRACE ("ACE_Unbounded_Set::is_full"); - return 0; // We should implement a "node of last resort for this..." -} - -// --- - -template ACE_INLINE int -ACE_Fixed_Set::is_empty (void) const -{ - ACE_TRACE ("ACE_Fixed_Set::is_empty"); - return this->cur_size_ == 0; -} - -template ACE_INLINE int -ACE_Fixed_Set::is_full (void) const -{ - ACE_TRACE ("ACE_Fixed_Set::is_full"); - return this->cur_size_ == this->max_size_; -} - -// --- - -template ACE_INLINE int -ACE_Bounded_Set::is_empty (void) const -{ - ACE_TRACE ("ACE_Bounded_Set::is_empty"); - return this->cur_size_ == 0; -} - -template ACE_INLINE int -ACE_Bounded_Set::is_full (void) const -{ - ACE_TRACE ("ACE_Bounded_Set::is_full"); - return this->cur_size_ == this->max_size_; -} diff --git a/ace/DEV.cpp b/ace/DEV.cpp deleted file mode 100644 index 7133a045193..00000000000 --- a/ace/DEV.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// DEV.cpp -// $Id$ - - -#define ACE_BUILD_DLL -#include "ace/DEV.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_DEV) - -void -ACE_DEV::dump (void) const -{ - ACE_TRACE ("ACE_DEV::dump"); -} - -// This is the do-nothing constructor. - -ACE_DEV::ACE_DEV (void) -{ - ACE_TRACE ("ACE_DEV::ACE_DEV"); -} - -// Close the device - -int -ACE_DEV::close (void) -{ - ACE_TRACE ("ACE_DEV::close"); - int result = ACE_OS::close (this->get_handle ()); - this->set_handle (ACE_INVALID_HANDLE); - return result; -} diff --git a/ace/DEV.h b/ace/DEV.h deleted file mode 100644 index 73be717d46c..00000000000 --- a/ace/DEV.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// DEV.h -// -// = AUTHOR -// Gerhard Lenzer -// -// ============================================================================ - -#if !defined (ACE_DEV_H) -#define ACE_DEV_H - -#include "ace/IO_SAP.h" -#include "ace/DEV_Addr.h" - -// The following is necessary since many C++ compilers don't support -// typedef'd types inside of classes used as formal template -// arguments... ;-(. Luckily, using the C++ preprocessor I can hide -// most of this nastiness! - -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) -#define ACE_DEV_CONNECTOR ACE_DEV_Connector -#define ACE_DEV_STREAM ACE_DEV_Stream -#else /* TEMPLATES are broken (must be a cfront-based compiler...) */ -#define ACE_DEV_CONNECTOR ACE_DEV_Connector, ACE_DEV_Addr -#define ACE_DEV_STREAM ACE_DEV_Stream, ACE_DEV_Addr -#endif /* ACE_TEMPLATE_TYPEDEFS */ - -class ACE_Export ACE_DEV : public ACE_IO_SAP -{ - // = TITLE - // Defines the member functions for the base class of the - // ACE_DEV abstraction. -public: - int close (void); - // Close down the DEVICE - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - int disable (int signum) const ; - // Disable signal - // This is here to prevent Win32 from - // disabling SPIPE using socket calls - -protected: - ACE_DEV (void); - // Ensure that this class is an abstract base class -}; - -#include "ace/DEV.i" - -#endif /* ACE_DEV_H */ diff --git a/ace/DEV.i b/ace/DEV.i deleted file mode 100644 index 8b01156e51c..00000000000 --- a/ace/DEV.i +++ /dev/null @@ -1,15 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// DEV.i - -inline int -ACE_DEV::disable (int signum) const -{ -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (signum) ; - return 0 ; -#else /* ACE_WIN32 */ - return ACE_IO_SAP::disable (signum) ; -#endif /* ACE_WIN32 */ -} diff --git a/ace/DEV_Addr.cpp b/ace/DEV_Addr.cpp deleted file mode 100644 index 67f8d3611fd..00000000000 --- a/ace/DEV_Addr.cpp +++ /dev/null @@ -1,77 +0,0 @@ -// DEV_Addr.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/DEV_Addr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/DEV_Addr.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_DEV_Addr) - -void -ACE_DEV_Addr::dump (void) const -{ - ACE_TRACE ("ACE_DEV_Addr::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "devname_ = %s", this->devname_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Do nothing constructor. - -ACE_DEV_Addr::ACE_DEV_Addr (void) - : ACE_Addr (AF_DEV, sizeof this->devname_) -{ - ACE_TRACE ("ACE_DEV_Addr::ACE_DEV_Addr"); - - (void) ACE_OS::memset ((void *) &this->devname_, - 0, sizeof this->devname_); -} - -int -ACE_DEV_Addr::set (const ACE_DEV_Addr &sa) -{ - this->base_set (sa.get_type (), sa.get_size ()); - - if (sa.get_type () == AF_ANY) - (void) ACE_OS::memset ((void *) &this->devname_, - 0, - sizeof this->devname_); - else - (void) ACE_OS::memcpy ((void *) &this->devname_, - (void *) &sa.devname_, - sa.get_size ()); - return 0; -} - -// Copy constructor. - -ACE_DEV_Addr::ACE_DEV_Addr (const ACE_DEV_Addr &sa) -{ - ACE_TRACE ("ACE_DEV_Addr::ACE_DEV_Addr"); - - this->set (sa); -} - -ACE_DEV_Addr::ACE_DEV_Addr (LPCTSTR devname) -{ - ACE_TRACE ("ACE_DEV_Addr::ACE_DEV_Addr"); - - this->set (devname); -} - -ACE_DEV_Addr & -ACE_DEV_Addr::operator= (const ACE_DEV_Addr &sa) -{ - ACE_TRACE ("ACE_DEV_Addr::operator="); - - if (this != &sa) - (void) ACE_OS::memcpy ((void *) &this->devname_, - (void *) &sa.devname_, - sa.get_size ()); - return *this; -} - diff --git a/ace/DEV_Addr.h b/ace/DEV_Addr.h deleted file mode 100644 index 02bf6fa565d..00000000000 --- a/ace/DEV_Addr.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// DEV_Addr.h -// -// = AUTHOR -// Gerhard Lenzer and Douglas C. Schmidt -// -// ============================================================================ - -#if !defined (ACE_DEV_ADDR_H) -#define ACE_DEV_ADDR_H - -#include "ace/Addr.h" -#include "ace/ACE.h" - -class ACE_Export ACE_DEV_Addr : public ACE_Addr -{ - // = TITLE - // Defines device address family address format. -public: - // = Initialization methods. - ACE_DEV_Addr (void); - // Default constructor. - - ACE_DEV_Addr (const ACE_DEV_Addr &sa); - // Copy constructor. - - int set (const ACE_DEV_Addr &sa); - // Acts like a copy constructor. - - ACE_DEV_Addr (LPCTSTR devname); - // Create a ACE_DEV_Addr from a device name. - - void set (LPCTSTR devname); - // Create a ACE_Addr from a ACE_DEV pathname. - - ACE_DEV_Addr &operator= (const ACE_DEV_Addr &); - // Assignment operator. - - virtual void *get_addr (void) const; - // Return a pointer to the address. - -#if defined (UNICODE) - virtual int addr_to_string (wchar_t *addr, size_t) const; - // Transform the current address into string format. -#endif /* UNICODE */ - - virtual int addr_to_string (char *addr, size_t) const; - // Transform the current address into string format. - - int operator == (const ACE_DEV_Addr &SAP) const; - // Compare two addresses for equality. - - int operator != (const ACE_DEV_Addr &SAP) const; - // Compare two addresses for inequality. - - LPCTSTR get_path_name (void) const; - // Return the path name used for the rendezvous point. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - TCHAR devname_[MAXNAMLEN + 1]; - // Name of the device. -}; - -#if defined (__ACE_INLINE__) -#include "ace/DEV_Addr.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_DEV_ADDR_H */ diff --git a/ace/DEV_Addr.i b/ace/DEV_Addr.i deleted file mode 100644 index e76ed184d32..00000000000 --- a/ace/DEV_Addr.i +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "ace/SString.h" - -ACE_INLINE void -ACE_DEV_Addr::set (LPCTSTR devname) -{ - ACE_TRACE ("ACE_DEV_Addr::set"); - - this->ACE_Addr::base_set (AF_DEV, ACE_OS::strlen (devname)); - ACE_OS::strncpy (this->devname_, devname, MAXNAMLEN); -} - -// Transform the current address into string format. -#if defined (UNICODE) -ACE_INLINE int -ACE_DEV_Addr::addr_to_string (wchar_t *s, size_t len) const -{ - ACE_TRACE ("ACE_DEV_Addr::addr_to_string"); - - ACE_OS::strncpy (s, this->devname_, len); - return 0; -} -#endif /* UNICODE */ - -// Transform the current address into string format. - -ACE_INLINE int -ACE_DEV_Addr::addr_to_string (char *s, size_t len) const -{ - ACE_TRACE ("ACE_DEV_Addr::addr_to_string"); - - ACE_OS::strncpy (s, - ACE_MULTIBYTE_STRING (this->devname_), - len); - return 0; -} - -// Return a pointer to the address. - -ACE_INLINE void * -ACE_DEV_Addr::get_addr (void) const -{ - ACE_TRACE ("ACE_DEV_Addr::get_addr"); - - return (void *) &this->devname_; -} - -// Compare two addresses for equality. - -ACE_INLINE int -ACE_DEV_Addr::operator == (const ACE_DEV_Addr &sap) const -{ - ACE_TRACE ("ACE_DEV_Addr::operator="); - - return ACE_OS::strcmp (this->devname_, sap.devname_) == 0; -} - -// Compare two addresses for inequality. - -ACE_INLINE int -ACE_DEV_Addr::operator != (const ACE_DEV_Addr &sap) const -{ - ACE_TRACE ("ACE_DEV_Addr::operator!="); - - return !((*this) == sap); // This is lazy, of course... ;-). -} - -// Return the path name used for the rendezvous point. - -ACE_INLINE LPCTSTR -ACE_DEV_Addr::get_path_name (void) const -{ - ACE_TRACE ("ACE_DEV_Addr::get_path_name"); - - return this->devname_; -} diff --git a/ace/DEV_Connector.cpp b/ace/DEV_Connector.cpp deleted file mode 100644 index 967e7adb6f6..00000000000 --- a/ace/DEV_Connector.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// DEV_Connector.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/DEV_Connector.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_DEV_Connector) - -void -ACE_DEV_Connector::dump (void) const -{ - ACE_TRACE ("ACE_DEV_Connector::dump"); - - ACE_DEV::dump (); -} - -ACE_DEV_Connector::ACE_DEV_Connector (void) -{ - ACE_TRACE ("ACE_DEV_Connector::ACE_DEV_Connector"); -} - -int -ACE_DEV_Connector::connect (ACE_DEV_IO &new_io, - const ACE_DEV_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &, - int, - int flags, - int perms) -{ - ACE_TRACE ("ACE_DEV_Connector::connect"); - - ACE_HANDLE handle = ACE::handle_timed_open (timeout, - remote_sap.get_path_name (), - flags, perms); - new_io.set_handle (handle); - new_io.addr_ = remote_sap; // class copy. - return handle == ACE_INVALID_HANDLE ? -1 : 0; -} - diff --git a/ace/DEV_Connector.h b/ace/DEV_Connector.h deleted file mode 100644 index edf62216bbb..00000000000 --- a/ace/DEV_Connector.h +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// DEV_Connector.h -// -// = AUTHOR -// Gerhard Lenzer and Douglas C. Schmidt -// -// ============================================================================ - -#if !defined (ACE_DEV_CONNECTOR_H) -#define ACE_DEV_CONNECTOR_H - -#include "ace/DEV_IO.h" - -class ACE_Export ACE_DEV_Connector : public ACE_DEV -{ - // = TITLE - // Defines an active connection factory for the ACE_DEV wrappers. -public: - ACE_DEV_Connector (void); - // Default constructor. - - ACE_DEV_Connector (ACE_DEV_IO &new_io, - const ACE_DEV_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = O_RDWR, - int perms = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - // The and arguments are passed down to the open() - // method. - - int connect (ACE_DEV_IO &new_io, - const ACE_DEV_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = O_RDWR, - int perms = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - // The and arguments are passed down to the open() - // method. - - int reset_new_handle (ACE_HANDLE handle); - // Resets any event associations on this handle - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - // = Meta-type info - typedef ACE_DEV_Addr PEER_ADDR; - typedef ACE_DEV_IO PEER_STREAM; -}; - -#include "ace/DEV_Connector.i" - -#endif /* ACE_DEV_CONNECTOR_H */ diff --git a/ace/DEV_Connector.i b/ace/DEV_Connector.i deleted file mode 100644 index 53c05674f90..00000000000 --- a/ace/DEV_Connector.i +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// DEV_Connector.i - -// Creates a Local ACE_DEV. - -inline -ACE_DEV_Connector::ACE_DEV_Connector (ACE_DEV_IO &new_io, - const ACE_DEV_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &local_sap, - int reuse_addr, - int flags, - int perms) -{ - ACE_TRACE ("ACE_DEV_Connector::ACE_DEV_Connector"); - if (this->connect (new_io, remote_sap, timeout, local_sap, - reuse_addr, flags, perms) == ACE_IO_SAP::INVALID_HANDLE - && timeout != 0 && !(errno == EWOULDBLOCK || errno == ETIME)) - ACE_ERROR ((LM_ERROR, "address %s, %p\n", - remote_sap.get_path_name (), "ACE_DEV_IO")); -} - -inline int -ACE_DEV_Connector::reset_new_handle (ACE_HANDLE handle) -{ - ACE_UNUSED_ARG (handle); - // Nothing to do here since the handle is not a socket - return 0; -} - diff --git a/ace/DEV_IO.cpp b/ace/DEV_IO.cpp deleted file mode 100644 index 6cddbcfb15c..00000000000 --- a/ace/DEV_IO.cpp +++ /dev/null @@ -1,116 +0,0 @@ -// DEV_IO.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/DEV_IO.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_DEV_IO) - -// Return the local endpoint address. - -int -ACE_DEV_IO::get_local_addr (ACE_DEV_Addr &addr) const -{ - ACE_TRACE ("ACE_DEV_IO::get_local_addr"); - - addr = this->addr_; - return 0; -} - -// Return the address of the remotely connected peer (if there is -// one). - -int -ACE_DEV_IO::get_remote_addr (ACE_DEV_Addr &addr) const -{ - ACE_TRACE ("ACE_DEV_IO::get_remote_addr"); - addr = this->addr_; - return 0; -} - -void -ACE_DEV_IO::dump (void) const -{ - ACE_TRACE ("ACE_DEV_IO::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->addr_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Simple-minded do nothing constructor. - -ACE_DEV_IO::ACE_DEV_IO (void) -{ - ACE_TRACE ("ACE_DEV_IO::ACE_DEV_IO"); -} - -// Send N char *ptrs and int lengths. Note that the char *'s precede -// the ints (basically, an varargs version of writev). The count N is -// the *total* number of trailing arguments, *not* a couple of the -// number of tuple pairs! - -ssize_t -ACE_DEV_IO::send (size_t n, ...) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::writev (this->get_handle (), iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - -// This is basically an interface to ACE_OS::readv, that doesn't use the -// struct iovec explicitly. The ... can be passed as an arbitrary -// number of (char *ptr, int len) tuples. However, the count N is the -// *total* number of trailing arguments, *not* a couple of the number -// of tuple pairs! - -ssize_t -ACE_DEV_IO::recv (size_t n, ...) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::readv (this->get_handle (), iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - diff --git a/ace/DEV_IO.h b/ace/DEV_IO.h deleted file mode 100644 index 42f26b1bb2a..00000000000 --- a/ace/DEV_IO.h +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// DEV_IO.h -// -// = AUTHOR -// Gerhard Lenzer and Douglas C. Schmidt -// -// ============================================================================ - -#if !defined (ACE_DEV_IO_H) -#define ACE_DEV_IO_H - -#include "ace/DEV.h" -#include "ace/DEV_Addr.h" - -class ACE_Export ACE_DEV_IO : public ACE_DEV -{ - // = TITLE - // Read/Write operations on Devices. -public: - friend class ACE_DEV_Connector; - - ACE_DEV_IO (void); - // Default constructor. - - // = Various send operations. - ssize_t send (const void *buf, size_t n) const; - // send upto bytes in . - - ssize_t recv (void *buf, size_t n) const; - // Recv upto bytes in . - - ssize_t send_n (const void *buf, size_t n) const; - // Send n bytes, keep trying until n are sent. - - ssize_t recv_n (void *buf, size_t n) const; - // Recv n bytes, keep trying until n are received. - -#if defined (ACE_HAS_STREAM_PIPES) - ssize_t recv (ACE_Str_Buf *cntl, - ACE_Str_Buf *data, - int *band, - int *flags) const; - // Recv bytes via STREAM pipes using "band" mode. - - ssize_t send (const ACE_Str_Buf *cntl, - const ACE_Str_Buf *data, - int band, - int flags) const; - // Send bytes via STREAM pipes using "band" mode. - - ssize_t recv (ACE_Str_Buf *cntl, - ACE_Str_Buf *data, - int *flags) const; - // Recv and via STREAM pipes. - - ssize_t send (const ACE_Str_Buf *cntl, - const ACE_Str_Buf *data, - int flags = 0) const; - // Send and via STREAM pipes. -#endif /* ACE_HAS_STREAM_PIPES */ - - ssize_t send (const iovec iov[], size_t n) const; - // Send iovecs via <::writev>. - - ssize_t recv (iovec iov[], size_t n) const; - // Recv iovecs via <::readv>. - - ssize_t send (size_t n, ...) const; - // Send N char *ptrs and int lengths. Note that the char *'s - // precede the ints (basically, an varargs version of writev). The - // count N is the *total* number of trailing arguments, *not* a - // couple of the number of tuple pairs! - - ssize_t recv (size_t n, ...) const; - // This is an interface to ::readv, that doesn't use the struct - // iovec explicitly. The ... can be passed as an arbitrary number - // of (char *ptr, int len) tuples. However, the count N is the - // *total* number of trailing arguments, *not* a couple of the - // number of tuple pairs! - - ssize_t send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; - // Send bytes via Win32 WriteFile using overlapped I/O. - - ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; - // Recv bytes via Win32 ReadFile using overlapped I/O. - - void dump (void) const; - // Dump the state of an object. - - // = The following two methods are no-ops to keep the - // happy. - int get_local_addr (ACE_DEV_Addr &) const; - // Return the local endpoint address. - - int get_remote_addr (ACE_DEV_Addr &) const; - // Return the address of the remotely connected peer (if there is - // one). - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - // = Meta-type info - typedef ACE_DEV_Addr PEER_ADDR; - -private: - ACE_DEV_Addr addr_; - // Address of device we are connected to. -}; - -#include "ace/DEV_IO.i" - -#endif /* ACE_DEV_IO_H */ diff --git a/ace/DEV_IO.i b/ace/DEV_IO.i deleted file mode 100644 index 3faad385161..00000000000 --- a/ace/DEV_IO.i +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// DEV_IO.i - -// Send exactly N bytes from BUF to this device. Keeping trying until -// this many bytes are sent. - -inline ssize_t -ACE_DEV_IO::send_n (const void *buf, size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::send_n"); - return ACE::write_n (this->get_handle (), buf, n); -} - -// Receive exactly N bytes from this file into BUF. Keep trying until -// this many bytes are received. - -inline ssize_t -ACE_DEV_IO::recv_n (void *buf, size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::recv_n"); - return ACE::read_n (this->get_handle (), buf, n); -} - -inline ssize_t -ACE_DEV_IO::send (const void *buf, size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - return ACE_OS::write (this->get_handle (), (const char *) buf, n); -} - -inline ssize_t -ACE_DEV_IO::recv (void *buf, size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - return ACE_OS::read (this->get_handle (), (char *) buf, n); -} - -inline ssize_t -ACE_DEV_IO::send (const iovec iov[], size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - return ACE_OS::writev (this->get_handle (), (iovec *) iov, n); -} - -inline ssize_t -ACE_DEV_IO::recv (iovec iov[], size_t n) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - return ACE_OS::readv (this->get_handle (), (iovec *) iov, n); -} - -inline ssize_t -ACE_DEV_IO::send (const void *buf, size_t n, - ACE_OVERLAPPED *overlapped) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - return ACE_OS::write (this->get_handle (), - (const char *) buf, n, - overlapped); -} - -inline ssize_t -ACE_DEV_IO::recv (void *buf, size_t n, - ACE_OVERLAPPED *overlapped) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - return ACE_OS::read (this->get_handle (), (char *) buf, n, - overlapped); -} - -#if defined (ACE_HAS_STREAM_PIPES) -inline ssize_t -ACE_DEV_IO::recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *band, int *flags) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - return ACE_OS::getpmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, band, flags); -} - -inline ssize_t -ACE_DEV_IO::send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int band, int flags) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - return ACE_OS::putpmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, band, flags); -} - -inline ssize_t -ACE_DEV_IO::recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *flags) const -{ - ACE_TRACE ("ACE_DEV_IO::recv"); - return ACE_OS::getmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, flags); -} - -inline ssize_t -ACE_DEV_IO::send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int flags) const -{ - ACE_TRACE ("ACE_DEV_IO::send"); - return ACE_OS::putmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, flags); -} -#endif /* ACE_HAS_STREAM_PIPES */ diff --git a/ace/Date_Time.cpp b/ace/Date_Time.cpp deleted file mode 100644 index 0aeb72780f0..00000000000 --- a/ace/Date_Time.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// Date_Time.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Date_Time.h" diff --git a/ace/Date_Time.h b/ace/Date_Time.h deleted file mode 100644 index faa1c508e84..00000000000 --- a/ace/Date_Time.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// ACE_Date_Time.h -// -// = AUTHOR -// Tim Harrison (harrison@cs.wustl.edu) (and he's darn proud of this ;-)) -// -// ============================================================================ - -#if !defined (ACE_DATE_TIME_H) -#define ACE_DATE_TIME_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Date_Time -{ - // = TITLE - // System independent representation of date and time. -public: - // constructor with init values, no check for validy - ACE_Date_Time (long day = 0, - long month = 0, - long year = 0, - long hour = 0, - long minute = 0, - long second = 0, - long microsec = 0); - // Set/get portions of ACE_Date_Time, no check for validity. - - long day (void); - // Get day. - - void day (long day); - // Set day. - - long month (void); - // Get month. - - void month (long month); - // Set month. - - long year (void); - // Get year. - - void year (long year); - // Set year. - - long hour (void); - // Get hour. - - void hour (long hour); - // Set hour. - - long minute (void); - // Get minute. - - void minute (long minute); - // Set minute. - - long second (void); - // Get second. - - void second (long second); - // Set second. - - long microsec (void); - // Get microsec. - - void microsec (long microsec); - // Set microsec. - -private: - long day_; - long month_; - long year_; - long hour_; - long minute_; - long second_; - long microsec_; -}; - -#include "ace/Date_Time.i" - -#endif /* ACE_DATE_TIME_H */ diff --git a/ace/Date_Time.i b/ace/Date_Time.i deleted file mode 100644 index 829e91c003f..00000000000 --- a/ace/Date_Time.i +++ /dev/null @@ -1,140 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Date_Time.i - -// constructor with init values, no check for validy -inline -ACE_Date_Time::ACE_Date_Time(long day, - long month, - long year, - long hour, - long minute, - long second, - long microsec) -: day_ (day), - month_ (month), - year_ (year), - hour_ (hour), - minute_ (minute), - second_ (second), - microsec_ (microsec) -{ - ACE_TRACE ("ACE_Date_Time::ACE_Date_Time"); -} - -// set/get portions of ACE_Date_Time, no check for validy - -// get day -inline long -ACE_Date_Time::day (void) -{ - ACE_TRACE ("ACE_Date_Time::day"); - return day_; -} - -// set day -inline void -ACE_Date_Time::day (long day) -{ - ACE_TRACE ("ACE_Date_Time::day"); - day_ = day; -} - -// get month -inline long -ACE_Date_Time::month (void) -{ - ACE_TRACE ("ACE_Date_Time::month"); - return month_; -} - -// set month -inline void -ACE_Date_Time::month (long month) -{ - ACE_TRACE ("ACE_Date_Time::month"); - month_ = month; -} - -// get year -inline long -ACE_Date_Time::year (void) -{ - ACE_TRACE ("ACE_Date_Time::year"); - return year_; -} - -// set year -inline void -ACE_Date_Time::year (long year) -{ - ACE_TRACE ("ACE_Date_Time::year"); - year_ = year; -} - -// get hour -inline long -ACE_Date_Time::hour (void) -{ - ACE_TRACE ("ACE_Date_Time::hour"); - return hour_; -} - -// set hour -inline void -ACE_Date_Time::hour (long hour) -{ - ACE_TRACE ("ACE_Date_Time::hour"); - hour_ = hour; -} - -// get minute -inline long -ACE_Date_Time::minute (void) -{ - ACE_TRACE ("ACE_Date_Time::minute"); - return minute_; -} - -// set minute -inline void -ACE_Date_Time::minute (long minute) -{ - ACE_TRACE ("ACE_Date_Time::minute"); - minute_ = minute; -} - -// get second -inline long -ACE_Date_Time::second (void) -{ - ACE_TRACE ("ACE_Date_Time::second"); - return second_; -} - -// set second -inline void -ACE_Date_Time::second (long second) -{ - ACE_TRACE ("ACE_Date_Time::second"); - second_ = second; -} - -// get microsec -inline long -ACE_Date_Time::microsec (void) -{ - ACE_TRACE ("ACE_Date_Time::microsec"); - return microsec_; -} - -// set microsec -inline void -ACE_Date_Time::microsec (long microsec) -{ - ACE_TRACE ("ACE_Date_Time::microsec"); - microsec_ = microsec; -} - - diff --git a/ace/Dump.cpp b/ace/Dump.cpp deleted file mode 100644 index f414a02f6e2..00000000000 --- a/ace/Dump.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// Dump.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Synch_T.h" -#include "ace/Dump.h" -#include "ace/Object_Manager.h" - -// Implementations (very simple for now...) - -ACE_Dumpable::~ACE_Dumpable (void) -{ - ACE_TRACE ("ACE_Dumpable::~ACE_Dumpable"); -} - -ACE_Dumpable::ACE_Dumpable (const void *this_ptr) - : this_ (this_ptr) -{ - ACE_TRACE ("ACE_Dumpable::ACE_Dumpable"); -} - -ACE_Dumpable_Ptr::ACE_Dumpable_Ptr (const ACE_Dumpable *dumper) - : dumper_ (dumper) -{ - ACE_TRACE ("ACE_Dumpable_Ptr::ACE_Dumpable_Ptr"); -} - -const ACE_Dumpable * -ACE_Dumpable_Ptr::operator->() const -{ - ACE_TRACE ("ACE_Dumpable_Ptr::operator->"); - return this->dumper_; -} - -void -ACE_Dumpable_Ptr::operator= (const ACE_Dumpable *dumper) const -{ - ACE_TRACE ("ACE_Dumpable_Ptr::operator="); - if (this->dumper_ != dumper) - { - delete (ACE_Dumpable *) this->dumper_; - ((ACE_Dumpable_Ptr *) this)->dumper_ = dumper; - } -} - -ACE_ODB::ACE_ODB (void) -{ - ACE_TRACE ("ACE_ODB::ACE_ODB"); -} - -ACE_ODB * -ACE_ODB::instance (void) -{ - ACE_TRACE ("ACE_ODB::instance"); - - if (ACE_ODB::instance_ == 0) - { - ACE_MT (ACE_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_DUMP_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0)); - - if (ACE_ODB::instance_ == 0) - ACE_NEW_RETURN (ACE_ODB::instance_, ACE_ODB, 0); - } - - return ACE_ODB::instance_; -} - -void -ACE_ODB::dump_objects (void) -{ - ACE_TRACE ("ACE_ODB::dump_objects"); - for (int i = 0; i < this->current_size_; i++) - { - if (this->object_table_[i].this_ != 0) - // Dump the state of the object. - this->object_table_[i].dumper_->dump (); - } -} - -// This method registers a new . It detects -// duplicates and simply overwrites them. - -void -ACE_ODB::register_object (const ACE_Dumpable *dumper) -{ - ACE_TRACE ("ACE_ODB::register_object"); - int i; - int slot = 0; - - for (i = 0; i < this->current_size_; i++) - { - if (this->object_table_[i].this_ == 0) - slot = i; - else if (this->object_table_[i].this_ == dumper->this_) - { - slot = i; - break; - } - } - - if (i == this->current_size_) - { - slot = this->current_size_++; - ACE_ASSERT (this->current_size_ < ACE_ODB::MAX_TABLE_SIZE); - } - this->object_table_[slot].this_ = dumper->this_; - this->object_table_[slot].dumper_ = dumper; -} - -void -ACE_ODB::remove_object (const void *this_ptr) -{ - ACE_TRACE ("ACE_ODB::remove_object"); - int i; - - for (i = 0; i < this->current_size_; i++) - { - if (this->object_table_[i].this_ == this_ptr) - break; - } - - if (i < this->current_size_) - { - this->object_table_[i].this_ = 0; - this->object_table_[i].dumper_ = 0; - } -} - -ACE_ODB *ACE_ODB::instance_ = 0; - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -ACE_MT (template class ACE_Guard); -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -#pragma instantiate ACE_Guard -#endif /* ACE_MT_SAFE */ -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/ace/Dump.h b/ace/Dump.h deleted file mode 100644 index dba4b03965d..00000000000 --- a/ace/Dump.h +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Dump.h -// -// = DESCRIPTION -// -// A prototype mechanism that allow all ACE objects to be registered -// with a central in-memory "database" that can dump the state of all -// live ACE objects (e.g., from within a debugger). -// -// To turn on this feature simply compile with -DACE_NDEBUG -// -// There are several interesting aspects to this design: -// -// 1. It uses the External Polymorphism pattern to avoid having to -// derive all ACE classes from a common base class that has virtual -// methods (this is crucial to avoid unnecessary overhead). In -// addition, there is no additional space added to ACE objects -// (this is crucial to maintain binary layout compatibility). -// -// 2. This mechanism can be conditionally compiled in order to -// completely disable this feature entirely. Moreover, by -// using macros there are relatively few changes to ACE code. -// -// 3. This mechanism copes with single-inheritance hierarchies of -// dumpable classes. In such cases we typically want only one -// dump, corresponding to the most derived instance. Thanks to -// Christian Millour (chris@etca.fr) for illustrating how to do -// this. Note, however, that this scheme doesn't generalize to -// work with multiple-inheritance or virtual base classes. -// -// Future work includes: -// -// 1. Using a dynamic object table rather than a static table -// -// 2. Adding support to allow particular classes of objects to -// be selectively dumped. -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_DUMP_H) -#define ACE_DUMP_H - -#include "ace/Synch.h" - -class ACE_Export ACE_Dumpable -{ - // = TITLE - // Base class that defines a uniform interface for all object - // dumping. -public: - friend class ACE_ODB; - friend class ACE_Dumpable_Ptr; - - ACE_Dumpable (const void *); - // Constructor. - - virtual void dump (void) const = 0; - // This pure virtual method must be filled in by a subclass. - -protected: - virtual ~ACE_Dumpable (void); - -private: - const void *this_; - // Pointer to the object that is being stored. -}; - -class ACE_Export ACE_Dumpable_Ptr -{ - // = TITLE - // A smart pointer stored in the in-memory object database - // ACE_ODB. The pointee (if any) is deleted when reassigned. -public: - ACE_Dumpable_Ptr (const ACE_Dumpable *dumper = 0); - const ACE_Dumpable *operator->() const; - void operator= (const ACE_Dumpable *dumper) const; - -private: - const ACE_Dumpable *dumper_; - // "Real" pointer to the underlying abstract base class - // pointer that does the real work. -}; - -class ACE_Export ACE_ODB -{ - // = TITLE - // This is the object database (ODB) that keeps track of all - // live ACE objects. -public: - enum {MAX_TABLE_SIZE = 100000}; // This is clearly inadequate and should be dynamic... - - void dump_objects (void); - // Iterates through the entire set of registered objects and - // dumps their state. - - void register_object (const ACE_Dumpable *dumper); - // Add the tuple to the list of registered ACE objects. - - void remove_object (const void *this_); - // Use to locate and remove the associated from the - // list of registered ACE objects. - - static ACE_ODB *instance (void); - // Interface to the Singleton instance of the object database. - -private: - ACE_ODB (void); // Ensure we have a Singleton... - - struct Tuple - { - const void *this_; - // Pointer to the object that is registered. - - const ACE_Dumpable_Ptr dumper_; - // Smart pointer to the ACE_Dumpable object associated with this_. - // This uses an ACE_Dumpable_Ptr, instead of a bare pointer, to - // cope with hierarchies of dumpable classes. In such cases we - // typically want only one dump, corresponding to the most derived - // instance. To achieve this, the handle registered for the - // subobject corresponding to the base class is destroyed (hence - // on destruction of the subobject its handle won't exist anymore - // and we'll have to check for that). - Tuple() : dumper_(0) {} - }; - - static ACE_ODB *instance_; - // Singleton instance of this class. - - Tuple object_table_[ACE_ODB::MAX_TABLE_SIZE]; - // The current implementation is very simple-minded and will be - // changed to be dynamic. - - int current_size_; - // Current size of . -}; - -// Include the templates classes at this point. -#include "ace/Dump_T.h" - -#endif /* ACE_DUMP_H */ diff --git a/ace/Dump_T.cpp b/ace/Dump_T.cpp deleted file mode 100644 index 73dacf555fe..00000000000 --- a/ace/Dump_T.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// Dump_T.cpp -// $Id$ - -#if !defined (ACE_DUMP_T_C) -#define ACE_DUMP_T_C - -#include "ace/Dump_T.h" - -template -ACE_Dumpable_Adapter::~ACE_Dumpable_Adapter (void) -{ - ACE_TRACE ("ACE_Dumpable_Adapter::~ACE_Dumpable_Adapter"); -} - -template -ACE_Dumpable_Adapter::ACE_Dumpable_Adapter (const Concrete *t) - : ACE_Dumpable ((const void *) t), this_ (t) -{ - ACE_TRACE ("ACE_Dumpable_Adapter::ACE_Dumpable_Adapter"); -} - -template Concrete * -ACE_Dumpable_Adapter::operator->() const -{ - return (Concrete *) this->this_; -} - -template void -ACE_Dumpable_Adapter::dump (void) const -{ - ACE_TRACE ("ACE_Dumpable_Adapter::dump"); - this->this_->dump (); -} - -#endif /* ACE_DUMP_T_C */ diff --git a/ace/Dump_T.h b/ace/Dump_T.h deleted file mode 100644 index 2aadc9892b8..00000000000 --- a/ace/Dump_T.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Dump.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_DUMP_T_H) -#define ACE_DUMP_T_H - -#include "ace/Dump.h" - -template -class ACE_Dumpable_Adapter : public ACE_Dumpable -{ - // = TITLE - // This class inherits the interface of the abstract ACE_Dumpable - // class and is instantiated with the implementation of the - // concrete component class . - // - // = DESCRIPTION - // This design is similar to the Adapter and Decorator patterns - // from the ``Gang of Four'' book. Note that - // need not inherit from a common class since ACE_Dumpable - // provides the uniform virtual interface! -public: - // = Initialization and termination methods. - ACE_Dumpable_Adapter (const Concrete *t); - ~ACE_Dumpable_Adapter (void); - - virtual void dump (void) const; - // Concrete dump method (simply delegates to the method of - // ). - - Concrete *operator->() const; - // Delegate to methods in the Concrete class. - -private: - const Concrete *this_; - // Pointer to of . -}; - -// Some useful macros for conditionally compiling this feature... -#if defined (ACE_NDEBUG) -#define ACE_REGISTER_OBJECT(CLASS) -#define ACE_REMOVE_OBJECT -#else -#define ACE_REGISTER_OBJECT(CLASS) \ - ACE_ODB::instance ()->register_object \ - (new ACE_Dumpable_Adapter (this)); -#define ACE_REMOVE_OBJECT \ - ACE_ODB::instance ()->remove_object \ - ((void *) this); -#endif /* ACE_NDEBUG */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Dump_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Dump_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_DUMP_T_H */ diff --git a/ace/Dynamic.cpp b/ace/Dynamic.cpp deleted file mode 100644 index 1cc0bdafd45..00000000000 --- a/ace/Dynamic.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Dynamic.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Dynamic.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Dynamic.i" -#endif /* __ACE_INLINE__ */ - -ACE_Dynamic::ACE_Dynamic (void) - : is_dynamic_ (0) -{ - ACE_TRACE ("ACE_Dynamic::ACE_Dynamic"); -} - diff --git a/ace/Dynamic.h b/ace/Dynamic.h deleted file mode 100644 index 90e4b426882..00000000000 --- a/ace/Dynamic.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Dynamic.h -// -// = AUTHOR -// Doug Schmidt and Irfan Pyrarli. -// -// ============================================================================ - -#if !defined (ACE_DYNAMIC_H) -#define ACE_DYNAMIC_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Dynamic -{ - // = TITLE - // Checks to see if an object was dynamically allocated. - // - // = DESCRIPTION - // This class holds the pointer in a thread-safe manner between - // the call to operator new and the call to the constructor. -public: - ACE_Dynamic (void); - - void set (void); - // Sets a flag that indicates that the object was dynamically - // created. This method is usually called in operator new and then - // checked and reset in the constructor. - - int is_dynamic (void); - // 1 if we were allocated dynamically, else 0. - - void reset (void); - // Resets state flag. - -private: - int is_dynamic_; - // Flag that indicates that the object was dynamically created. This - // method is usually called in operator new and then checked and - // reset in the constructor. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Dynamic.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_DYNAMIC_H */ diff --git a/ace/Dynamic.i b/ace/Dynamic.i deleted file mode 100644 index a8395adc4a5..00000000000 --- a/ace/Dynamic.i +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Dynamic.i - -ACE_INLINE void -ACE_Dynamic::set (void) -{ - ACE_TRACE ("ACE_Dynamic::set"); - this->is_dynamic_ = 1; -} - -ACE_INLINE int -ACE_Dynamic::is_dynamic () -{ - ACE_TRACE ("ACE_Dynamic::is_dynamic"); - return this->is_dynamic_; -} - -ACE_INLINE void -ACE_Dynamic::reset (void) -{ - ACE_TRACE ("ACE_Dynamic::set"); - this->is_dynamic_ = 0; -} - diff --git a/ace/Dynamic_Service.cpp b/ace/Dynamic_Service.cpp deleted file mode 100644 index 1d8300ae28d..00000000000 --- a/ace/Dynamic_Service.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Dynamic_Service.cpp -// $Id$ - -#if !defined (ACE_DYNAMIC_SERVICE_C) -#define ACE_DYNAMIC_SERVICE_C - -#define ACE_BUILD_DLL -#include "ace/Service_Config.h" -#include "ace/Service_Repository.h" -#include "ace/Dynamic_Service.h" - -template void -ACE_Dynamic_Service::dump (void) const -{ - ACE_TRACE ("ACE_Dynamic_Service::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Get the instance using . - -template SERVICE * -ACE_Dynamic_Service::instance (const char *name) -{ - ACE_TRACE ("ACE_Dynamic_Service::instance"); - const ACE_Service_Type *svc_rec; - - if (ACE_Service_Repository::instance ()->find (name, &svc_rec) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "svc_rep"), 0); - - const ACE_Service_Type_Impl *type = svc_rec->type (); - - if (type == 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "type"), 0); - else - { - const void *obj = type->object (); - // This should be an RTTI typesafe downcast... - SERVICE *n = (SERVICE *) obj; - return n; - } -} - -#endif /* ACE_DYNAMIC_SERVICE_C */ diff --git a/ace/Dynamic_Service.h b/ace/Dynamic_Service.h deleted file mode 100644 index 1f305f00a96..00000000000 --- a/ace/Dynamic_Service.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Dynamic_Service.h -// -// = AUTHOR -// Prashant Jain, Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_DYNAMIC_SERVICE_H) -#define ACE_DYNAMIC_SERVICE_H - -template -class ACE_Dynamic_Service -{ - // = TITLE - // Provides a general interface to retrieve arbitrary objects - // from the ACE service repository. - // - // = DESCRIPTION - // Uses "name" for lookup in the ACE service repository. Obtains - // the object and returns it as the appropriate type. -public: - static SERVICE *instance (const char *name); - // Return instance using to search the Service_Repository. - - void dump (void) const; - // Dump the current state of the object. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Dynamic_Service.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Dynamic_Service.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_DYNAMIC_SERVICE_H */ diff --git a/ace/Dynamic_Service.i b/ace/Dynamic_Service.i deleted file mode 100644 index a29b996d459..00000000000 --- a/ace/Dynamic_Service.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Dynamic_Service.i diff --git a/ace/Env_Value_T.cpp b/ace/Env_Value_T.cpp deleted file mode 100644 index 661b8ac1d47..00000000000 --- a/ace/Env_Value_T.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// $Id$ - -#if !defined (ACE_ENV_VALUE_T_C) -#define ACE_ENV_VALUE_T_C - -#if ! defined (__ACE_INLINE__) -#include "ace/Env_Value_T.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_ENV_VALUE_T_C */ diff --git a/ace/Env_Value_T.h b/ace/Env_Value_T.h deleted file mode 100644 index 7af97e76b59..00000000000 --- a/ace/Env_Value_T.h +++ /dev/null @@ -1,82 +0,0 @@ -/* This may look like C, but it's really -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = DESCRIPTION -// Template to encapsulate getting a value from an environment variable -// and using a supplied default value if not in the environment. -// -// = AUTHOR -// Chris Cleeland (derived from work by Carlos O'Ryan) -// -// ============================================================================ - -#if !defined (ACE_ENV_VALUE_T_H) -#define ACE_ENV_VALUE_T_H - -template -class ACE_Env_Value -{ - // = TITLE - // Enviroment Variable Value - // - // = DESCRIPTION - // Reads a variable from the user enviroment, providing a default - // value. - // - // = AUTHOR - // Chris Cleeland, Carlos O'Ryan -public: - ACE_Env_Value (void); - // Default constructor which isn't bound to a specific environment - // variable name or a default value. Before being useful it must - // ed. - - ACE_Env_Value (const char *varname, - const T &vardefault); - // Constructor that calls . - - ~ACE_Env_Value (void); - // Destroy the value. - - operator T (void); - // Returns the value as type T. - - void open (const char *varname, const T &defval); - // The constructor, read from the enviroment, using - // as its value if it is not defined. - - const char *varname (void) const; - // Returns the name of the variable being tracked. - -private: - ACE_UNIMPLEMENTED_FUNC (ACE_Env_Value (const ACE_Env_Value &)) - ACE_UNIMPLEMENTED_FUNC (ACE_Env_Value &operator= (const ACE_Env_Value &)) - // Disallow copying and assignment. - - void fetch_value (void); - - const char *varname_; - T value_; -}; - -template void ACE_Convert (const char *s, T &t); -// Function to convert a string into type . - -#if defined (__ACE_INLINE__) -#include "ace/Env_Value_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Env_Value_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Env_Value_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_ENV_VALUE_T_H */ diff --git a/ace/Env_Value_T.i b/ace/Env_Value_T.i deleted file mode 100644 index 72172c939d2..00000000000 --- a/ace/Env_Value_T.i +++ /dev/null @@ -1,99 +0,0 @@ -// $Id$ - -template ACE_INLINE -ACE_Env_Value::operator T (void) -{ - return value_; -} - -template ACE_INLINE -ACE_Env_Value::ACE_Env_Value (void) - : varname_ (0) -{ -} - -template ACE_INLINE -ACE_Env_Value::ACE_Env_Value (const char *varname, - const T &defval) - : varname_ (varname), - value_(defval) -{ - this->fetch_value (); -} - -template ACE_INLINE void -ACE_Env_Value::open (const char *varname, - const T &defval) -{ - varname_ = varname; - value_ = defval; - this->fetch_value (); -} - -template ACE_INLINE void -ACE_Env_Value::fetch_value (void) -{ - const char *env = ACE_OS::getenv (varname_); - - if (env != 0) - ACE_Convert (env, value_); -} - -template ACE_INLINE const char* -ACE_Env_Value::varname (void) const -{ - return varname_; -} - -template ACE_INLINE -ACE_Env_Value::~ACE_Env_Value (void) -{ -} - -// Default calls a CTOR on type T of the form 'T::T(const char*)', but -// users can feel free to create their own specialized conversion -// functions if necessary, as shown below. Note that for 'char*' the -// default is used because a simple cast will be performed and no -// conversion will be necessary. - -template ACE_INLINE void -ACE_Convert (const char *s, T &t) -{ - t = T (s); -} - -ACE_INLINE void -ACE_Convert (const char *s, char *&v) -{ - v = (char *) s; -} - -ACE_INLINE void -ACE_Convert (const char *s, short &si) -{ - si = ACE_static_cast (short, ACE_OS::strtol (s, 0, 10)); -} - -ACE_INLINE void -ACE_Convert (const char *s, long &l) -{ - l = ACE_OS::strtol (s, 0, 10); -} - -ACE_INLINE void -ACE_Convert (const char *s, int &i) -{ - i = ACE_static_cast (int, ACE_OS::strtol (s, 0, 10)); -} - -ACE_INLINE void -ACE_Convert (const char *s, u_long &ul) -{ - ul = ACE_OS::strtoul (s, 0, 10); -} - -ACE_INLINE void -ACE_Convert (const char *s, double &d) -{ - d = ACE_OS::strtod (s, 0); -} diff --git a/ace/Event_Handler.cpp b/ace/Event_Handler.cpp deleted file mode 100644 index 338a8109e55..00000000000 --- a/ace/Event_Handler.cpp +++ /dev/null @@ -1,156 +0,0 @@ -// Event_Handler.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Event_Handler.h" -#include "ace/Message_Block.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Event_Handler.i" -#endif /* __ACE_INLINE__ */ - -// Implement conceptually abstract virtual functions in the base class -// so derived classes don't have to implement unused ones. - -ACE_Event_Handler::ACE_Event_Handler (void) - : priority_ (ACE_Event_Handler::LO_PRIORITY), - reactor_ (0) -{ - // ACE_TRACE ("ACE_Event_Handler::ACE_Event_Handler"); -} - -ACE_Event_Handler::~ACE_Event_Handler (void) -{ - // ACE_TRACE ("ACE_Event_Handler::~ACE_Event_Handler"); -} - -// Gets the file descriptor associated with this I/O device. - -ACE_HANDLE -ACE_Event_Handler::get_handle (void) const -{ - ACE_TRACE ("ACE_Event_Handler::get_handle"); - return ACE_INVALID_HANDLE; -} - -// Sets the file descriptor associated with this I/O device. - -void -ACE_Event_Handler::set_handle (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::set_handle"); -} - -// Gets the priority of this handler. - -int -ACE_Event_Handler::priority (void) const -{ - ACE_TRACE ("ACE_Event_Handler::priority"); - return this->priority_; -} - -// Sets the priority - -void -ACE_Event_Handler::priority (int priority) -{ - ACE_TRACE ("ACE_Event_Handler::priority"); - this->priority_ = priority; -} - -// Called when the object is about to be removed from the Dispatcher -// tables. - -int -ACE_Event_Handler::handle_close (ACE_HANDLE, ACE_Reactor_Mask) -{ - ACE_TRACE ("ACE_Event_Handler::handle_close"); - return -1; -} - -// Called when input becomes available on fd. - -int -ACE_Event_Handler::handle_input (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::handle_input"); - return -1; -} - -// Called when output is possible on fd. - -int -ACE_Event_Handler::handle_output (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::handle_output"); - return -1; -} - -// Called when urgent data is available on fd. - -int -ACE_Event_Handler::handle_exception (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::handle_exception"); - return -1; -} - -// Called when timer expires, TV stores the current time. - -int -ACE_Event_Handler::handle_timeout (const ACE_Time_Value &, const void *) -{ - ACE_TRACE ("ACE_Event_Handler::handle_timeout"); - return -1; -} - -// Called when a registered signal occurs. - -int -ACE_Event_Handler::handle_signal (int, siginfo_t *, ucontext_t *) -{ - ACE_TRACE ("ACE_Event_Handler::handle_signal"); - return -1; -} - -int -ACE_Event_Handler::handle_qos (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::handle_qos"); - return -1; -} - -int -ACE_Event_Handler::handle_group_qos (ACE_HANDLE) -{ - ACE_TRACE ("ACE_Event_Handler::handle_group_qos"); - return -1; -} - -void -ACE_Event_Handler::reactor (ACE_Reactor *reactor) -{ - ACE_TRACE ("ACE_Event_Handler::reactor"); - this->reactor_ = reactor; -} - -ACE_Reactor * -ACE_Event_Handler::reactor (void) const -{ - ACE_TRACE ("ACE_Event_Handler::reactor"); - return this->reactor_; -} - -ACE_Notification_Buffer::ACE_Notification_Buffer (void) -{ - ACE_TRACE ("ACE_Notification_Buffer::ACE_Notification_Buffer"); -} - -ACE_Notification_Buffer::ACE_Notification_Buffer (ACE_Event_Handler *eh, - ACE_Reactor_Mask mask) - : eh_ (eh), - mask_ (mask) -{ - ACE_TRACE ("ACE_Notification_Buffer::ACE_Notification_Buffer"); -} diff --git a/ace/Event_Handler.h b/ace/Event_Handler.h deleted file mode 100644 index 4eab2c20423..00000000000 --- a/ace/Event_Handler.h +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Event_Handler.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_EVENT_HANDLER_H) -#define ACE_EVENT_HANDLER_H - -#include "ace/ACE.h" - -// Forward declaration. -class ACE_Message_Block; -class ACE_Reactor; - -typedef u_long ACE_Reactor_Mask; - -class ACE_Export ACE_Event_Handler -{ - // = TITLE - // Provides an abstract interface for handling various types of - // I/O, timer, and signal events. - // - // = DESCRIPTION - // Subclasses read/write input/output on an I/O descriptor, - // handle an exception raised on an I/O descriptor, handle a - // timer's expiration, or handle a signal. -public: - enum - { - LO_PRIORITY = 0, - HI_PRIORITY = 10, - NULL_MASK = 0, -#if defined (ACE_USE_POLL) - READ_MASK = POLLIN, - WRITE_MASK = POLLOUT, - EXCEPT_MASK = POLLPRI, -#else /* USE SELECT */ - READ_MASK = (1 << 0), - WRITE_MASK = (1 << 1), - EXCEPT_MASK = (1 << 2), -#endif /* ACE_USE_POLL */ - ACCEPT_MASK = (1 << 3), - CONNECT_MASK = (1 << 4), - TIMER_MASK = (1 << 5), - QOS_MASK = (1 << 6), - GROUP_QOS_MASK = (1 << 7), - ALL_EVENTS_MASK = READ_MASK | - WRITE_MASK | - EXCEPT_MASK | - ACCEPT_MASK | - CONNECT_MASK | - TIMER_MASK | - QOS_MASK | - GROUP_QOS_MASK, - RWE_MASK = READ_MASK | - WRITE_MASK | - EXCEPT_MASK, - DONT_CALL = (1 << 9) - }; - - virtual ~ACE_Event_Handler (void); - // Destructor is virtual to enable proper cleanup. - - virtual ACE_HANDLE get_handle (void) const; - // Get the I/O handle. - virtual void set_handle (ACE_HANDLE); - // Set the I/O handle. - - // = Get/set priority - - // Priorities run from MIN_PRIORITY (which is the "lowest priority") - // to MAX_PRIORITY (which is the "highest priority"). - virtual int priority (void) const; - // Get the priority of the Event_Handler. - virtual void priority (int priority); - // Set the priority of the Event_Handler. - - virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE); - // Called when input events occur (e.g., connection or data). - - virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE); - // Called when output events are possible (e.g., flow control - // abates). - - virtual int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE); - // Called when execption events occur (e.g., SIGURG). - - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - // Called when timer expires. - - virtual int handle_close (ACE_HANDLE handle, - ACE_Reactor_Mask close_mask); - // Called when object is removed from the ACE_Reactor - - virtual int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0); - // Called when object is signaled by OS (either via UNIX signals or - // when a Win32 object becomes signaled). - - virtual int handle_qos (ACE_HANDLE = ACE_INVALID_HANDLE); - virtual int handle_group_qos (ACE_HANDLE = ACE_INVALID_HANDLE); - - // = Accessors to set/get the various event demultiplexors. - virtual void reactor (ACE_Reactor *reactor); - virtual ACE_Reactor *reactor (void) const; - -protected: - ACE_Event_Handler (void); - // Force ACE_Event_Handler to be an abstract base class. - - int priority_; - // Priority of this Event_Handler. - - // = Pointers to the various event demultiplexors. - ACE_Reactor *reactor_; -}; - -class ACE_Export ACE_Notification_Buffer -{ - // = TITLE - // Simple wrapper for passing s and - // s between threads. -public: - ACE_Notification_Buffer (void); - - ACE_Notification_Buffer (ACE_Event_Handler *eh, - ACE_Reactor_Mask mask); - - ACE_Event_Handler *eh_; - // Pointer to the Event_Handler that will be dispatched - // by the main event loop. - - ACE_Reactor_Mask mask_; - // Mask that indicates which method to call. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Event_Handler.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_EVENT_HANDLER_H */ diff --git a/ace/Event_Handler.i b/ace/Event_Handler.i deleted file mode 100644 index 18110dfeffe..00000000000 --- a/ace/Event_Handler.i +++ /dev/null @@ -1,7 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "ace/Event_Handler.h" -// Event_Handler.i - - diff --git a/ace/Event_Handler_T.cpp b/ace/Event_Handler_T.cpp deleted file mode 100644 index 010f9c88e80..00000000000 --- a/ace/Event_Handler_T.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Event_Handler_T.cpp -// $Id$ - -#if !defined (EVENT_HANDLER_T_C) -#define EVENT_HANDLER_T_C - -#define ACE_BUILD_DLL -#include "ace/Event_Handler_T.h" - -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) - -#if !defined (__ACE_INLINE__) -#include "ace/Event_Handler_T.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Event_Handler_T) - -template void -ACE_Event_Handler_T::dump (void) const -{ - ACE_TRACE ("ACE_Event_Handler_T::dump"); -} - -template -ACE_Event_Handler_T::~ACE_Event_Handler_T (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::~ACE_Event_Handler_T"); - if (this->delete_handler_) - delete this->op_handler_; -} - -template -ACE_Event_Handler_T::ACE_Event_Handler_T (T *op_handler, int delete_handler, - GET_HANDLE get_handle, - IO_HANDLER input_h, - CL_HANDLER close_h, - SIG_HANDLER sig_h, - TO_HANDLER timeout_h, - IO_HANDLER output_h, - SET_HANDLE set_handle, - IO_HANDLER except_h) - : op_handler_ (op_handler), - input_handler_ (input_h), - output_handler_ (output_h), - except_handler_ (except_h), - to_handler_ (timeout_h), - cl_handler_ (close_h), - sig_handler_ (sig_h), - delete_handler_ (delete_handler), - set_handle_ (set_handle), - get_handle_ (get_handle) -{ - ACE_TRACE ("ACE_Event_Handler_T::ACE_Event_Handler_T"); -} - -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ - -#endif /* EVENT_HANDLER_T_C */ diff --git a/ace/Event_Handler_T.h b/ace/Event_Handler_T.h deleted file mode 100644 index f6b29e546f3..00000000000 --- a/ace/Event_Handler_T.h +++ /dev/null @@ -1,189 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Event_Handler_T.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_EVENT_HANDLER_T_H) -#define ACE_EVENT_HANDLER_T_H - -#include "ace/Event_Handler.h" - -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) - -template -class ACE_Export ACE_Event_Handler_T : public ACE_Event_Handler -{ - // = TITLE - // Enable a class that doesn't inherit from the - // ACE_Event_Handler to be incorporated into the ACE_Reactor - // framework. Thanks to Greg Lavender (g.lavender@isode.com) - // for sharing this idea. - // - // = DESCRIPTION - // It is sometimes the case that an application has a hierarchy - // of operation dispatcher classes that have their own - // inheritance hierarchy but also would like to integrate with - // the ACE_Reactor. Rather than adopt a "mixin" approach, it is - // often cleaner to define a template as a subclass of - // ACE_Event_Handler and paramterize it with an operation - // dispatcher type. - // - // When constructing an instantiation of the ACE_Event_Handler_T - // object, a set of pointers to member functions must be - // provided so that when one of the handle_* methods is called - // by the ACE_Reactor, the appropriate method is called on the - // underlying operations object. This is done since in some - // cases it is useful to map any event that happens to the same - // method on an object. - // - // The ACE_Event_Handler_T template is instantiated by an - // operations object and registered with the ACE_Reactor, and it - // then calls the appropriate op_handler. So, it's basically - // just another level of indirection in event dispatching. The - // coupling betweent the ultimate handler of the event and the - // ACE_Event_Handler class is relaxed a bit by have this - // intermediate object of type around. The - // client object can then dynamically change the bindings for - // the various handlers so that during the life of one of the - // operation objects, it can change how it wants events to be - // handled. It just instantiates a new instance of the template - // with different bindings and reregisters this new object with - // the ACE_Reactor. -public: - // = Typedefs to simplify pointer-to-member-function registration. - - // Get/set the underlying handle. - typedef ACE_HANDLE (T::*GET_HANDLE) (void) const; - typedef void (T::*SET_HANDLE) (ACE_HANDLE); - - typedef int (T::*IO_HANDLER) (ACE_HANDLE); - // Handle I/O events. - - typedef int (T::*TO_HANDLER) (const ACE_Time_Value &, const void *); - // Handle timeout events. - - typedef int (T::*CL_HANDLER) (ACE_HANDLE, ACE_Reactor_Mask); - // Handle close events. - - typedef int (T::*SIG_HANDLER) (ACE_HANDLE -#if defined(ACE_HAS_SIGINFO_T) -, siginfo_t*, ucontext_t* -#endif /* ACE_HAS_SIGINFO_T */ -); - // = Initialization and termination methods. - - ACE_Event_Handler_T (T *op_handler, - int delete_handler, - GET_HANDLE get_handle = 0, - IO_HANDLER input = 0, - CL_HANDLER close = 0, - SIG_HANDLER sig = 0, - TO_HANDLER timeout = 0, - IO_HANDLER output = 0, - SET_HANDLE set_handle = 0, - IO_HANDLER except = 0); - // Initialize the op_handler. - - ~ACE_Event_Handler_T (void); - // Close down and delete the - - // = Override all the ACE_Event_Handler methods. - - // These methods all delegate down to the operations handler. - virtual ACE_HANDLE get_handle (void) const; - virtual void set_handle (ACE_HANDLE); - virtual int handle_input (ACE_HANDLE fd = -1); - virtual int handle_output (ACE_HANDLE fd = -1); - virtual int handle_exception (ACE_HANDLE fd = -1); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - virtual int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask close_mask); - virtual int handle_signal (ACE_HANDLE signum, siginfo_t * = 0, ucontext_t * = 0); - - // = Get/set the operations handler. - T *op_handler (void); - void op_handler (T *); - - // = Get/set the target pointer-to-method used for dispatching. - - GET_HANDLE handle_get (void); - void handle_get (GET_HANDLE); - - SET_HANDLE handle_set (void); - void handle_set (SET_HANDLE); - - IO_HANDLER input_handler (void); - void input_handler (IO_HANDLER); - - IO_HANDLER output_handler (void); - void output_handler (IO_HANDLER); - - IO_HANDLER except_handler (void); - void except_handler (IO_HANDLER); - - TO_HANDLER to_handler (void); - void to_handler (TO_HANDLER); - - CL_HANDLER cl_handler (void); - void cl_handler (CL_HANDLER); - - SIG_HANDLER sig_handler (void); - void sig_handler (SIG_HANDLER); - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - T *op_handler_; - // Pointer to the object that handles all the delegated operations. - - // = Handle input, output, and exception events. - IO_HANDLER input_handler_; - IO_HANDLER output_handler_; - IO_HANDLER except_handler_; - - TO_HANDLER to_handler_; - // Handle timeout events. - - CL_HANDLER cl_handler_; - // Handle close events. - - SIG_HANDLER sig_handler_; - // Handle signal events. - - int delete_handler_; - // Keeps track of whether we need to delete the handler in the - // destructor. - - // = Get/set underlying handle. - SET_HANDLE set_handle_; - GET_HANDLE get_handle_; -}; - -#if defined (__ACE_INLINE__) -#include "ace/Event_Handler_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Event_Handler_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Event_Handler_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ -#endif /* ACE_EVENT_HANDLER_H */ diff --git a/ace/Event_Handler_T.i b/ace/Event_Handler_T.i deleted file mode 100644 index 160eac4e5e3..00000000000 --- a/ace/Event_Handler_T.i +++ /dev/null @@ -1,187 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Event_Handler_T.i - -template void ACE_INLINE -ACE_Event_Handler_T::op_handler (T *op) -{ - ACE_TRACE ("ACE_Event_Handler_T::op_handler"); - this->op_handler_ = op; -} - -template ACE_INLINE T * -ACE_Event_Handler_T::op_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::op_handler"); - return this->op_handler_; -} - -template ACE_HANDLE ACE_INLINE -ACE_Event_Handler_T::get_handle (void) const -{ - ACE_TRACE ("ACE_Event_Handler_T::get_handle"); - return this->get_handle_ == 0 ? -1 : (this->op_handler_->*get_handle_) (); -} - -template void ACE_INLINE -ACE_Event_Handler_T::set_handle (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_Event_Handler_T::set_handle"); - if (this->set_handle_ != 0) - (this->op_handler_->*set_handle_) (h); -} - -template int ACE_INLINE -ACE_Event_Handler_T::handle_input (ACE_HANDLE fd) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_input"); - return this->input_handler_ == 0 ? 0 : (this->op_handler_->*input_handler_) (fd); -} - -template int ACE_INLINE -ACE_Event_Handler_T::handle_output (ACE_HANDLE fd) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_output"); - return this->output_handler_ == 0 ? 0 : (this->op_handler_->*output_handler_) (fd); -} - -template ACE_INLINE int -ACE_Event_Handler_T::handle_exception (ACE_HANDLE fd) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_exception"); - return this->except_handler_ == 0 ? 0 : (this->op_handler_->*except_handler_) (fd); -} - -template ACE_INLINE int -ACE_Event_Handler_T::handle_timeout (const ACE_Time_Value &tv, const void *arg) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_timeout"); - return this->to_handler_ == 0 ? 0 : (this->op_handler_->*to_handler_) (tv, arg); -} - -template ACE_INLINE int -ACE_Event_Handler_T::handle_close (ACE_HANDLE fd, ACE_Reactor_Mask close_mask) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_close"); - return this->cl_handler_ == 0 ? 0 : (this->op_handler_->*cl_handler_) (fd, close_mask); -} - -template ACE_INLINE int -ACE_Event_Handler_T::handle_signal (ACE_HANDLE signum, siginfo_t *s, ucontext_t *u) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_signal"); - return this->sig_handler_ == 0 ? 0 : (this->op_handler_->*sig_handler_) (signum, s, u); -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::GET_HANDLE -ACE_Event_Handler_T::handle_get (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_get"); - return this->get_handle_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::handle_get (ACE_Event_Handler_T::GET_HANDLE h) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_get"); - this->get_handle_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::SET_HANDLE -ACE_Event_Handler_T::handle_set (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_set"); - return this->set_handle_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::handle_set (ACE_Event_Handler_T::SET_HANDLE h) -{ - ACE_TRACE ("ACE_Event_Handler_T::handle_set"); - this->set_handle_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::IO_HANDLER -ACE_Event_Handler_T::input_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::input_handler"); - return this->input_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::input_handler (ACE_Event_Handler_T::IO_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::input_handler"); - this->input_handler_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::IO_HANDLER -ACE_Event_Handler_T::output_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::output_handler"); - return this->output_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::output_handler (ACE_Event_Handler_T::IO_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::output_handler"); - this->output_handler_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::IO_HANDLER -ACE_Event_Handler_T::except_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::except_handler"); - return this->except_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::except_handler (ACE_Event_Handler_T::IO_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::except_handler"); - this->except_handler_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::TO_HANDLER -ACE_Event_Handler_T::to_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::to_handler"); - return this->to_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::to_handler (ACE_Event_Handler_T::TO_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::to_handler"); - this->to_handler_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::CL_HANDLER -ACE_Event_Handler_T::cl_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::cl_handler"); - return this->cl_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::cl_handler (ACE_Event_Handler_T::CL_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::cl_handler"); - this->cl_handler_ = h; -} - -template ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T::SIG_HANDLER -ACE_Event_Handler_T::sig_handler (void) -{ - ACE_TRACE ("ACE_Event_Handler_T::sig_handler"); - return this->sig_handler_; -} - -template ACE_INLINE void -ACE_Event_Handler_T::sig_handler (ACE_Event_Handler_T::SIG_HANDLER h) -{ - ACE_TRACE ("ACE_Event_Handler_T::sig_handler"); - this->sig_handler_ = h; -} diff --git a/ace/FIFO.cpp b/ace/FIFO.cpp deleted file mode 100644 index bd6ca63c695..00000000000 --- a/ace/FIFO.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// FIFO.cpp -// $Id$ - -/* -*- C++ -*- */ - -#define ACE_BUILD_DLL -#include "ace/FIFO.h" - -#if !defined (__ACE_INLINE__) -#include "ace/FIFO.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO) - -void -ACE_FIFO::dump (void) const -{ - ACE_TRACE ("ACE_FIFO::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "rendezvous_ = %s", this->rendezvous_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -int -ACE_FIFO::open (const char *r, int flags, int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO::open"); - ACE_OS::strncpy (this->rendezvous_, r, MAXPATHLEN); - - if ((flags & O_CREAT) != 0 - && ACE_OS::mkfifo (this->rendezvous_, perms) == -1 - && !(errno == EEXIST)) - return -1; - - this->set_handle (ACE_OS::open (this->rendezvous_, flags, 0, sa)); - return this->get_handle () == ACE_INVALID_HANDLE ? -1 : 0; -} - -ACE_FIFO::ACE_FIFO (const char *fifo_name, - int flags, - int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO::ACE_FIFO"); - if (this->open (fifo_name, flags, perms, sa) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_FIFO")); -} - -ACE_FIFO::ACE_FIFO (void) -{ -// ACE_TRACE ("ACE_FIFO::ACE_FIFO"); -} - -int -ACE_FIFO::close (void) -{ - ACE_TRACE ("ACE_FIFO::close"); - int result = 0; - - if (this->get_handle () != ACE_INVALID_HANDLE) - { - result = ACE_OS::close (this->get_handle ()); - this->set_handle (ACE_INVALID_HANDLE); - } - return result; -} - diff --git a/ace/FIFO.h b/ace/FIFO.h deleted file mode 100644 index eacf6f54fa2..00000000000 --- a/ace/FIFO.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FIFO.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FIFO_H) -#define ACE_FIFO_H - -#include "ace/IPC_SAP.h" - -class ACE_Export ACE_FIFO : public ACE_IPC_SAP -{ - // = TITLE - // Abstract base class for UNIX FIFOs (a.k.a. Named Pipes). -public: - int open (const char *rendezvous, int flags, int perms, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up the named pipe on the in accordance with the - // flags. - - int close (void); - // Close down the ACE_FIFO without removing the rendezvous point. - - int remove (void); - // Close down the ACE_FIFO and remove the rendezvous point from the - // file system. - - int get_local_addr (const char *&rendezvous) const; - // Return the local address of this endpoint. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Make these protected to ensure that the class is "abstract." - ACE_FIFO (void); - // Default constructor. - - ACE_FIFO (const char *rendezvous, int flags, int perms, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up the named pipe on the in accordance with the - // flags. - -private: - char rendezvous_[MAXPATHLEN + 1]; - // Rendezvous point in the file system. -}; - -#if defined (__ACE_INLINE__) -#include "ace/FIFO.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_FIFO_H */ diff --git a/ace/FIFO.i b/ace/FIFO.i deleted file mode 100644 index d5aa8fb1943..00000000000 --- a/ace/FIFO.i +++ /dev/null @@ -1,21 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FIFO.i - -ACE_INLINE int -ACE_FIFO::get_local_addr (const char *&r) const -{ - ACE_TRACE ("ACE_FIFO::get_local_addr"); - r = this->rendezvous_; - return 0; -} - -ACE_INLINE int -ACE_FIFO::remove (void) -{ - ACE_TRACE ("ACE_FIFO::remove"); - int result = this->close (); - return ACE_OS::unlink (this->rendezvous_) == -1 || result == -1 ? -1 : 0; -} - diff --git a/ace/FIFO_Recv.cpp b/ace/FIFO_Recv.cpp deleted file mode 100644 index cfa7ae5e99a..00000000000 --- a/ace/FIFO_Recv.cpp +++ /dev/null @@ -1,79 +0,0 @@ -// FIFO_Recv.cpp -// $Id$ - -/* -*- C++ -*- */ - -#define ACE_BUILD_DLL -#include "ace/FIFO_Recv.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO_Recv) - -void -ACE_FIFO_Recv::dump (void) const -{ - ACE_TRACE ("ACE_FIFO_Recv::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_FIFO::dump (); - ACE_DEBUG ((LM_DEBUG, "aux_handle_ = %d", this->aux_handle_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -int -ACE_FIFO_Recv::close (void) -{ - ACE_TRACE ("ACE_FIFO_Recv::close"); - int result = ACE_FIFO::close (); - - if (this->aux_handle_ != ACE_INVALID_HANDLE) - return ACE_OS::close (this->aux_handle_); - else - return result; -} - -// Note that persistent means "open fifo for writing, as well as -// reading." This ensures that the fifo never gets EOF, even if there -// aren't any writers at the moment! - -int -ACE_FIFO_Recv::open (const char *fifo_name, - int flags, - int perms, - int persistent, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Recv::open"); - - if (ACE_FIFO::open (fifo_name, ACE_NONBLOCK | flags, perms, sa) == -1) - return -1; - else if (this->disable (ACE_NONBLOCK) == -1) - return -1; - else if (persistent - && (this->aux_handle_ = ACE_OS::open (fifo_name, O_WRONLY, 0, sa)) == ACE_INVALID_HANDLE) - return -1; - else - return this->get_handle () == ACE_INVALID_HANDLE ? -1 : 0; -} - -ACE_FIFO_Recv::ACE_FIFO_Recv (void) - : aux_handle_ (ACE_INVALID_HANDLE) -{ - ACE_TRACE ("ACE_FIFO_Recv::ACE_FIFO_Recv"); -} - -ACE_FIFO_Recv::ACE_FIFO_Recv (const char *fifo_name, - int flags, - int perms, - int persistent, - LPSECURITY_ATTRIBUTES sa) - : aux_handle_ (ACE_INVALID_HANDLE) -{ - ACE_TRACE ("ACE_FIFO_Recv::ACE_FIFO_Recv"); - - if (this->ACE_FIFO_Recv::open (fifo_name, - flags, - perms, - persistent, - sa) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_FIFO_Recv")); -} - diff --git a/ace/FIFO_Recv.h b/ace/FIFO_Recv.h deleted file mode 100644 index 2cd3d8c14c2..00000000000 --- a/ace/FIFO_Recv.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FIFO_Recv.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FIFO_RECV_H) -#define ACE_FIFO_RECV_H - -#include "ace/FIFO.h" - -class ACE_Export ACE_FIFO_Recv : public ACE_FIFO -{ - // = TITLE - // Receiver side of the bytestream C++ wrapper for UNIX - // FIFOs. -public: - // = Initialization methods. - ACE_FIFO_Recv (void); - // Default constructor. - - ACE_FIFO_Recv (const char *rendezvous, - int flags = O_CREAT | O_RDONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - int persistent = 1, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a bytestream named pipe for reading. - - int open (const char *rendezvous, - int flags = O_CREAT | O_RDONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - int persistent = 1, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a bytestream named pipe for reading. - - int close (void); - // Close down the named pipe. - - ssize_t recv (void *buf, size_t len); - // Recv of up to bytes. - - ssize_t recv_n (void *buf, size_t len); - // Recv of exactly bytes (block until done). - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_HANDLE aux_handle_; - // Auxiliary handle that is used to implement persistent FIFOs. -}; - -#include "ace/FIFO_Recv.i" - -#endif /* ACE_FIFO_RECV_H */ diff --git a/ace/FIFO_Recv.i b/ace/FIFO_Recv.i deleted file mode 100644 index 51ae81efca8..00000000000 --- a/ace/FIFO_Recv.i +++ /dev/null @@ -1,18 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FIFO_Recv.i - -inline ssize_t -ACE_FIFO_Recv::recv (void *buf, size_t len) -{ - ACE_TRACE ("ACE_FIFO_Recv::recv"); - return ACE_OS::read (this->get_handle (), (char *) buf, len); -} - -inline ssize_t -ACE_FIFO_Recv::recv_n (void *buf, size_t n) -{ - ACE_TRACE ("ACE_FIFO_Recv::recv_n"); - return ACE::recv_n (this->get_handle (), buf, n); -} diff --git a/ace/FIFO_Recv_Msg.cpp b/ace/FIFO_Recv_Msg.cpp deleted file mode 100644 index 3cfc8d8f682..00000000000 --- a/ace/FIFO_Recv_Msg.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// FIFO_Recv_Msg.cpp -// $Id$ - -/* -*- C++ -*- */ - -#define ACE_BUILD_DLL -#include "ace/FIFO_Recv_Msg.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO_Recv_Msg) - -void -ACE_FIFO_Recv_Msg::dump (void) const -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::dump"); - ACE_FIFO_Recv::dump (); -} - -// Note that persistent means "open FIFO for writing, as well as -// reading." This ensures that the FIFO never gets EOF, even if there -// aren't any writers at the moment! - -int -ACE_FIFO_Recv_Msg::open (const char *fifo_name, - int flags, - int perms, - int persistent, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::open"); - - return ACE_FIFO_Recv::open (fifo_name, - flags, - perms, - persistent, - sa); -} - -ACE_FIFO_Recv_Msg::ACE_FIFO_Recv_Msg (void) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::ACE_FIFO_Recv_Msg"); -} - -ACE_FIFO_Recv_Msg::ACE_FIFO_Recv_Msg (const char *fifo_name, - int flags, - int perms, - int persistent, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::ACE_FIFO_Recv_Msg"); - - if (this->ACE_FIFO_Recv_Msg::open (fifo_name, - flags, - perms, - persistent, - sa) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_FIFO_Recv_Msg")); -} diff --git a/ace/FIFO_Recv_Msg.h b/ace/FIFO_Recv_Msg.h deleted file mode 100644 index 9c6ff057448..00000000000 --- a/ace/FIFO_Recv_Msg.h +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FIFO_Recv_Msg.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FIFO_RECV_MSG_H) -#define ACE_FIFO_RECV_MSG_H - -#include "ace/FIFO_Recv.h" - -class ACE_Export ACE_FIFO_Recv_Msg : public ACE_FIFO_Recv -{ - // = TITLE - // Receiver side for the record oriented C++ wrapper for UNIX FIFOs. -public: - // = Initialization methods. - ACE_FIFO_Recv_Msg (void); - // Default constructor. - - ACE_FIFO_Recv_Msg (const char *rendezvous, - int flags = O_CREAT | O_RDONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - int persistent = 1, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a record-oriented named pipe for reading. - - int open (const char *rendezvous, - int flags = O_CREAT | O_RDONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - int persistent = 1, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a record-oriented named pipe for reading. - - ssize_t recv (ACE_Str_Buf &msg); - // Recv as an ACE_Str_Buf. - - ssize_t recv (void *buf, size_t len); - // Recv as a buffer. - -#if defined (ACE_HAS_STREAM_PIPES) - ssize_t recv (ACE_Str_Buf *data, - ACE_Str_Buf *cntl, - int *flags); - // Recv and message via Stream pipes. - - ssize_t recv (int *band, - ACE_Str_Buf *data, - ACE_Str_Buf *cntl, - int *flags); - // Recv and message via Stream pipes in "band" mode. -#endif /* ACE_HAS_STREAM_PIPES */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/FIFO_Recv_Msg.i" - -#endif /* ACE_FIFO_RECV_MSG_H */ diff --git a/ace/FIFO_Recv_Msg.i b/ace/FIFO_Recv_Msg.i deleted file mode 100644 index 8d4544f3272..00000000000 --- a/ace/FIFO_Recv_Msg.i +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FIFO_Recv_Msg.i - -// Note that the return values mean different things if -// ACE_HAS_STREAM_PIPES vs. if it doesn't... See the manual page on -// getmsg(2) and read(2) for more details. - -inline ssize_t -ACE_FIFO_Recv_Msg::recv (ACE_Str_Buf &recv_msg) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::recv"); -#if defined (ACE_HAS_STREAM_PIPES) - int i = 0; - return ACE_OS::getmsg (this->get_handle (), - (strbuf *) 0, - (strbuf *) &recv_msg, - &i); -#else /* Do the ol' 2-read trick... */ - if (ACE_OS::read (this->get_handle (), - (char *) &recv_msg.len, - sizeof recv_msg.len) != sizeof recv_msg.len) - return -1; - else - return ACE_OS::read (this->get_handle (), - (char *) recv_msg.buf, - (int) recv_msg.len); -#endif /* ACE_HAS_STREAM_PIPES */ -} - -inline ssize_t -ACE_FIFO_Recv_Msg::recv (void *buf, size_t max_len) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::recv"); - ACE_Str_Buf recv_msg ((char *) buf, 0, max_len); - - return this->recv (recv_msg); -} - -#if defined (ACE_HAS_STREAM_PIPES) -inline ssize_t -ACE_FIFO_Recv_Msg::recv (ACE_Str_Buf *data, - ACE_Str_Buf *cntl, - int *flags) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::recv"); - return ACE_OS::getmsg (this->get_handle (), - (strbuf *) cntl, - (strbuf *) data, - flags); -} - -inline ssize_t -ACE_FIFO_Recv_Msg::recv (int *band, - ACE_Str_Buf *data, - ACE_Str_Buf *cntl, - int *flags) -{ - ACE_TRACE ("ACE_FIFO_Recv_Msg::recv"); - return ACE_OS::getpmsg (this->get_handle (), - (strbuf *) cntl, - (strbuf *) data, - band, - flags); -} -#endif /* ACE_HAS_STREAM_PIPES */ diff --git a/ace/FIFO_Send.cpp b/ace/FIFO_Send.cpp deleted file mode 100644 index e1c3d67fdbf..00000000000 --- a/ace/FIFO_Send.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// FIFO_Send.cpp -// $Id$ - -/* -*- C++ -*- */ - -#define ACE_BUILD_DLL -#include "ace/FIFO_Send.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO_Send) - -void -ACE_FIFO_Send::dump (void) const -{ - ACE_TRACE ("ACE_FIFO_Send::dump"); - ACE_FIFO::dump (); -} - -ACE_FIFO_Send::ACE_FIFO_Send (void) -{ -// ACE_TRACE ("ACE_FIFO_Send::ACE_FIFO_Send"); -} - -int -ACE_FIFO_Send::open (const char *rendezvous_name, int flags, int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Send::open"); - return ACE_FIFO::open (rendezvous_name, flags | O_WRONLY, perms, sa); -} - -ACE_FIFO_Send::ACE_FIFO_Send (const char *fifo_name, int flags, int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Send::ACE_FIFO_Send"); - if (this->ACE_FIFO_Send::open (fifo_name, flags, perms, sa) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_FIFO_Send::ACE_FIFO_Send")); -} diff --git a/ace/FIFO_Send.h b/ace/FIFO_Send.h deleted file mode 100644 index 757846d292e..00000000000 --- a/ace/FIFO_Send.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FIFO_Send.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FIFO_SEND_H) -#define ACE_FIFO_SEND_H - -#include "ace/FIFO.h" - -class ACE_Export ACE_FIFO_Send : public ACE_FIFO -{ - // = TITLE - // Sender side for the bytestream C++ wrapper for UNIX FIFOs -public: - // = Initialization methods. - ACE_FIFO_Send (void); - // Default constructor. - - ACE_FIFO_Send (const char *rendezvous, - int flags = O_WRONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a bytestream named pipe for writing. - - int open (const char *rendezvous, - int flags = O_WRONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a bytestream named pipe for writing. - - ssize_t send (const void *buf, size_t len); - // Send of up to bytes. - - ssize_t send_n (const void *buf, size_t len); - // Send of exactly bytes (block until done). - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/FIFO_Send.i" - -#endif /* ACE_FIFO_SEND_H */ - diff --git a/ace/FIFO_Send.i b/ace/FIFO_Send.i deleted file mode 100644 index 5785229f167..00000000000 --- a/ace/FIFO_Send.i +++ /dev/null @@ -1,18 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FIFO_Send.i - -inline ssize_t -ACE_FIFO_Send::send (const void *buf, size_t len) -{ - ACE_TRACE ("ACE_FIFO_Send::send"); - return ACE_OS::write (this->get_handle (), (const char *) buf, len); -} - -inline ssize_t -ACE_FIFO_Send::send_n (const void *buf, size_t n) -{ - ACE_TRACE ("ACE_FIFO_Send::send_n"); - return ACE::send_n (this->get_handle (), buf, n); -} diff --git a/ace/FIFO_Send_Msg.cpp b/ace/FIFO_Send_Msg.cpp deleted file mode 100644 index 272462d9527..00000000000 --- a/ace/FIFO_Send_Msg.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// FIFO_Send_Msg.cpp -// $Id$ - -/* -*- C++ -*- */ - -#define ACE_BUILD_DLL -#include "ace/FIFO_Send_Msg.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO_Send_Msg) - -void -ACE_FIFO_Send_Msg::dump (void) const -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::dump"); - ACE_FIFO_Send::dump (); -} - -ssize_t -ACE_FIFO_Send_Msg::send (const ACE_Str_Buf &send_msg) -{ - // ACE_TRACE ("ACE_FIFO_Send_Msg::send"); -#if defined (ACE_HAS_STREAM_PIPES) - return ACE_OS::putmsg (this->get_handle (), - (strbuf *) 0, - (strbuf *) &send_msg, - 0); -#else - struct iovec iov[2]; - - iov[0].iov_base = (char *) &send_msg.len; - iov[0].iov_len = sizeof send_msg.len; - - iov[1].iov_base = (char *) send_msg.buf; - iov[1].iov_len = int (send_msg.len); - - return ACE_OS::writev (this->get_handle (), iov, 2); -#endif /* ACE_HAS_STREAM_PIPES */ -} - -ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg (void) -{ -// ACE_TRACE ("ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg"); -} - -int -ACE_FIFO_Send_Msg::open (const char *fifo_name, - int flags, - int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::open"); - return ACE_FIFO_Send::open (fifo_name, flags | O_WRONLY, perms, sa); -} - -ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg (const char *fifo_name, - int flags, - int perms, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg"); - if (this->ACE_FIFO_Send_Msg::open (fifo_name, flags, perms, sa) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_FIFO_Send_Msg")); -} diff --git a/ace/FIFO_Send_Msg.h b/ace/FIFO_Send_Msg.h deleted file mode 100644 index cc55b9188fa..00000000000 --- a/ace/FIFO_Send_Msg.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FIFO_Send_Msg.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FIFO_SEND_MSG_H) -#define ACE_FIFO_SEND_MSG_H - -#include "ace/FIFO_Send.h" - -class ACE_Export ACE_FIFO_Send_Msg : public ACE_FIFO_Send -{ - // = TITLE - // Sender side for the Record oriented C++ wrapper for UNIX - // FIFOs. -public: - // = Initialization methods. - ACE_FIFO_Send_Msg (void); - // Default constructor. - - ACE_FIFO_Send_Msg (const char *rendezvous, - int flags = O_WRONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a record-oriented named pipe for writing. - - int open (const char *rendezvous, - int flags = O_WRONLY, - int perms = ACE_DEFAULT_FILE_PERMS, - LPSECURITY_ATTRIBUTES sa = 0); - // Open up a record-oriented named pipe for writing. - - ssize_t send (const ACE_Str_Buf &msg); - // Send of up to bytes. - - ssize_t send (const void *buf, size_t len); - // Send of exactly bytes (block until done). - -#if defined (ACE_HAS_STREAM_PIPES) - ssize_t send (const ACE_Str_Buf *data, - const ACE_Str_Buf *cntl = 0, - int flags = 0); - // Send and message via Stream pipes. - - ssize_t send (int band, - const ACE_Str_Buf *data, - const ACE_Str_Buf *cntl = 0, - int flags = MSG_BAND); - // Send and message via Stream pipes in "band" mode. -#endif /* ACE_HAS_STREAM_PIPES */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/FIFO_Send_Msg.i" - -#endif /* ACE_FIFO_SEND_MSG_H */ - diff --git a/ace/FIFO_Send_Msg.i b/ace/FIFO_Send_Msg.i deleted file mode 100644 index 7d6b767cc4b..00000000000 --- a/ace/FIFO_Send_Msg.i +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FIFO_Send_Msg.i - -inline ssize_t -ACE_FIFO_Send_Msg::send (const void *buf, size_t len) -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::send"); - ACE_Str_Buf send_msg ((char *) buf, len); - - return this->send (send_msg); -} - -#if defined (ACE_HAS_STREAM_PIPES) -inline ssize_t -ACE_FIFO_Send_Msg::send (const ACE_Str_Buf *data, - const ACE_Str_Buf *cntl, - int flags) -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::send"); - return ACE_OS::putmsg (this->get_handle (), - (strbuf *) cntl, - (strbuf *) data, - flags); -} - -inline ssize_t -ACE_FIFO_Send_Msg::send (int band, - const ACE_Str_Buf *data, - const ACE_Str_Buf *cntl, - int flags) -{ - ACE_TRACE ("ACE_FIFO_Send_Msg::send"); - return ACE_OS::putpmsg (this->get_handle (), - (strbuf *) cntl, - (strbuf *) data, - band, - flags); -} -#endif /* ACE_HAS_STREAM_PIPES */ diff --git a/ace/FILE.cpp b/ace/FILE.cpp deleted file mode 100644 index 4d5770eb7ae..00000000000 --- a/ace/FILE.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// FILE.cpp -// $Id$ - -/* Defines the member functions for the base class of the ACE_IO_SAP - ACE_FILE abstraction. */ - -#define ACE_BUILD_DLL -#include "ace/FILE.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FILE) - -void -ACE_FILE::dump (void) const -{ - ACE_TRACE ("ACE_FILE::dump"); - ACE_IO_SAP::dump (); -} - -/* This is the do-nothing constructor. */ - -ACE_FILE::ACE_FILE (void) -{ - ACE_TRACE ("ACE_FILE::ACE_FILE"); -} - -// Close the file - -int -ACE_FILE::close (void) -{ - ACE_TRACE ("ACE_FILE::close"); - int result = ACE_OS::close (this->get_handle ()); - this->set_handle (ACE_INVALID_HANDLE); - return result; -} - -int -ACE_FILE::get_info (ACE_FILE_Info *finfo) -{ - ACE_TRACE ("ACE_FILE::get_info"); - struct stat filestatus; - - int result = ACE_OS::fstat (this->get_handle (), - &filestatus); - - if (result == 0) - { - finfo->mode_ = filestatus.st_mode; - finfo->nlink_ = filestatus.st_nlink; - finfo->size_ = filestatus.st_size; - } - return result; -} - -int -ACE_FILE::truncate (off_t length) -{ - ACE_TRACE ("ACE_FILE::truncate"); - return ACE_OS::ftruncate (this->get_handle(), length); -} - -off_t -ACE_FILE::position (long offset, int startpos) -{ - ACE_TRACE ("ACE_FILE::position"); - return ACE_OS::lseek (this->get_handle (), offset, startpos); -} - -off_t -ACE_FILE::position (void) -{ - ACE_TRACE ("ACE_FILE::position"); - return ACE_OS::lseek (this->get_handle (), 0, SEEK_CUR); -} diff --git a/ace/FILE.h b/ace/FILE.h deleted file mode 100644 index 7819d333c5c..00000000000 --- a/ace/FILE.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FILE.h -// -// = AUTHOR -// Gerhard Lenzer -// -// ============================================================================ - -#if !defined (ACE_FILE_H) -#define ACE_FILE_H - -#include "ace/IO_SAP.h" -#include "ace/FILE_Addr.h" - -// The following is necessary since many C++ compilers don't support -// typedef'd types inside of classes used as formal template -// arguments... ;-(. Luckily, using the C++ preprocessor I can hide -// most of this nastiness! - -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) -#define ACE_FILE_CONNECTOR ACE_FILE_Connector -#define ACE_FILE_STREAM ACE_FILE_IO -#else /* TEMPLATES are broken (must be a cfront-based compiler...) */ -#define ACE_FILE_CONNECTOR ACE_FILE_Connector, ACE_FILE_Addr -#define ACE_FILE_STREAM ACE_FILE_IO, ACE_FILE_Addr -#endif /* ACE_TEMPLATE_TYPEDEFS */ - -class ACE_FILE_Info -{ - // = TITLE - // Abstracts basic OS FILE information. -public: - mode_t mode_; - // mode of file - - nlink_t nlink_; - // no of links - - off_t size_; - // size of file -}; - -class ACE_Export ACE_FILE : public ACE_IO_SAP -{ - // = TITLE - // Defines the member functions for the base class of the - // ACE_FILE abstraction. -public: - int close (void); - // Close down the ACE_FILE - - int get_info (ACE_FILE_Info *finfo); - // get informations on the ACE_FILE - - int truncate (off_t length); - // set filesize to length byte - - off_t position (long offset, int startpos); - // set the filepointer to the specified position - - off_t position (void); - // get current filepointer - - void dump (void) const; - // Dump the state of an object. - - int disable (int signum) const ; - // Disable signal - // This is here to prevent Win32 from - // disabling SPIPE using socket calls - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - ACE_FILE (void); - // Ensure that this class is an abstract base class -}; - -#include "ace/FILE.i" - -#endif /* ACE_FILE_H */ diff --git a/ace/FILE.i b/ace/FILE.i deleted file mode 100644 index 0a916f0f0d0..00000000000 --- a/ace/FILE.i +++ /dev/null @@ -1,16 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FILE.i - -inline int -ACE_FILE::disable (int signum) const -{ -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (signum) ; - return 0 ; -#else /* ACE_WIN32 */ - return ACE_IO_SAP::disable (signum) ; -#endif /* ACE_WIN32 */ -} - diff --git a/ace/FILE_Addr.cpp b/ace/FILE_Addr.cpp deleted file mode 100644 index 9d28f0e3d02..00000000000 --- a/ace/FILE_Addr.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/FILE_Addr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/FILE_Addr.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_FILE_Addr) - -ACE_FILE_Addr::ACE_FILE_Addr (void) - : ACE_Addr (AF_FILE, sizeof this->filename_) -{ - (void) ACE_OS::memset ((void *) &this->filename_, - 0, - sizeof this->filename_); -} - -int -ACE_FILE_Addr::set (const ACE_FILE_Addr &sa) -{ - this->base_set (sa.get_type (), sa.get_size ()); - - if (sa.get_type () == AF_ANY) - (void) ACE_OS::memset ((void *) &this->filename_, - 0, - sizeof this->filename_); - else - (void) ACE_OS::memcpy ((void *) &this->filename_, - (void *) &sa.filename_, - sa.get_size ()); - return 0; -} - -// Copy constructor. - -ACE_FILE_Addr::ACE_FILE_Addr (const ACE_FILE_Addr &sa) -{ - this->set (sa); -} - -ACE_FILE_Addr & -ACE_FILE_Addr::operator= (const ACE_FILE_Addr &sa) -{ - if (this != &sa) - (void) ACE_OS::memcpy ((void *) &this->filename_, - (void *) &sa.filename_, - sa.get_size ()); - return *this; -} - -void -ACE_FILE_Addr::set (LPCTSTR filename) -{ - this->ACE_Addr::base_set (AF_FILE, - ACE_OS::strlen (filename) ); - (void) ACE_OS::strcpy (this->filename_, - filename); -} - -// Create a ACE_Addr from a ACE_FILE pathname. - -ACE_FILE_Addr::ACE_FILE_Addr (LPCTSTR filename) -{ - this->set (filename); -} - -// Transform the current address into string format. - -#if defined (UNICODE) -int -ACE_FILE_Addr::addr_to_string (wchar_t * s, size_t len) const -{ - ACE_OS::strncpy (s, this->filename_, len); - return 0; -} -#endif /* UNICODE */ - -int -ACE_FILE_Addr::addr_to_string (char *s, size_t len) const -{ - ACE_OS::strncpy (s, - ACE_MULTIBYTE_STRING (this->filename_), - len); - return 0; -} - -void -ACE_FILE_Addr::dump (void) const -{ - ACE_TRACE ("ACE_FILE_Addr::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "filename_ = %s", this->filename_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} diff --git a/ace/FILE_Addr.h b/ace/FILE_Addr.h deleted file mode 100644 index d926a6a61d0..00000000000 --- a/ace/FILE_Addr.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FILE_Addr.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FILE_ADDR_H) -#define ACE_FILE_ADDR_H - -#include "ace/Addr.h" -#include "ace/ACE.h" - -class ACE_Export ACE_FILE_Addr : public ACE_Addr -{ - // = TITLE - // Defines the FILE address family address format. -public: - // = Initialization methods. - ACE_FILE_Addr (void); - // Default constructor. - - ACE_FILE_Addr (const ACE_FILE_Addr &sa); - // Copy constructor. - - int set (const ACE_FILE_Addr &sa); - // Acts like a copy constructor. - - ACE_FILE_Addr (LPCTSTR filename); - // Create a ACE_FILE_Addr from a pathname. - - void set (LPCTSTR filename); - // Create a ACE_FILE_Addr from a pathname. - - ACE_FILE_Addr &operator= (const ACE_FILE_Addr &); - // Assignment operator. - - virtual void *get_addr (void) const; - // Return a pointer to the address. - -#if defined (UNICODE) - virtual int addr_to_string (wchar_t *addr, size_t) const; - // Transform the current address into string format. -#endif /* UNICODE */ - - virtual int addr_to_string (char *addr, size_t) const; - // Transform the current address into string format. - - int operator == (const ACE_FILE_Addr &SAP) const; - // Compare two addresses for equality. - - int operator != (const ACE_FILE_Addr &SAP) const; - // Compare two addresses for inequality. - - LPCTSTR get_path_name (void) const; - // Return the path name used for the rendezvous point. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - TCHAR filename_[MAXNAMLEN + 1]; - // Name of the file. -}; - -#if defined (__ACE_INLINE__) -#include "ace/FILE_Addr.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_FILE_ADDR_H */ diff --git a/ace/FILE_Addr.i b/ace/FILE_Addr.i deleted file mode 100644 index 6d23f13a41b..00000000000 --- a/ace/FILE_Addr.i +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FILE_Addr.i - -// Do nothing constructor. - -// Transform the current address into string format. - -#include "ace/SString.h" - -// Return the address. - -ACE_INLINE void * -ACE_FILE_Addr::get_addr (void) const -{ - return (void *) &this->filename_; -} - -// Compare two addresses for equality. - -ACE_INLINE int -ACE_FILE_Addr::operator == (const ACE_FILE_Addr &sap) const -{ - return ACE_OS::strcmp (this->filename_, sap.filename_) == 0; -} - -// Compare two addresses for inequality. - -ACE_INLINE int -ACE_FILE_Addr::operator != (const ACE_FILE_Addr &sap) const -{ - return !((*this) == sap); // This is lazy, of course... ;-) -} - -// Return the path name used for the rendezvous point. - -ACE_INLINE LPCTSTR -ACE_FILE_Addr::get_path_name (void) const -{ - return this->filename_; -} - diff --git a/ace/FILE_Connector.cpp b/ace/FILE_Connector.cpp deleted file mode 100644 index c6b738b1a4f..00000000000 --- a/ace/FILE_Connector.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// FILE_Connector.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/FILE_Connector.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FILE_Connector) - -void -ACE_FILE_Connector::dump (void) const -{ - ACE_TRACE ("ACE_FILE_Connector::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_FILE_Connector::ACE_FILE_Connector (void) -{ - ACE_TRACE ("ACE_FILE_Connector::ACE_FILE_Connector"); -} - -int -ACE_FILE_Connector::connect (ACE_FILE_IO &new_io, - const ACE_FILE_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &, - int, - int flags, - int perms) -{ - ACE_TRACE ("ACE_FILE_Connector::connect"); - ACE_ASSERT (new_io.get_handle () == ACE_INVALID_HANDLE); - - ACE_HANDLE handle = ACE::handle_timed_open (timeout, - remote_sap.get_path_name (), - flags, perms); - new_io.set_handle (handle); - new_io.addr_ = remote_sap; // class copy. - return handle == ACE_INVALID_HANDLE ? -1 : 0; -} - diff --git a/ace/FILE_Connector.h b/ace/FILE_Connector.h deleted file mode 100644 index a3ef60a8422..00000000000 --- a/ace/FILE_Connector.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FILE_Connector.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FILE_CONNECTOR_H) -#define ACE_FILE_CONNECTOR_H - -#include "ace/FILE_IO.h" - -class ACE_Export ACE_FILE_Connector : public ACE_FILE -{ - // = TITLE - // Defines an active connection factory for the ACE_FILE wrappers. -public: - // = Initialization methods. - ACE_FILE_Connector (void); - // Default constructor. - - ACE_FILE_Connector (ACE_FILE_IO &new_io, - const ACE_FILE_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = O_RDWR, - int perms = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - // The and arguments are passed down to the open() - // method. - - int connect (ACE_FILE_IO &new_io, - const ACE_FILE_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = O_RDWR, - int perms = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - // The and arguments are passed down to the open() - // method. - - int reset_new_handle (ACE_HANDLE handle); - // Resets any event associations on this handle - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - // = Meta-type info - typedef ACE_FILE_Addr PEER_ADDR; - typedef ACE_FILE_IO PEER_STREAM; -}; - -#include "ace/FILE_Connector.i" - -#endif /* ACE_FILE_CONNECTOR_H */ diff --git a/ace/FILE_Connector.i b/ace/FILE_Connector.i deleted file mode 100644 index 644cfcbe64a..00000000000 --- a/ace/FILE_Connector.i +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FILE_Connector.i - -// Creates a Local ACE_FILE. - -inline -ACE_FILE_Connector::ACE_FILE_Connector (ACE_FILE_IO &new_io, - const ACE_FILE_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &local_sap, - int reuse_addr, - int flags, - int perms) -{ - ACE_TRACE ("ACE_FILE_Connector::ACE_FILE_Connector"); - if (this->connect (new_io, remote_sap, timeout, local_sap, - reuse_addr, flags, perms) == ACE_IO_SAP::INVALID_HANDLE - && timeout != 0 && !(errno == EWOULDBLOCK || errno == ETIME)) - ACE_ERROR ((LM_ERROR, "address %s, %p\n", - remote_sap.get_path_name (), "ACE_FILE_IO")); -} - -inline int -ACE_FILE_Connector::reset_new_handle (ACE_HANDLE handle) -{ - ACE_UNUSED_ARG (handle); - // Nothing to do here since the handle is not a socket - return 0; -} - diff --git a/ace/FILE_IO.cpp b/ace/FILE_IO.cpp deleted file mode 100644 index a98debba019..00000000000 --- a/ace/FILE_IO.cpp +++ /dev/null @@ -1,115 +0,0 @@ -// FILE_IO.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/FILE_IO.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_FILE_IO) - -void -ACE_FILE_IO::dump (void) const -{ - ACE_TRACE ("ACE_FILE_IO::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->addr_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Simple-minded do nothing constructor. - -ACE_FILE_IO::ACE_FILE_IO (void) -{ - ACE_TRACE ("ACE_FILE_IO::ACE_FILE_IO"); -} - -// Send N char *ptrs and int lengths. Note that the char *'s precede -// the ints (basically, an varargs version of writev). The count N is -// the *total* number of trailing arguments, *not* a couple of the -// number of tuple pairs! - -ssize_t -ACE_FILE_IO::send (size_t n, ...) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::writev (this->get_handle (), iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - -// This is basically an interface to ACE_OS::readv, that doesn't use -// the struct iovec explicitly. The ... can be passed as an arbitrary -// number of (char *ptr, int len) tuples. However, the count N is the -// *total* number of trailing arguments, *not* a couple of the number -// of tuple pairs! - -ssize_t -ACE_FILE_IO::recv (size_t n, ...) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - va_list argp; - size_t total_tuples = n / 2; - iovec *iovp; -#if defined (ACE_HAS_ALLOCA) - iovp = (iovec *) alloca (total_tuples * sizeof (iovec)); -#else - ACE_NEW_RETURN (iovp, iovec[total_tuples], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - va_start (argp, n); - - for (size_t i = 0; i < total_tuples; i++) - { - iovp[i].iov_base = va_arg (argp, char *); - iovp[i].iov_len = va_arg (argp, int); - } - - ssize_t result = ACE_OS::readv (this->get_handle (), iovp, total_tuples); -#if !defined (ACE_HAS_ALLOCA) - delete [] iovp; -#endif /* !defined (ACE_HAS_ALLOCA) */ - va_end (argp); - return result; -} - -// Return the local endpoint address. - -int -ACE_FILE_IO::get_local_addr (ACE_Addr &addr) const -{ - ACE_TRACE ("ACE_FILE_IO::get_local_addr"); - - addr = this->addr_; - return 0; -} - -// Return the address of the remotely connected peer (if there is -// one). - -int -ACE_FILE_IO::get_remote_addr (ACE_Addr &addr) const -{ - ACE_TRACE ("ACE_FILE_IO::get_remote_addr"); - addr = this->addr_; - return 0; -} diff --git a/ace/FILE_IO.h b/ace/FILE_IO.h deleted file mode 100644 index 4867da1663e..00000000000 --- a/ace/FILE_IO.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// FILE_IO.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_FILE_IO_H) -#define ACE_FILE_IO_H - -#include "ace/FILE.h" -#include "ace/FILE_Addr.h" - -class ACE_Export ACE_FILE_IO : public ACE_FILE -{ - // = TITLE - // Read/Write operations on Files -public: - friend class ACE_FILE_Connector; - - // = Initialization method. - ACE_FILE_IO (void); - // Default constructor. - - ssize_t send (const void *buf, size_t n) const; - // send upto bytes in . - - ssize_t recv (void *buf, size_t n) const; - // Recv upto bytes in . - - ssize_t send_n (const void *buf, size_t n) const; - // Send n bytes, keep trying until n are sent. - - ssize_t recv_n (void *buf, size_t n) const; - // Recv n bytes, keep trying until n are received. - -#if defined (ACE_HAS_STREAM_PIPES) - ssize_t send (const ACE_Str_Buf *cntl, - const ACE_Str_Buf *data, - int flags = 0) const; - // Send bytes via STREAM pipes. - - ssize_t recv (ACE_Str_Buf *cntl, - ACE_Str_Buf *data, - int *flags) const; - // Recv bytes via STREAM pipes. - - ssize_t send (const ACE_Str_Buf *cntl, - const ACE_Str_Buf *data, - int band, - int flags) const; - // Send bytes via STREAM pipes using "band" mode. - - ssize_t recv (ACE_Str_Buf *cntl, - ACE_Str_Buf *data, - int *band, - int *flags) const; - // Recv bytes via STREAM pipes using "band" mode. - -#endif /* ACE_HAS_STREAM_PIPES */ - - ssize_t send (const iovec iov[], size_t n) const; - // Send iovecs via <::writev>. - - ssize_t recv (iovec iov[], size_t n) const; - // Recv iovecs via <::readv>. - - ssize_t send (size_t n, ...) const; - // Send N char *ptrs and int lengths. Note that the char *'s - // precede the ints (basically, an varargs version of writev). The - // count N is the *total* number of trailing arguments, *not* a - // couple of the number of tuple pairs! - - ssize_t recv (size_t n, ...) const; - // This is an interface to ::readv, that doesn't use the struct - // iovec explicitly. The ... can be passed as an arbitrary number - // of (char *ptr, int len) tuples. However, the count N is the - // *total* number of trailing arguments, *not* a couple of the - // number of tuple pairs! - - ssize_t send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; - // Send bytes via Win32 WriteFile using overlapped I/O. - - ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; - // Recv bytes via Win32 ReadFile using overlapped I/O. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - // = Meta-type info - typedef ACE_FILE_Addr PEER_ADDR; - - int get_local_addr (ACE_Addr &) const; - // Return the local endpoint address in the referenced ACE_Addr. - // Returns 0 if successful, else -1. - - int get_remote_addr (ACE_Addr &) const; - // Return the address of the remotely connected peer (if there is - // one), in the referenced ACE_Addr. Returns 0 if successful, else - // -1. - -private: - ACE_FILE_Addr addr_; - // File we are "connected" with... -}; - -#include "ace/FILE_IO.i" - -#endif /* ACE_FILE_IO_H */ diff --git a/ace/FILE_IO.i b/ace/FILE_IO.i deleted file mode 100644 index f68c88acdf2..00000000000 --- a/ace/FILE_IO.i +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// FILE_IO.i - -// Send exactly N bytes from BUF to this file. Keeping trying until -// this many bytes are sent. - -inline ssize_t -ACE_FILE_IO::send_n (const void *buf, size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::send_n"); - return ACE::write_n (this->get_handle (), buf, n); -} - -// Receive exactly N bytes from this file into BUF. Keep trying until -// this many bytes are received. - -inline ssize_t -ACE_FILE_IO::recv_n (void *buf, size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::recv_n"); - return ACE::read_n (this->get_handle (), buf, n); -} - -inline ssize_t -ACE_FILE_IO::send (const void *buf, size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - return ACE_OS::write (this->get_handle (), (const char *) buf, n); -} - -inline ssize_t -ACE_FILE_IO::recv (void *buf, size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - return ACE_OS::read (this->get_handle (), (char *) buf, n); -} - -inline ssize_t -ACE_FILE_IO::send (const iovec iov[], size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - return ACE_OS::writev (this->get_handle (), (iovec *) iov, n); -} - -inline ssize_t -ACE_FILE_IO::recv (iovec iov[], size_t n) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - return ACE_OS::readv (this->get_handle (), (iovec *) iov, n); -} - -#if defined (ACE_HAS_STREAM_PIPES) -inline ssize_t -ACE_FILE_IO::recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *band, int *flags) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - return ACE_OS::getpmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, band, flags); -} - -inline ssize_t -ACE_FILE_IO::send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int band, int flags) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - return ACE_OS::putpmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, band, flags); -} - -inline ssize_t -ACE_FILE_IO::recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *flags) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - return ACE_OS::getmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, flags); -} - -inline ssize_t -ACE_FILE_IO::send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int flags) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - return ACE_OS::putmsg (this->get_handle (), (strbuf *) cntl, (strbuf *) data, flags); -} - -inline ssize_t -ACE_FILE_IO::send (const void *buf, size_t n, - ACE_OVERLAPPED *overlapped) const -{ - ACE_TRACE ("ACE_FILE_IO::send"); - return ACE_OS::write (this->get_handle (), - (const char *) buf, n, - overlapped); -} - -inline ssize_t -ACE_FILE_IO::recv (void *buf, size_t n, - ACE_OVERLAPPED *overlapped) const -{ - ACE_TRACE ("ACE_FILE_IO::recv"); - return ACE_OS::read (this->get_handle (), (char *) buf, n, - overlapped); -} -#endif /* ACE_HAS_STREAM_PIPES */ diff --git a/ace/Filecache.cpp b/ace/Filecache.cpp deleted file mode 100644 index 2737ca1c35c..00000000000 --- a/ace/Filecache.cpp +++ /dev/null @@ -1,743 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL - -#include "ace/Filecache.h" -#include "ace/Object_Manager.h" - -#if defined (__BORLANDC__) //VSB -// Third parameter will be ignored in ACE_OS::open -static const int R_MASK = 0; -static const int W_MASK = 0; -#else -static const int R_MASK = S_IRUSR|S_IRGRP|S_IROTH; -static const int W_MASK = S_IRUSR|S_IRGRP|S_IROTH|S_IWUSR|S_IWGRP|S_IWOTH; -#endif /* __BORLANDC__ */ - -#if defined (ACE_WIN32) -// See if you can get rid of some of these. -static const int READ_FLAGS = (FILE_FLAG_SEQUENTIAL_SCAN | - FILE_FLAG_OVERLAPPED | - O_RDONLY); -// static const int RCOPY_FLAGS = (FILE_FLAG_SEQUENTIAL_SCAN | -// O_RDONLY); -static const int WRITE_FLAGS = (FILE_FLAG_SEQUENTIAL_SCAN | - FILE_FLAG_OVERLAPPED | - O_RDWR | O_CREAT | O_TRUNC); -// static const int WCOPY_FLAGS = (FILE_FLAG_SEQUENTIAL_SCAN | -// O_RDWR | O_CREAT | O_TRUNC); -#else -static const int READ_FLAGS = O_RDONLY; -// static const int RCOPY_FLAGS = O_RDONLY; -static const int WRITE_FLAGS = O_RDWR | O_CREAT | O_TRUNC; -// static const int WCOPY_FLAGS = O_RDWR | O_CREAT | O_TRUNC; -#endif /* ACE_WIN32 */ - -// static data members -ACE_Filecache *ACE_Filecache::cvf_ = 0; - -void -ACE_Filecache_Handle::init (void) -{ - this->file_ = 0; - this->handle_ = ACE_INVALID_HANDLE; -} - -ACE_Filecache_Handle::ACE_Filecache_Handle (void) -{ - this->init (); -} - -ACE_Filecache_Handle::ACE_Filecache_Handle (const char *filename, - ACE_Filecache_Flag mapit) - : mapit_ (mapit) -{ - this->init (); - // Fetch the file from the Virtual_Filesystem let the - // Virtual_Filesystem do the work of cache coherency. - - // Filecache will also do the acquire, since it holds the lock at - // that time. - this->file_ = ACE_Filecache::instance ()->fetch (filename, mapit); -} - -ACE_Filecache_Handle::ACE_Filecache_Handle (const char *filename, - int size, - ACE_Filecache_Flag mapit) - : mapit_ (mapit) -{ - this->init (); - // Since this is being opened for a write, simply create a new - // ACE_Filecache_Object now, and let the destructor add it into CVF - // later - - // Filecache will also do the acquire, since it holds the lock at - // that time. - this->file_ = ACE_Filecache::instance ()->create (filename, size); -} - -ACE_Filecache_Handle::~ACE_Filecache_Handle (void) -{ - if (this->handle_ != ACE_INVALID_HANDLE) - // this was dup ()'d - ACE_OS::close (this->handle_); - - ACE_Filecache::instance ()->finish (this->file_); -} - -void * -ACE_Filecache_Handle::address (void) const -{ - return this->file_ == 0 ? 0 : this->file_->address (); -} - -ACE_HANDLE -ACE_Filecache_Handle::handle (void) const -{ - if (this->handle_ == ACE_INVALID_HANDLE && this->file_ != 0) - { - ACE_Filecache_Handle *mutable_this = - (ACE_Filecache_Handle *) this; - mutable_this->handle_ = ACE_OS::dup (this->file_->handle ()); - } - return this->handle_; -} - -int -ACE_Filecache_Handle::error (void) const -{ - if (this->file_ == 0) - return -1; - else - return this->file_->error (); -} - -size_t -ACE_Filecache_Handle::size (void) const -{ - if (this->file_ == 0) - return (size_t) -1; - else - return this->file_->size (); -} - - -// ------------------ -// ACE_Filecache_Hash -// ------------------ - -#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION) - -#define ACE_Filecache_Hash \ - ACE_Hash_Map_Manager -#define ACE_Filecache_Hash_Entry \ - ACE_Hash_Map_Entry - -ACE_Filecache_Hash_Entry::ACE_Hash_Map_Entry (const char *const &ext_id, - ACE_Filecache_Object *const &int_id, - ACE_Filecache_Hash_Entry *next, - ACE_Filecache_Hash_Entry *prev) - : ext_id_ (ext_id ? ACE_OS::strdup (ext_id) : ACE_OS::strdup ("")), - int_id_ (int_id), - next_ (next), - prev_ (prev) -{ -} - -ACE_Filecache_Hash_Entry::ACE_Hash_Map_Entry (ACE_Filecache_Hash_Entry *next, - ACE_Filecache_Hash_Entry *prev) - : ext_id_ (0), - next_ (next), - prev_ (prev) -{ -} - -ACE_Filecache_Hash_Entry::~ACE_Hash_Map_Entry (void) -{ - ACE_OS::free ((void *) ext_id_); -} - -// We need these template specializations since KEY is defined as a -// char*, which doesn't have a hash() or equal() method defined on it. - -long unsigned int -ACE_Filecache_Hash::hash (const char *const &ext_id) -{ - return ACE::hash_pjw (ext_id); -} - -int -ACE_Filecache_Hash::equal (const char *const &id1, const char *const &id2) -{ - return ACE_OS::strcmp (id1, id2) == 0; -} - -#undef ACE_Filecache_Hash -#undef ACE_Filecache_Hash_Entry - -#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ - - -// ------------- -// ACE_Filecache -// ------------- - -ACE_Filecache * -ACE_Filecache::instance (void) -{ - // Double check locking pattern. - if (ACE_Filecache::cvf_ == 0) - { - ACE_SYNCH_RW_MUTEX &lock = - *ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_FILECACHE_LOCK); - ACE_Guard m (lock); - - // @@ James, please check each of the ACE_NEW_RETURN calls to - // make sure that it is safe to return if allocation fails. - if (ACE_Filecache::cvf_ == 0) - ACE_NEW_RETURN (ACE_Filecache::cvf_, ACE_Filecache, 0); - } - - return ACE_Filecache::cvf_; -} - -ACE_Filecache::ACE_Filecache (void) - : size_ (DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE), - hash_ (this->size_) -{ -} - -ACE_Filecache::~ACE_Filecache (void) -{ -} - -ACE_Filecache_Object * -ACE_Filecache::insert_i (const char *filename, - ACE_SYNCH_RW_MUTEX &filelock, - int mapit) -{ - ACE_Filecache_Object *handle = 0; - - if (this->hash_.find (filename, handle) == -1) - { - ACE_NEW_RETURN (handle, - ACE_Filecache_Object (filename, filelock, 0, mapit), - 0); - - ACE_DEBUG ((LM_DEBUG, " (%t) CVF: creating %s\n", filename)); - - if (this->hash_.bind (filename, handle) == -1) - { - delete handle; - handle = 0; - } - } - else - handle = 0; - - return handle; -} - -ACE_Filecache_Object * -ACE_Filecache::remove_i (const char *filename) -{ - ACE_Filecache_Object *handle = 0; - - // Disassociate file from the cache. - if (this->hash_.unbind (filename, handle) == 0) - { - handle->stale_ = 1; - - // Try a lock. If it succeds, we can delete it now. - // Otherwise, it will clean itself up later. - if (handle->lock_.tryacquire_write () == 0) - { - delete handle; - handle = 0; - } - } - else - handle = 0; - - return handle; -} - -ACE_Filecache_Object * -ACE_Filecache::update_i (const char *filename, - ACE_SYNCH_RW_MUTEX &filelock, - int mapit) -{ - ACE_Filecache_Object *handle = 0; - - // Just in case someone removed it - if (this->hash_.find (filename, handle) == -1) - { - ACE_NEW_RETURN (handle, - ACE_Filecache_Object (filename, filelock, 0, mapit), - 0); - - ACE_DEBUG ((LM_DEBUG, " (%t) CVF: creating %s\n", filename)); - - if (this->hash_.bind (filename, handle) == -1) - { - delete handle; - handle = 0; - } - } - else - { - if (handle->update ()) - { - handle = this->remove_i (filename); - - ACE_NEW_RETURN (handle, - ACE_Filecache_Object (filename, filelock, 0, mapit), - 0); - - ACE_DEBUG ((LM_DEBUG, " (%t) CVF: updating %s\n", filename)); - - if (this->hash_.bind (filename, handle) == -1) - { - delete handle; - handle = 0; - } - } - } - - return handle; -} - -int -ACE_Filecache::find (const char *filename) -{ - return this->hash_.find (filename); -} - - -ACE_Filecache_Object * -ACE_Filecache::fetch (const char *filename, int mapit) -{ - ACE_Filecache_Object *handle = 0; - - u_long loc = ACE::hash_pjw (filename) % this->size_; - ACE_SYNCH_RW_MUTEX &hashlock = this->hash_lock_[loc]; - ACE_SYNCH_RW_MUTEX &filelock = this->file_lock_[loc]; - - filelock.acquire_read (); - - if (this->hash_.find (filename, handle) == -1) - { - ACE_Write_Guard m (hashlock); - - // Second check in the method call - handle = this->insert_i (filename, filelock, mapit); - - if (handle == 0) - filelock.release (); - } - else - { - if (handle->update ()) - { - filelock.release (); - { - // Double check locking pattern - ACE_Write_Guard m (hashlock); - - // Second check in the method call - handle = this->update_i (filename, filelock, mapit); - } - - if (handle) - filelock.acquire_read (); - } - ACE_DEBUG ((LM_DEBUG, " (%t) CVF: found %s\n", filename)); - } - - return handle; -} - -ACE_Filecache_Object * -ACE_Filecache::create (const char *filename, int size) -{ - ACE_Filecache_Object *handle = 0; - - u_long loc = ACE::hash_pjw (filename) % this->size_; - ACE_SYNCH_RW_MUTEX &filelock = this->file_lock_[loc]; - - ACE_NEW_RETURN (handle, - ACE_Filecache_Object (filename, size, filelock), - 0); - handle->acquire (); - - return handle; -} - -ACE_Filecache_Object * -ACE_Filecache::finish (ACE_Filecache_Object *&file) -{ - if (file == 0) - return file; - - u_long loc = ACE::hash_pjw (file->filename_) % this->size_; - ACE_SYNCH_RW_MUTEX &hashlock = this->hash_lock_[loc]; - - if (file != 0) - switch (file->action_) - { - case ACE_Filecache_Object::WRITING: - { - ACE_Write_Guard m (hashlock); - - file->release (); - - this->remove_i ((char *) file->filename_); -#if 0 - int result = this->hash_.bind (file->filename (), file); - - if (result == 0) - file->acquire (); -#else - // Last one using a stale file is resposible for deleting it. - if (file->stale_) - { - // Try a lock. If it succeds, we can delete it now. - // Otherwise, it will clean itself up later. - if (file->lock_.tryacquire_write () == 0) - { - delete file; - file = 0; - } - } -#endif - } - - break; - default: - file->release (); - - // Last one using a stale file is resposible for deleting it. - if (file->stale_) - { - // Try a lock. If it succeds, we can delete it now. - // Otherwise, it will clean itself up later. - if (file->lock_.tryacquire_write () == 0) - { - delete file; - file = 0; - } - } - - break; - } - - return file; -} - -void -ACE_Filecache_Object::init (void) -{ - this->filename_[0] = '\0'; - this->handle_ = ACE_INVALID_HANDLE; - this->error_ = SUCCESS; - this->tempname_ = 0; - this->size_ = 0; - - ACE_OS::memset (&(this->stat_), 0, sizeof (this->stat_)); -} - -ACE_Filecache_Object::ACE_Filecache_Object (void) - : stale_ (0), - lock_ (junklock_) -{ - this->init (); -} - -ACE_Filecache_Object::ACE_Filecache_Object (const char *filename, - ACE_SYNCH_RW_MUTEX &lock, - LPSECURITY_ATTRIBUTES sa, - int mapit) - : stale_ (0), - sa_ (sa), - lock_ (lock) -{ - this->init (); - - // ASSERT strlen(filename) < sizeof (this->filename_) - ACE_OS::strcpy (this->filename_, filename); - this->action_ = ACE_Filecache_Object::READING; - // place ourselves into the READING state - - // Can we access the file? - if (ACE_OS::access (this->filename_, R_OK) == -1) - { - this->error_i (ACE_Filecache_Object::ACCESS_FAILED); - return; - } - - // Can we stat the file? - if (ACE_OS::stat (this->filename_, &this->stat_) == -1) - { - this->error_i (ACE_Filecache_Object::STAT_FAILED); - return; - } - - this->size_ = this->stat_.st_size; - this->tempname_ = (char *) this->filename_; - - // Can we open the file? - this->handle_ = ACE_OS::open (this->tempname_, - READ_FLAGS, R_MASK, this->sa_); - if (this->handle_ == ACE_INVALID_HANDLE) - { - this->error_i (ACE_Filecache_Object::OPEN_FAILED, - "ACE_Filecache_Object::ctor: open"); - return; - } - - if (mapit) - { - // Can we map the file? - if (this->mmap_.map (this->handle_, -1, - PROT_READ, MAP_PRIVATE, 0, 0, this->sa_) != 0) - { - this->error_i (ACE_Filecache_Object::MEMMAP_FAILED, - "ACE_Filecache_Object::ctor: map"); - ACE_OS::close (this->handle_); - this->handle_ = ACE_INVALID_HANDLE; - return; - } - } - - // Ok, finished! - this->action_ = ACE_Filecache_Object::READING; -} - -ACE_Filecache_Object::ACE_Filecache_Object (const char *filename, - int size, - ACE_SYNCH_RW_MUTEX &lock, - LPSECURITY_ATTRIBUTES sa) - : stale_ (0), - sa_ (sa), - lock_ (lock) -{ - this->init (); - - this->size_ = size; - ACE_OS::strcpy (this->filename_, filename); - this->action_ = ACE_Filecache_Object::WRITING; - - // Can we access the file? - if (ACE_OS::access (this->filename_, R_OK|W_OK) == -1 - // Does it exist? - && ACE_OS::access (this->filename_, F_OK) != -1) - { - // File exists, but we cannot access it. - this->error_i (ACE_Filecache_Object::ACCESS_FAILED); - return; - } - - this->tempname_ = this->filename_; - - // Can we open the file? - this->handle_ = ACE_OS::open (this->tempname_, WRITE_FLAGS, W_MASK, this->sa_); - if (this->handle_ == ACE_INVALID_HANDLE) - { - this->error_i (ACE_Filecache_Object::OPEN_FAILED, - "ACE_Filecache_Object::acquire: open"); - return; - } - - // Can we seek? - if (ACE_OS::lseek (this->handle_, this->size_ - 1, SEEK_SET) == -1) - { - this->error_i (ACE_Filecache_Object::OPEN_FAILED, - "ACE_Filecache_Object::acquire: lseek"); - ACE_OS::close (this->handle_); - return; - } - - // Can we write? - if (ACE_OS::write (this->handle_, "", 1) != 1) - { - this->error_i (ACE_Filecache_Object::WRITE_FAILED, - "ACE_Filecache_Object::acquire: write"); - ACE_OS::close (this->handle_); - return; - } - - // Can we map? - if (this->mmap_.map (this->handle_, this->size_, PROT_RDWR, MAP_SHARED, - 0, 0, this->sa_) != 0) - { - this->error_i (ACE_Filecache_Object::MEMMAP_FAILED, - "ACE_Filecache_Object::acquire: map"); - ACE_OS::close (this->handle_); - } - - // Ok, done! -} - -ACE_Filecache_Object::~ACE_Filecache_Object (void) -{ - if (this->error_ == SUCCESS) - { - this->mmap_.unmap (); - ACE_OS::close (this->handle_); - this->handle_ = ACE_INVALID_HANDLE; - } -} - -int -ACE_Filecache_Object::acquire (void) -{ - return this->lock_.tryacquire_read (); -} - -int -ACE_Filecache_Object::release (void) -{ - if (this->action_ == WRITING) - { - // We are safe since only one thread has a writable Filecache_Object - -#if 0 - ACE_HANDLE original = ACE_OS::open (this->filename_, WRITE_FLAGS, W_MASK, - this->sa_); - if (original == ACE_INVALID_HANDLE) - this->error_ = ACE_Filecache_Object::OPEN_FAILED; - else if (ACE_OS::write (original, this->mmap_.addr (), - this->size_) == -1) - { - this->error_ = ACE_Filecache_Object::WRITE_FAILED; - ACE_OS::close (original); - ACE_OS::unlink (this->filename_); - } - else if (ACE_OS::stat (this->filename_, &this->stat_) == -1) - this->error_ = ACE_Filecache_Object::STAT_FAILED; -#endif - - this->mmap_.unmap (); - ACE_OS::close (this->handle_); - this->handle_ = ACE_INVALID_HANDLE; - -#if 0 - // Leave the file in an acquirable state. - this->handle_ = ACE_OS::open (this->tempname_, READ_FLAGS, R_MASK); - if (this->handle_ == ACE_INVALID_HANDLE) - { - this->error_i (ACE_Filecache_Object::OPEN_FAILED, - "ACE_Filecache_Object::acquire: open"); - } - else if (this->mmap_.map (this->handle_, -1, - PROT_READ, - MAP_PRIVATE, - 0, - 0, - this->sa_) != 0) - { - this->error_i (ACE_Filecache_Object::MEMMAP_FAILED, - "ACE_Filecache_Object::acquire: map"); - ACE_OS::close (this->handle_); - this->handle_ = ACE_INVALID_HANDLE; - } - - this->action_ = ACE_Filecache_Object::READING; -#endif - } - - return this->lock_.release (); -} - -int -ACE_Filecache_Object::error (void) const -{ - // The existence of the object means a read lock is being held. - return this->error_; -} - -int -ACE_Filecache_Object::error_i (int error_value, const char *s) -{ - s = s; - ACE_ERROR ((LM_ERROR, "%p.\n", s)); - this->error_ = error_value; - return error_value; -} - -const char * -ACE_Filecache_Object::filename (void) const -{ - // The existence of the object means a read lock is being held. - return this->filename_; -} - -size_t -ACE_Filecache_Object::size (void) const -{ - // The existence of the object means a read lock is being held. - return this->size_; -} - -ACE_HANDLE -ACE_Filecache_Object::handle (void) const -{ - // The existence of the object means a read lock is being held. - return this->handle_; -} - -void * -ACE_Filecache_Object::address (void) const -{ - // The existence of the object means a read lock is being held. - return this->mmap_.addr (); -} - -int -ACE_Filecache_Object::update (void) const -{ - // The existence of the object means a read lock is being held. - int result; - struct stat statbuf; - - if (ACE_OS::stat (this->filename_, &statbuf) == -1) - result = 1; - else - // non-portable code may follow - result = ACE_OS::difftime (this->stat_.st_mtime, statbuf.st_mtime) < 0; - - return result; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION) -template class ACE_Hash_Map_Entry; -template class ACE_Hash_Map_Manager; -template class ACE_Hash_Map_Iterator; -template class ACE_Hash_Map_Iterator_Base; -template class ACE_Hash_Map_Reverse_Iterator; -#else -template class ACE_Hash_Map_Entry; -template class ACE_Hash_Map_Manager; -template class ACE_Hash_Map_Iterator; -template class ACE_Hash_Map_Iterator_Base; -template class ACE_Hash_Map_Reverse_Iterator; -template class ACE_Hash_Map_Iterator_Base; -#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION) -#pragma instantiate ACE_Hash_Map_Entry -#pragma instantiate ACE_Hash_Map_Manager -#pragma instantiate ACE_Hash_Map_Iterator -#pragma instantiate ACE_Hash_Map_Iterator_Base -#pragma instantiate ACE_Hash_Map_Reverse_Iterator -#pragma instantiate ACE_Hash_Map_Iterator_Base -#else -#pragma instantiate ACE_Hash_Map_Entry -#pragma instantiate ACE_Hash_Map_Manager -#pragma instantiate ACE_Hash_Map_Iterator -#pragma instantiate ACE_Hash_Map_Reverse_Iterator -#pragma instantiate ACE_Hash_Map_Iterator_Base -#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ace/Filecache.h b/ace/Filecache.h deleted file mode 100644 index 5ffdd57a60f..00000000000 --- a/ace/Filecache.h +++ /dev/null @@ -1,350 +0,0 @@ -/* -*- c++ -*- */ -// Hey, Emacs! This is a C++ file! -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Filecache.h -// -// = AUTHOR -// James Hu -// -// ============================================================================ - -#if !defined (ACE_FILECACHE_H) -#define ACE_FILECACHE_H - -#include "ace/Mem_Map.h" -#include "ace/Synch_T.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/SString.h" - -enum ACE_Filecache_Flag -{ - NOMAP = 0, - MAPIT = 1 -}; - -// = Forward declarations. -ACE_DECLARE_EXPORT(class, ACE_Filecache); -ACE_DECLARE_EXPORT(class, ACE_Filecache_Handle); -class ACE_Filecache_Object; - -class ACE_Filecache_Handle -{ - // = TITLE - // Abstraction over a real file. This is meant to be the entry - // point into the Cached Virtual Filesystem. - // - // = DESCRIPTION - // This is a cached filesystem implementation based loosely on the - // implementation of JAWS_File. The interfaces will be nearly the - // same. The under-the-hood implementation should hopefully be a - // much faster thing. - // - // These will be given their own implementations later. For now, we - // borrow the implementation provided by JAWS. - // - // On creation, the cache is checked, and reference count is - // incremented. On destruction, reference count is decremented. If - // the reference count is 0, the file is removed from the cache. - // - // E.g. 1, - // { - // ACE_Filecache_Handle foo("foo.html"); - // this->peer ().send (foo.address (), foo.size ()); - // } - // - // E.g. 2, - // { - // ACE_Filecache_Handle foo("foo.html"); - // io->transmitfile (foo.handle (), this->peer ().handle ()); - // } - // - // E.g. 3, - // { - // ACE_Filecache_Handle foo("foo.html", content_length); - // this->peer ().recv (foo.address (), content_length); - // } - // - // TODO: - - // (1) Get rid of the useless copying of files when reading. Although - // it does make sure the file you send isn't being changed, it doesn't - // make sure the file is in a sensible state before sending it. - - // Alternative: if the file get's trashed while it is being shipped, let - // the client request the file again. The cache should have an updated - // copy by that point. - - // (2) Use hashing for locating files. This means I need a hastable - // implementation with buckets. - - // (3) Only lock when absolutely necessary. JAWS_Virtual_Filesystem was - // rather conservative, but for some reason it still ran into problems. - // Since this design should be simpler, problems should be easier to spot. - // -public: - - ACE_Filecache_Handle (const char *filename, - ACE_Filecache_Flag mapit = MAPIT); - // Query cache for file, and acquire it. Assumes the file is being - // opened for reading. - - ACE_Filecache_Handle (const char *filename, - int size, - ACE_Filecache_Flag mapit = MAPIT); - // Create new entry, and acquire it. Presence of SIZE assumes the - // file is being opened for writing. - - ~ACE_Filecache_Handle (void); - // Closes any open handles, release acquired file. - - void *address (void) const; - // Base address of memory mapped file. - - ACE_HANDLE handle (void) const; - // A handle (e.g., UNIX file descriptor, or NT file handle). - - int error (void) const; - // Any associated error in handle creation and acquisition. - - size_t size (void) const; - // The size of the file. - -protected: - - ACE_Filecache_Handle (void); - // Default do nothing constructor. Prevent it from being called. - - void init (void); - // Common initializations for constructors. - -public: - - // These come from ACE_Filecache_Object, which is an internal class. - enum - { - SUCCESS = 0, - ACCESS_FAILED, - OPEN_FAILED, - COPY_FAILED, - STAT_FAILED, - MEMMAP_FAILED, - WRITE_FAILED - }; - -private: - ACE_Filecache_Object *file_; - // A reference to the low level instance. - - ACE_HANDLE handle_; - // A dup()'d version of the one from this->file_. - - int mapit_; -}; - -#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION) -typedef ACE_Hash_Map_Entry - ACE_Filecache_Hash_Entry; - -typedef ACE_Hash_Map_Manager - ACE_Filecache_Hash; -#else -typedef ACE_Hash_Map_Entry - ACE_Filecache_Hash_Entry; - -typedef ACE_Hash_Map_Manager - ACE_Filecache_Hash; -#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */ - -class ACE_Filecache -{ - // = TITLE - // A hash table holding the information about entry point into - // the Cached Virtual Filesystem. On insertion, the reference - // count is incremented. On destruction, reference count is - // decremented. -public: - static ACE_Filecache *instance (void); - // Singleton pattern. - - ~ACE_Filecache (void); - - int find (const char *filename); - // Returns 0 if the file associated with ``filename'' is in the cache, - // or -1 if not. - - ACE_Filecache_Object *fetch (const char *filename, int mapit = 1); - // Return the file associated with ``filename'' if it is in the cache, - // or create if not. - - ACE_Filecache_Object *remove (const char *filename); - // Remove the file associated with ``filename'' from the cache. - - ACE_Filecache_Object *create (const char *filename, int size); - // Create a new Filecache_Object, returns it. - - ACE_Filecache_Object *finish (ACE_Filecache_Object *&new_file); - // Release an acquired Filecache_Object, returns it again or NULL if it - // was deleted. - -protected: - ACE_Filecache_Object *insert_i (const char *filename, - ACE_SYNCH_RW_MUTEX &filelock, - int mapit); - ACE_Filecache_Object *remove_i (const char *filename); - ACE_Filecache_Object *update_i (const char *filename, - ACE_SYNCH_RW_MUTEX &filelock, - int mapit); - -public: - - enum - { - DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE = 512, - // For this stupid implementation, use an array. Someday, use a - // balanced search tree, or real hash table. - - DEFAULT_VIRTUAL_FILESYSTEM_CACHE_SIZE = 20 - // This determines the highwater mark in megabytes for the cache. - // This will be ignored for now. - }; - -protected: - ACE_Filecache (void); - // Prevent it from being called. - -private: - int size_; - - ACE_Filecache_Hash hash_; - // The hash table - - static ACE_Filecache *cvf_; - // The reference to the instance - - // = Synchronization variables. - ACE_SYNCH_RW_MUTEX hash_lock_[DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE]; - ACE_SYNCH_RW_MUTEX file_lock_[DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE]; -}; - -class ACE_Filecache_Object -{ - // = TITLE - // Abstraction over a real file. This is what the Virtual - // Filesystem contains. This class is not intended for general - // consumption. Please consult a physician before attempting to - // use this class. -public: - friend class ACE_Filecache; - - ACE_Filecache_Object (const char *filename, - ACE_SYNCH_RW_MUTEX &lock, - LPSECURITY_ATTRIBUTES sa = 0, - int mapit = 1); - // Creates a file for reading. - - ACE_Filecache_Object (const char *filename, - int size, - ACE_SYNCH_RW_MUTEX &lock, - LPSECURITY_ATTRIBUTES sa = 0); - // Creates a file for writing. - - ~ACE_Filecache_Object (void); - // Only if reference count is zero should this be called. - - int acquire (void); - // Increment the reference_count_. - - int release (void); - // Decrement the reference_count_. - - // = error_ accessors - int error (void) const; - int error (int error_value, - const char *s = "ACE_Filecache_Object"); - - const char *filename (void) const; - // filename_ accessor - - ACE_HANDLE handle (void) const; - // handle_ accessor. - - void *address (void) const; - // Base memory address for memory mapped file. - - size_t size (void) const; - // size_ accessor. - - int update (void) const; - // True if file on disk is newer than cached file. - -protected: - ACE_Filecache_Object (void); - // Prevent from being called. - - void init (void); - // Common initialization code, - -private: - int error_i (int error_value, - const char *s = "ACE_Filecache_Object"); - // Internal error logging method, no locking. - -public: - - enum Creation_States - { - READING = 1, - WRITING = 2 - }; - - enum Error_Conditions - { - SUCCESS = 0, - ACCESS_FAILED, - OPEN_FAILED, - COPY_FAILED, - STAT_FAILED, - MEMMAP_FAILED, - WRITE_FAILED - }; - -private: - char *tempname_; - char filename_[MAXPATHLEN + 1]; - // The temporary file name and the real file name. The real file is - // copied into the temporary file for safety reasons. - - ACE_Mem_Map mmap_; - ACE_HANDLE handle_; - // mmap_ holds the memory mapped version of the temporary file. - // handle_ is the descriptor to the temporary file. - - struct stat stat_; - size_t size_; - // Used to compare against the real file to test if an update is needed. - - int action_; - int error_; - // Status indicators. - - int stale_; - // If set to 1, means the object is flagged for removal. - - LPSECURITY_ATTRIBUTES sa_; - // Security attribute object. - - ACE_SYNCH_RW_MUTEX junklock_; - ACE_SYNCH_RW_MUTEX &lock_; - // lock_ provides a bookkeeping mechanism for users of this object. - // junklock_ is the default initializer -}; - - -#endif /* ACE_FILECACHE_H */ diff --git a/ace/Free_List.cpp b/ace/Free_List.cpp deleted file mode 100644 index f9400f37820..00000000000 --- a/ace/Free_List.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#if !defined (ACE_FREE_LIST_C) -#define ACE_FREE_LIST_C - -#include "ace/Free_List.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Free_List.i" -#endif /* __ACE_INLINE__ */ - -// Empty constructor - -template -ACE_Free_List::~ACE_Free_List (void) -{ - // Nothing -} - -// Default constructor that takes in a preallocation number -// (), a low and high water mark ( and ) and an -// increment value () - -template -ACE_Locked_Free_List::ACE_Locked_Free_List (int mode, - size_t prealloc, - size_t lwm, - size_t hwm, - size_t inc) - : mode_ (mode), - free_list_ (0), - lwm_ (lwm), - hwm_ (hwm), - inc_ (inc), - size_ (0) -{ - this->alloc (prealloc); -} - -// Destructor - removes all the elements from the free_list - -template -ACE_Locked_Free_List::~ACE_Locked_Free_List (void) -{ - if (this->mode_ != ACE_PURE_FREE_LIST) - while (this->free_list_ != 0) - { - T *temp = this->free_list_; - this->free_list_ = this->free_list_->get_next (); - delete temp; - } -} - -// Allocates extra nodes for the freelist - -template void -ACE_Locked_Free_List::alloc (size_t n) -{ - ACE_MT (ACE_GUARD (ACE_LOCK, ace_mon, this->mutex_)); - - for (; n > 0; n--) - { - T *temp; - ACE_NEW (temp, T); - temp->set_next (this->free_list_); - this->free_list_ = temp; - this->size_++; - } -} - -// Removes and frees nodes from the freelist. - -template void -ACE_Locked_Free_List::dealloc (size_t n) -{ - ACE_MT (ACE_GUARD (ACE_LOCK, ace_mon, this->mutex_)); - - for (; this->free_list_ != 0 && n > 0; - n--) - { - T *temp = this->free_list_; - this->free_list_ = this->free_list_->get_next (); - delete temp; - this->size_--; - } -} - -#endif /* ACE_FREE_LIST_C */ diff --git a/ace/Free_List.h b/ace/Free_List.h deleted file mode 100644 index 959ede733a0..00000000000 --- a/ace/Free_List.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- C++ -*- */ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Free_List.h -// -// = AUTHOR -// Darrell Brunsch (brunsch@cs.wustl.edu) -// -// ============================================================================ - -#if !defined (ACE_FREE_LIST_H) -#define ACE_FREE_LIST_H - -#include "ace/OS.h" -#include "ace/Synch_T.h" - -template -class ACE_Free_List -{ - // = TITLE - // Implements a free list. - // - // = DESCRIPTION - // This class maintains a free list of nodes of type T. -public: - virtual ~ACE_Free_List (void); - // Destructor - removes all the elements from the free_list. - - virtual void add (T *element) = 0; - // Inserts an element onto the free list (if it isn't past the high - // water mark). - - virtual T *remove (void) = 0; - // Takes a element off the freelist and returns it. It creates - // new elements if the size is at or below the low water mark. - - virtual size_t size (void) = 0; - // Returns the current size of the free list. - - virtual void resize (size_t newsize) = 0; - // Resizes the free list to . -}; - -template -class ACE_Locked_Free_List : public ACE_Free_List -{ - // = TITLE - // Implements a free list. - // - // = DESCRIPTION - // This class maintains a free list of nodes of type T. It depends on - // the type T having a get_next () and set_next () method. It maintains - // a mutex so the freelist can be used in a multithreaded program . -public: - // = Initialization and termination. - ACE_Locked_Free_List (int mode = ACE_FREE_LIST_WITH_POOL, - size_t prealloc = ACE_DEFAULT_FREE_LIST_PREALLOC, - size_t lwm = ACE_DEFAULT_FREE_LIST_LWM, - size_t hwm = ACE_DEFAULT_FREE_LIST_HWM, - size_t inc = ACE_DEFAULT_FREE_LIST_INC); - // Constructor takes a (i.e., ACE_FREE_LIST_WITH_POOL or - // ACE_PURE_FREE_LIST), a count of the number of nodes to - // , a low and high water mark ( and ) that - // indicate when to allocate more nodes, an increment value () - // that indicates how many nodes to allocate when the list must - // grow. - - virtual ~ACE_Locked_Free_List (void); - // Destructor - removes all the elements from the free_list. - - virtual void add (T *element); - // Inserts an element onto the free list (if it isn't past the high - // water mark). - - virtual T *remove (void); - // Takes a element off the freelist and returns it. It creates - // new elements if the size is at or below the low water mark. - - virtual size_t size (void); - // Returns the current size of the free list. - - virtual void resize (size_t newsize); - // Resizes the free list to . - -protected: - virtual void alloc (size_t n); - // Allocates extra nodes for the freelist. - - virtual void dealloc (size_t n); - // Removes and frees nodes from the freelist. - - int mode_; - // Free list operation mode, either ACE_FREE_LIST_WITH_POOL or - // ACE_PURE_FREE_LIST. - - T *free_list_; - // Pointer to the first node in the freelist. - - size_t lwm_; - // Low water mark. - - size_t hwm_; - // High water mark. - - size_t inc_; - // Increment value. - - size_t size_; - // Keeps track of the size of the list. - - ACE_LOCK mutex_; - // Synchronization variable for . - -private: - // = Don't allow these operations for now. - ACE_UNIMPLEMENTED_FUNC (ACE_Locked_Free_List (const ACE_Locked_Free_List &)) - ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Locked_Free_List &)) -}; - -#if defined (__ACE_INLINE__) -#include "ace/Free_List.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Free_List.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Free_List.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_FREE_LIST_H */ diff --git a/ace/Free_List.i b/ace/Free_List.i deleted file mode 100644 index 70b68ffc26a..00000000000 --- a/ace/Free_List.i +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- C++ -*- */ - -// Inserts an element onto the free list (if we are allowed to manage -// elements withing and it pasts the high water mark, delete the -// element) - -template ACE_INLINE void -ACE_Locked_Free_List::add (T *element) -{ - ACE_MT (ACE_GUARD (ACE_LOCK, ace_mon, this->mutex_)); - - // Check to see that we not at the high water mark. - if (this->mode_ == ACE_PURE_FREE_LIST - || this->size_ < this->hwm_) - { - element->set_next (this->free_list_); - this->free_list_ = element; - this->size_++; - } - else - delete element; -} - -// Takes a element off the freelist and returns it. It creates -// new elements if we are allowed to do it and the size is at the low -// water mark. - -template ACE_INLINE T * -ACE_Locked_Free_List::remove (void) -{ - ACE_MT (ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->mutex_, 0)); - - // If we are at the low water mark, add some nodes - if (this->mode_ != ACE_PURE_FREE_LIST && this->size_ <= this->lwm_) - this->alloc (this->inc_); - - // Remove a node - T *temp = this->free_list_; - - if (temp != 0) - { - this->free_list_ = this->free_list_->get_next (); - this->size_--; - } - - return temp; -} - - -// Returns the current size of the free list - -template ACE_INLINE size_t -ACE_Locked_Free_List::size (void) -{ - return this->size_; -} - -// Resizes the free list to - -template ACE_INLINE void -ACE_Locked_Free_List::resize (size_t newsize) -{ - ACE_MT (ACE_GUARD (ACE_LOCK, ace_mon, this->mutex_)); - - // Check if we are allowed to resize - if (this->mode_ != ACE_PURE_FREE_LIST) - // Check to see if we grow or shrink - if (newsize < this->size_) - this->dealloc (this->size_ - newsize); - else - this->alloc (newsize - this->size_); -} - - diff --git a/ace/Future.cpp b/ace/Future.cpp deleted file mode 100644 index 0b269abd850..00000000000 --- a/ace/Future.cpp +++ /dev/null @@ -1,315 +0,0 @@ -// Future.cpp -// $Id$ - -#define ACE_BUILD_DLL - -#if !defined (ACE_FUTURE_CPP) -#define ACE_FUTURE_CPP - -#include "ace/Future.h" - -#if defined (ACE_HAS_THREADS) - -// Dump the state of an object. - -template void -ACE_Future_Rep::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "ref_count_ = %d\n", - (int) this->ref_count_)); - ACE_DEBUG ((LM_INFO,"value_: \n")); - if (this->value_) - ACE_DEBUG ((LM_DEBUG," (NON-NULL)\n")); - else - ACE_DEBUG ((LM_DEBUG," (NULL)\n")); - - ACE_DEBUG ((LM_INFO,"value_ready_: \n")); - this->value_ready_.dump (); - ACE_DEBUG ((LM_INFO,"value_ready_mutex_: \n")); - this->value_ready_mutex_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template ACE_Future_Rep * -ACE_Future_Rep::create (void) -{ - // Yes set ref count to zero. - return new ACE_Future_Rep(); -} - -template ACE_Future_Rep * -ACE_Future_Rep::attach (ACE_Future_Rep*& rep) -{ - ACE_ASSERT (rep != 0); - // Use value_ready_mutex_ for both condition and ref count management - ACE_MT (ACE_Guard r_mon(rep->value_ready_mutex_)); - ++rep->ref_count_; - return rep; -} - -template void -ACE_Future_Rep::detach (ACE_Future_Rep*& rep) -{ - ACE_ASSERT(rep != 0); - // Use value_ready_mutex_ for both condition and ref count management - ACE_MT (ACE_GUARD (ACE_Thread_Mutex, r_mon, rep->value_ready_mutex_)); - - if (rep->ref_count_-- == 0) - { - r_mon.release (); - // We do not need the lock when deleting the representation. - // There should be no side effects from deleting rep and we don - // not want to release a deleted mutex. - delete rep; - } -} - -template void -ACE_Future_Rep::assign (ACE_Future_Rep*& rep, ACE_Future_Rep* new_rep) -{ - ACE_ASSERT(rep != 0); - ACE_ASSERT(new_rep != 0); - // Use value_ready_mutex_ for both condition and ref count management - ACE_MT (ACE_GUARD (ACE_Thread_Mutex, r_mon, rep->value_ready_mutex_)); - - ACE_Future_Rep* old = rep; - rep = new_rep; - - // detached old last for exception safety - if (old->ref_count_-- == 0) - { - r_mon.release (); - // We do not need the lock when deleting the representation. - // There should be no side effects from deleting rep and we don - // not want to release a deleted mutex. - delete old; - } -} - -template -ACE_Future_Rep::ACE_Future_Rep (void) - : value_ (0), - ref_count_ (0), - value_ready_ (this->value_ready_mutex_) -{ -} - -template -ACE_Future_Rep::~ACE_Future_Rep (void) -{ - delete this->value_; -} - -template int -ACE_Future_Rep::ready (void) -{ - return this->value_ != 0; -} - -template int -ACE_Future_Rep::set (const T &r) -{ - // If the value is already produced, ignore it... - if (this->value_ == 0) - { - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->value_ready_mutex_, -1)); - // Otherwise, create a new result value. Note the use of the - // Double-checked locking pattern to avoid multiple allocations. - - if (this->value_ == 0) - ACE_NEW_RETURN (this->value_, T (r), -1); - - // Signal all the waiting threads. - return this->value_ready_.broadcast (); - - // Destructor releases the lock. - } - return 0; -} - -template int -ACE_Future_Rep::get (T &value, - ACE_Time_Value *tv) -{ - // If the value is already produced, return it. - if (this->value_ == 0) - { - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->value_ready_mutex_, -1)); - - // If the value is not yet defined we must block until the - // producer writes to it. - - while (this->value_ == 0) - // Perform a timed wait. - if (this->value_ready_.wait (tv) == -1) - return -1; - - // Destructor releases the lock. - } - - value = *this->value_; - return 0; -} - -template -ACE_Future_Rep::operator T () -{ - // If the value is already produced, return it. - if (this->value_ == 0) - { - // Constructor of ace_mon acquires the mutex. - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->value_ready_mutex_, 0)); - - // If the value is not yet defined we must block until the - // producer writes to it. - - // Wait ``forever.'' - - while (this->value_ == 0) - if (this->value_ready_.wait () == -1) - // What to do in this case since we've got to indicate - // failure somehow? Exceptions would be nice, but they're - // not portable... - return 0; - - // Destructor releases the mutex - } - - return *this->value_; -} - -template -ACE_Future::ACE_Future (void) - : future_rep_ (FUTURE_REP::create ()) -{ -} - -template -ACE_Future::ACE_Future (const ACE_Future &r) - : future_rep_ (FUTURE_REP::attach (((ACE_Future &) r).future_rep_)) -{ -} - -template -ACE_Future::ACE_Future (const T &r) - : future_rep_ (FUTURE_REP::create ()) -{ - ACE_DEBUG ((LM_DEBUG," (%t) funny constructor\n")); - this->future_rep_->set (r); -} - -template -ACE_Future::~ACE_Future (void) -{ - FUTURE_REP::detach (future_rep_); -} - -template int -ACE_Future::operator== (const ACE_Future &r) const -{ - return r.future_rep_ == this->future_rep_; -} - -template int -ACE_Future::operator!= (const ACE_Future &r) const -{ - return r.future_rep_ != this->future_rep_; -} - -template int -ACE_Future::cancel (const T &r) -{ - this->cancel (); - return this->future_rep_->set (r); -} - -template int -ACE_Future::cancel (void) -{ - // If this ACE_Future is already attached to a ACE_Future_Rep, - // detach it (maybe delete the ACE_Future_Rep). - FUTURE_REP::assign (this->future_rep_, FUTURE_REP::create ()); - return 0; -} - -template int -ACE_Future::set (const T &r) -{ - // Give the pointer to the result to the ACE_Future_Rep. - return this->future_rep_->set (r); -} -template int -ACE_Future::ready (void) -{ - // We're ready if the ACE_Future_rep is ready... - return this->future_rep_->ready (); -} - -template int -ACE_Future::get (T &value, ACE_Time_Value *tv) -{ - // We return the ACE_Future_rep. - return this->future_rep_->get (value, tv); -} - -template -ACE_Future::operator T () -{ - // note that this will fail (and COREDUMP!) - // if future_rep_ == 0 ! - // - // but... - // this is impossible unless somebody is so stupid to - // try something like this: - // - // Future futT; - // T t; - // t = futT; - - // perform type conversion on Future_Rep. - return *future_rep_; -} - -template void -ACE_Future::operator = (const ACE_Future &rhs) -{ - // assignment: - // - // bind to the same as . - - // This will work if &r == this, by first increasing the ref count - ACE_Future &r = ( ACE_Future &) rhs; - FUTURE_REP::assign (this->future_rep_, - FUTURE_REP::attach (r.future_rep_)); -} - -template void -ACE_Future::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - - if (this->future_rep_) - this->future_rep_->dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template void * -ACE_Future::operator new (size_t) -{ - return 0; -} - -template void -ACE_Future::operator delete (void *) -{ -} - -template void -ACE_Future::operator &() -{ -} - -#endif /* ACE_HAS_THREADS */ -#endif /* ACE_FUTURE_CPP */ diff --git a/ace/Future.h b/ace/Future.h deleted file mode 100644 index 4f628074773..00000000000 --- a/ace/Future.h +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Future.h -// -// = AUTHOR -// Andres Kruse , Douglas C. Schmidt -// , and Per Andersson -// . -// -// ============================================================================ - -#if !defined (ACE_FUTURE_H) -#define ACE_FUTURE_H - -#include "ace/Synch.h" - -#if defined (ACE_HAS_THREADS) - -// Forward decl. -template class ACE_Future; - -template class ACE_Future_Rep -{ - // = TITLE - // ACE_Future_Rep - // - // = DESCRIPTION - // An ACE_Future_Rep object encapsules a pointer to an - // object of class T which is the result of an asynchronous - // method invocation. It is pointed to by ACE_Future object[s] - // and only accessible through them. -private: - friend class ACE_Future; - - // Create, attach, detach and assign encapsulates the reference - // count handling and the object lifetime of ACE_Future_Rep - // instances. - - static ACE_Future_Rep *create (void); - // Create a ACE_Future_Rep and initialize the reference count - - static ACE_Future_Rep *attach (ACE_Future_Rep *&rep); - // Precondition(rep != 0) - // Increase the reference count and return argument. Uses - // the attribute "value_ready_mutex_" to synchronize reference - // count updating - - static void detach (ACE_Future_Rep *&rep); - // Precondition(rep != 0) - // Decreases the reference count and and deletes rep if - // there are no more references to rep. - - static void assign (ACE_Future_Rep *&rep, - ACE_Future_Rep *new_rep); - // Precondition(rep != 0 && new_rep != 0) - // Decreases the rep's reference count and and deletes rep if there - // are no more references to rep. Then assigns new_rep to rep - - int set (const T &r); - // Set the result value. - - int get (T &value, - ACE_Time_Value *tv); - // Wait up to time to get the . - - operator T (); - // Type conversion. will block forever until the result is - // available. Note that this method is going away in a subsequent - // release since it doesn't distinguish between failure results and - // success results (exceptions should be used, but they aren't - // portable...). The method should be used instead since it - // separates the error value from the result, and also permits - // timeouts. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - // = Constructor and destructor private - ACE_Future_Rep (void); - ~ACE_Future_Rep (void); - - int ready (void); - // Is result available? - - T *value_; - // Pointer to the result. - - int ref_count_; - // Reference count. - - // = Condition variable and mutex that protect the . - ACE_Condition_Thread_Mutex value_ready_; - ACE_Thread_Mutex value_ready_mutex_; -}; - -template class ACE_Future -{ - // = TITLE - // This class implements a ``single write, multiple read'' - // pattern that can be used to return results from asynchronous - // method invocations. -public: - // = Initialization and termination methods. - ACE_Future (void); - // Constructor. - - ACE_Future (const ACE_Future &r); - // Copy constructor binds and to the same - // . An is created if necessary. - - ACE_Future (const T &r); - // Constructor that initialises an to point to the - // result immediately. - - ~ACE_Future (void); - // Destructor. - - void operator = (const ACE_Future &r); - // Assignment operator that binds and to the same - // . An is created if necessary. - - int cancel (const T &r); - // Cancel an and assign the value . It is used if a - // client does not want to wait for to be produced. - - int cancel (void); - // Cancel an . Put the future into its initial - // state. Returns 0 on succes and -1 on failure. It is now possible - // to reuse the ACE_Future. But remember, the ACE_Future - // is now bound to a new ACE_Future_Rep. - - int operator == (const ACE_Future &r) const; - // Equality operator that returns 1 if both ACE_Future objects - // point to the same ACE_Future_Rep object. Attention: It also - // returns 1 if both objects have just been instantiated and not - // used yet. - - int operator != (const ACE_Future &r) const; - // Inequality operator, which is the opposite of equality. - - int set (const T &r); - // Make the result available. Is used by the server thread to give - // the result to all waiting clients. - - int get (T &value, - ACE_Time_Value *tv = 0); - // Wait up to time to get the . - - operator T (); - // Type conversion, which obtains the result of the asynchronous - // method invocation. Will block forever. Note that this method is - // going away in a subsequent release since it doesn't distinguish - // between failure results and success results (exceptions should be - // used, but they aren't portable...). The method should be - // used instead since it separates the error value from the result, - // and also permits timeouts. - - int ready (void); - // Check if the result is available. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - void *operator new (size_t nbytes); - // Do not allow new operator. - - void operator delete (void *); - // Do not allow delete operator - - void operator &(); - // Do not allow address-of operator. - - // the ACE_Future_Rep - typedef ACE_Future_Rep FUTURE_REP; - FUTURE_REP *future_rep_; - // Protect operations on the . -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Future.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Future.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_HAS_THREADS */ -#endif /* ACE_FUTURE_H */ - diff --git a/ace/Get_Opt.cpp b/ace/Get_Opt.cpp deleted file mode 100644 index f644dde3d5b..00000000000 --- a/ace/Get_Opt.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// Get_Opt.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Get_Opt.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Get_Opt.i" -#endif /* __ACE_INLINE__ */ - -/* - * Copyright (c) 1987, 1993, 1994 - * The Regents of the University of California. 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Get_Opt) - -ACE_Get_Opt::ACE_Get_Opt (int argc, - char **argv, - const char *optstring, - int skip, - int report_errors) - : optarg (0), - optind (skip), - opterr (report_errors), - argc_ (argc), - argv_ (argv), - nextchar_ (0), - optstring_ (optstring) -{ - ACE_TRACE ("ACE_Get_Opt::ACE_Get_Opt"); -} - -void -ACE_Get_Opt::dump (void) const -{ - ACE_TRACE ("ACE_Get_Opt::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -int -ACE_Get_Opt::operator () (void) -{ - ACE_TRACE ("ACE_Get_Opt::operator"); - - if (argv_ == 0) - { - // It can happen, e.g., on VxWorks. - optind = 0; - return EOF; - } - - int opt; // Character checked for validity. - const char *oli; // Option letter index. - - if (this->nextchar_ == 0 || *this->nextchar_ == '\0') - { - // Update scanning pointer. - - if (this->optind >= this->argc_ - || *(this->nextchar_ = this->argv_[this->optind]) != '-') - { - this->nextchar_ = ""; - return EOF; - } - - if (this->nextchar_[1] != 0 - && *++this->nextchar_ == '-') - { - // Found "--". - ++this->optind; - this->nextchar_ = ""; - return EOF; - } - } - - // Option letter okay? - opt = (int) *this->nextchar_++; - - if (opt == (int) ':' - || !(oli = ACE_OS::strchr (this->optstring_, opt))) - { - // If the user didn't specify '-' as an option, assume it means - // EOF. - if (opt == (int) '-') - return EOF; - - if (*this->nextchar_ == 0) - ++this->optind; - - if (this->opterr && *this->optstring_ != ':') - ACE_ERROR ((LM_ERROR, "%s: illegal option -- %c\n", - this->argv_[0], opt)); - return '?'; - } - - if (*++oli != ':') - { // Don't need argument. - this->optarg = 0; - if (!*this->nextchar_) - ++this->optind; - } - else - { // Need an argument. - if (*this->nextchar_) // No white space. - this->optarg = this->nextchar_; - else if (this->argc_ <= ++this->optind) - { - // No arg. - this->nextchar_ = ""; - - if (*this->optstring_ == ':') - return ':'; - if (this->opterr) - ACE_ERROR ((LM_ERROR, - "%s: option requires an argument -- %c\n", - this->argv_[0], opt)); - return '?'; - } - else // White space. - this->optarg = this->argv_[this->optind]; - - this->nextchar_ = ""; - ++this->optind; - } - - return opt; // Dump back option letter. -} diff --git a/ace/Get_Opt.h b/ace/Get_Opt.h deleted file mode 100644 index 56a715ebc87..00000000000 --- a/ace/Get_Opt.h +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Get_Opt.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_GET_OPT_H) -#define ACE_GET_OPT_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Get_Opt -{ - // = TITLE - // Iterator for parsing command-line arguments. - // - // = DESCRIPTION - // This is a C++ wrapper for getopt(3c). -public: - ACE_Get_Opt (int argc, - char **argv, - const char *optstring, - int skip_argv0 = 1, - int report_errors = 0); - // Initialize the internal data when the first call is made. Start - // processing options with -element 0 + ; the - // sequence of previously skipped non-option -elements is - // empty. - // - // is a string containing the legitimate option - // characters. A colon in means that the previous - // character is an option that wants an argument. The argument is - // taken from the rest of the current -element, or from the - // following -element, and returned in . - // - // If an option character is seen that is not listed in , - // return '?' after printing an error message. If you set - // to zero, the error message is suppressed but we still return '?'. - // - // If a char in is followed by a colon, that means it - // wants an arg, so the following text in the same -element, - // or the text of the following -element, is returned in - // . - - int operator () (void); - // Scan elements of (whose length is ) for option - // characters given in . - // - // If an element of starts with '-', and is not exactly "-" - // or "--", then it is an option element. The characters of this - // element (aside from the initial '-') are option characters. If - // is called repeatedly, it returns successively each - // of the option characters from each of the option elements. - // - // If finds another option character, it returns that - // character, updating and so that the next call - // to can resume the scan with the following option - // character or -element. - // - // If there are no more option characters, returns - // . Then is the index in of the first - // -element that is not an option. (The -elements have - // been permuted so that those that are not options now come last.) - - // = Public data members (should be hidden...). - - char *optarg; - // For communication from to the caller. When - // finds an option that takes an argument, the argument - // value is returned here. - - int optind; - // Index in of the next element to be scanned. This is used - // for communication to and from the caller and for communication - // between successive calls to . On entry to - // , zero means this is the first call; initialize. - // - // When returns , this is the index of the first of - // the non-option elements that the caller should itself scan. - // - // Otherwise, communicates from one call to the next how - // much of has been scanned so far. - - int opterr; - // Callers store zero here to inhibit the error message for - // unrecognized options. - - int argc_; - // Holds the count. - - char **argv_; - // Holds the pointer. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - - char *nextchar_; - // The next char to be scanned in the option-element in which the - // last option character we returned was found. This allows us to - // pick up the scan where we left off. - // - // If this is zero, or a null string, it means resume the scan - // by advancing to the next -element. - - const char *optstring_; - // Holds the option string. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Get_Opt.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_GET_OPT_H */ diff --git a/ace/Get_Opt.i b/ace/Get_Opt.i deleted file mode 100644 index b5a6d1869cd..00000000000 --- a/ace/Get_Opt.i +++ /dev/null @@ -1,5 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Get_Opt.i - diff --git a/ace/Handle_Set.cpp b/ace/Handle_Set.cpp deleted file mode 100644 index b888b01db52..00000000000 --- a/ace/Handle_Set.cpp +++ /dev/null @@ -1,421 +0,0 @@ -// Handle_Set.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Handle_Set.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Handle_Set.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Handle_Set) - -void -ACE_Handle_Set::dump (void) const -{ - ACE_TRACE ("ACE_Handle_Set::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - - ACE_DEBUG ((LM_DEBUG, "\nsize_ = %d", this->size_)); - ACE_DEBUG ((LM_DEBUG, "\nmax_handle_ = %d", this->max_handle_)); - ACE_DEBUG ((LM_DEBUG, "\n[ ")); - -#if defined (ACE_WIN32) - for (size_t i = 0; i < this->mask_.fd_count + 1; i++) - ACE_DEBUG ((LM_DEBUG, " %x ", this->mask_.fd_array[i])); -#else /* !ACE_WIN32 */ - for (ACE_HANDLE i = 0; i < this->max_handle_ + 1; i++) - if (this->is_set (i)) - ACE_DEBUG ((LM_DEBUG, " %d ", i)); -#endif /* ACE_WIN32 */ - - ACE_DEBUG ((LM_DEBUG, " ]\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Table that maps bytes to counts of the enabled bits. - -const char ACE_Handle_Set::nbits_[256] = -{ - 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8, -}; - -// Constructor, initializes the bitmask to all 0s. - -ACE_Handle_Set::ACE_Handle_Set (void) -{ - ACE_TRACE ("ACE_Handle_Set::ACE_Handle_Set"); - this->reset (); -} - -ACE_Handle_Set::ACE_Handle_Set (const ACE_FD_SET_TYPE &fd_mask) -{ - ACE_TRACE ("ACE_Handle_Set::ACE_Handle_Set"); - this->reset (); - ACE_OS::memcpy ((void *) &this->mask_, - (void *) &fd_mask, - sizeof this->mask_); -#if !defined (ACE_WIN32) - this->sync (ACE_Handle_Set::MAXSIZE); -#if defined (ACE_HAS_BIG_FD_SET) - this->min_handle_ = 0; -#endif /* ACE_HAS_BIG_FD_SET */ -#endif /* !ACE_WIN32 */ -} - -// Counts the number of bits enabled in N. Uses a table lookup to -// speed up the count. - -int -ACE_Handle_Set::count_bits (u_long n) -{ - - ACE_TRACE ("ACE_Handle_Set::count_bits"); -#if defined (ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT) - register int rval = 0; - - // Count the number of enabled bits in . This algorithm is very - // fast, i.e., O(enabled bits in n). - - for (register u_long m = n; - m != 0; - m &= m - 1) - rval++; - - return rval; -#else - return (ACE_Handle_Set::nbits_[n & 0xff] - + ACE_Handle_Set::nbits_[(n >> 8) & 0xff] - + ACE_Handle_Set::nbits_[(n >> 16) & 0xff] - + ACE_Handle_Set::nbits_[(n >> 24) & 0xff]); -#endif /* ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT */ -} - -#if defined (ACE_HAS_BIG_FD_SET) -// Find the bit position counting from right to left worst case -// (1<<31) is 8. - -int -ACE_Handle_Set::bitpos (u_long bit) -{ - register int l = 0; - register u_long n = bit - 1; - - // This is a fast count method when have the most significative bit. - - while (n >> 8) - { - n >>= 8; - l += 8; - } - - // Is greater than 15? - if (n & 16) - { - n >>= 4; - l += 4; - } - - // Count number remaining bits. - while (n != 0) - { - n &= n - 1; - l++; - } - return l; -} -#endif /* ACE_HAS_BIG_FD_SET */ - -// Synchronize the underlying FD_SET with the MAX_FD and the SIZE. - -#if defined(ACE_USE_SHIFT_FOR_EFFICIENCY) -// These don't work because shifting right 3 bits is not the same as -// dividing by 3, e.g., dividing by 8 requires shifting right 3 bits. -// In order to do the shift, we need to calculate the number of bits -// at some point. -#define ACE_DIV_BY_WORDSIZE(x) ( (x) >> (ACE_Handle_Set::WORDSIZE) ) -#define ACE_MULT_BY_WORDSIZE(x) ( (x) << (ACE_Handle_Set::WORDSIZE) ) -#else -#define ACE_DIV_BY_WORDSIZE(x) ( (x) / (ACE_Handle_Set::WORDSIZE) ) -#define ACE_MULT_BY_WORDSIZE(x) ( (x) * (ACE_Handle_Set::WORDSIZE) ) -#endif /* ACE_USE_SHIFT_FOR_DIVIDE */ - -void -ACE_Handle_Set::sync (ACE_HANDLE max) -{ - ACE_TRACE ("ACE_Handle_Set::sync"); -#if !defined (ACE_WIN32) - this->size_ = 0; - - for (int i = ACE_DIV_BY_WORDSIZE(max - 1); - i >= 0; - i--) - this->size_ += ACE_Handle_Set::count_bits (this->mask_.fds_bits[i]); - - this->set_max (max); -#else - ACE_UNUSED_ARG (max); -#endif /* !ACE_WIN32 */ -} - -// Resets the MAX_FD after a clear of the original MAX_FD. - -void -ACE_Handle_Set::set_max (ACE_HANDLE current_max) -{ - ACE_TRACE ("ACE_Handle_Set::set_max"); -#if !defined(ACE_WIN32) - if (this->size_ == 0) - this->max_handle_ = ACE_INVALID_HANDLE; - else - { - int i; - - for (i = ACE_DIV_BY_WORDSIZE(current_max - 1); - this->mask_.fds_bits[i] == 0; - i--) - continue; - -#if 1 /* !defined(ACE_HAS_BIG_FD_SET) */ - this->max_handle_ = ACE_MULT_BY_WORDSIZE(i); - for (fd_mask val = this->mask_.fds_bits[i]; - (val & ~1) != 0; // This obscure code is needed since "bit 0" is in location 1... - val = (val >> 1) & ACE_MSB_MASK) - this->max_handle_++; -#else - register u_long val = this->mask_.fds_bits[i]; - this->max_handle_ = ACE_MULT_BY_WORDSIZE(i) - + ACE_Handle_Set::bitpos(val & ~(val - 1)); -#endif /* 1 */ - } - - // Do some sanity checking... - if (this->max_handle_ >= ACE_Handle_Set::MAXSIZE) - this->max_handle_ = ACE_Handle_Set::MAXSIZE - 1; -#else - ACE_UNUSED_ARG (current_max); -#endif /* !ACE_WIN32 */ -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Handle_Set_Iterator) - -void -ACE_Handle_Set_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Handle_Set_Iterator::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); -#if defined(ACE_WIN32) || !defined(ACE_HAS_BIG_FD_SET) - ACE_DEBUG ((LM_DEBUG, "\nhandle_index_ = %d", this->handle_index_)); -#elif defined(ACE_HAS_BIG_FD_SET) - ACE_DEBUG ((LM_DEBUG, "\nword_max_ = %d", this->word_max_)); - ACE_DEBUG ((LM_DEBUG, "\nword_val_ = %d", this->word_val_)); -#endif - ACE_DEBUG ((LM_DEBUG, "\nword_num_ = %d", this->word_num_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_HANDLE -ACE_Handle_Set_Iterator::operator () (void) -{ - ACE_TRACE ("ACE_Handle_Set_Iterator::operator"); -#if defined (ACE_WIN32) - if (this->handle_index_ < this->handles_.mask_.fd_count) - // Return the handle and advance the iterator. - return (ACE_HANDLE) this->handles_.mask_.fd_array[this->handle_index_++]; - else - return ACE_INVALID_HANDLE; - -#elif !defined (ACE_HAS_BIG_FD_SET) /* !ACE_WIN32 */ - // No sense searching further than the max_handle_ + 1; - ACE_HANDLE maxhandlep1 = this->handles_.max_handle_ + 1; - - if (this->handle_index_ >= maxhandlep1) - // We've seen all the handles we're interested in seeing for this - // iterator. - return ACE_INVALID_HANDLE; - else - { - ACE_HANDLE result = this->handle_index_; - - // Increment the iterator and advance to the next bit in this - // word. - this->handle_index_++; - this->word_val_ = (this->word_val_ >> 1) & ACE_MSB_MASK; - - // If we've examined all the bits in this word, we'll go onto - // the next word. - - if (this->word_val_ == 0) - { - // Start the handle_index_ at the beginning of the next word - // and then loop until we've found the first non-zero bit or - // we run past the of the bitset. - - for (this->handle_index_ = ACE_MULT_BY_WORDSIZE(++this->word_num_); - this->handle_index_ < maxhandlep1 - && this->handles_.mask_.fds_bits[this->word_num_] == 0; - this->word_num_++) - this->handle_index_ += ACE_Handle_Set::WORDSIZE; - - // If the bit index becomes >= the maxhandlep1 that means - // there weren't any more bits set that we want to consider. - // Therefore, we'll just store the maxhandlep1, which will - // cause to return - // immediately next time it's called. - if (this->handle_index_ >= maxhandlep1) - { - this->handle_index_ = maxhandlep1; - return result; - } - else - // Load the bits of the next word. - this->word_val_ = this->handles_.mask_.fds_bits[this->word_num_]; - } - - // Loop until we get to have its least significant - // bit enabled, keeping track of which this - // represents (this information is used by subsequent calls to - // ). - - for (; - ACE_BIT_DISABLED (this->word_val_, 1); - this->handle_index_++) - this->word_val_ = (this->word_val_ >> 1) & ACE_MSB_MASK; - - return result; - } -#else /* !ACE_HAS_BIG_FD_SET */ - // Find the first word in fds_bits with bit on - register u_long lsb = this->word_val_; - - if (lsb == 0) - { - do - { - // We have exceeded the word count in Handle_Set? - if (++this->word_num_ >= this->word_max_) - return ACE_INVALID_HANDLE; - - lsb = this->handles_.mask_.fds_bits[this->word_num_]; - } - while (lsb == 0); - - // Set index to word boundary. - this->handle_index_ = ACE_MULT_BY_WORDSIZE(this->word_num_); - - // Put new word_val. - this->word_val_ = lsb; - - // Find the least significative bit. - lsb &= ~(lsb - 1); - - // Remove least significative bit. - this->word_val_ ^= lsb; - - // Save to calculate bit distance. - this->oldlsb_ = lsb; - - // Move index to least significative bit. - while (lsb >>= 1) - this->handle_index_++; - } - else - { - // Find the least significative bit. - lsb &= ~(lsb - 1); - - // Remove least significative bit. - this->word_val_ ^= lsb; - - register u_long n = lsb - this->oldlsb_; - - // Move index to bit distance between new lsb and old lsb. - do - { - this->handle_index_++; - n &= n >> 1; - } - while (n != 0); - - this->oldlsb_ = lsb; - } - - return this->handle_index_; -#endif /* ACE_WIN32 */ -} - -void -ACE_Handle_Set_Iterator::operator++ (void) -{ - ACE_TRACE ("ACE_Handle_Set_Iterator::operator++"); - - // This is now a no-op. -} - -ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator (const ACE_Handle_Set &hs) - : handles_ (hs), -#if !defined (ACE_HAS_BIG_FD_SET) || defined (ACE_WIN32) - handle_index_ (0), - word_num_ (-1) -#elif defined (ACE_HAS_BIG_FD_SET) - oldlsb_ (0), - word_max_ (hs.max_handle_ == ACE_INVALID_HANDLE - ? 0 : ((ACE_DIV_BY_WORDSIZE(hs.max_handle_)) + 1)) -#endif /* ACE_HAS_BIG_FD_SET */ -{ - ACE_TRACE ("ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator"); -#if !defined(ACE_WIN32) && !defined(ACE_HAS_BIG_FD_SET) - // No sense searching further than the max_handle_ + 1; - ACE_HANDLE maxhandlep1 = this->handles_.max_handle_ + 1; - - // Loop until we've found the first non-zero bit or we run past the - // of the bitset. - while (this->handle_index_ < maxhandlep1 - && this->handles_.mask_.fds_bits[++this->word_num_] == 0) - this->handle_index_ += ACE_Handle_Set::WORDSIZE; - - // If the bit index becomes >= the maxhandlep1 that means there - // weren't any bits set. Therefore, we'll just store the - // maxhandlep1, which will cause to return - // immediately. - if (this->handle_index_ >= maxhandlep1) - this->handle_index_ = maxhandlep1; - else - // Loop until we get to have its least significant bit - // enabled, keeping track of which this represents - // (this information is used by ). - for (this->word_val_ = this->handles_.mask_.fds_bits[this->word_num_]; - ACE_BIT_DISABLED (this->word_val_, 1) - && this->handle_index_ < maxhandlep1; - this->handle_index_++) - this->word_val_ = (this->word_val_ >> 1) & ACE_MSB_MASK; -#elif !defined(ACE_WIN32) && defined(ACE_HAS_BIG_FD_SET) - if (this->word_max_==0) - { - this->word_num_ = -1; - this->word_val_ = 0; - } - else - { - this->word_num_ = ACE_DIV_BY_WORDSIZE(this->handles_.min_handle_) - 1; - this->word_val_ = 0; - } -#endif /* !ACE_WIN32 && !ACE_HAS_BIG_FD_SET */ -} diff --git a/ace/Handle_Set.h b/ace/Handle_Set.h deleted file mode 100644 index 0dc7a1cf72d..00000000000 --- a/ace/Handle_Set.h +++ /dev/null @@ -1,179 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Handle_Set.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_HANDLE_SET_H) -#define ACE_HANDLE_SET_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Handle_Set -{ - // = TITLE - // C++ wrapper for the socket abstraction. -public: - friend class ACE_Handle_Set_Iterator; - - // = Initialization and termination. - - enum - { - MAXSIZE = ACE_DEFAULT_SELECT_REACTOR_SIZE - }; - - // = Initialization methods. - ACE_Handle_Set (void); - // Constructor, initializes the bitmask to all 0s. - - ACE_Handle_Set (const ACE_FD_SET_TYPE &mask); - - // = Methods for manipulating bitsets. - void reset (void); - // Initialize the bitmask to all 0s and reset the associated fields. - - int is_set (ACE_HANDLE) const; - // Checks whether handle is enabled. - - void set_bit (ACE_HANDLE); - // Enables the handle. - - void clr_bit (ACE_HANDLE); - // Disables the handle. - - int num_set (void) const; - // Returns a count of the number of enabled bits. - - ACE_HANDLE max_set (void) const; - // Returns the number of the large bit. - - void sync (ACE_HANDLE max); - // Synchronize the underlying FD_SET with the MAX_FD and the SIZE. - - operator fd_set *(); - // Returns a pointer to the underlying . Returns 0 if - // == 0. - -#if defined (ACE_HAS_BIG_FD_SET) - void operator= (const ACE_Handle_Set &); - // Assignment operator optimizes for cases where == 0. -#endif /* ACE_HAS_BIG_FD_SET */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - int size_; - // Size of the set, i.e., a count of the number of enabled bits. - - ACE_HANDLE max_handle_; - // Current max handle. - -#if defined (ACE_HAS_BIG_FD_SET) - ACE_HANDLE min_handle_; - // Current min handle. -#endif /* ACE_HAS_BIG_FD_SET */ - - fd_set mask_; - // Bitmask. - - enum - { - WORDSIZE = NFDBITS, -#if !defined (ACE_WIN32) - NUM_WORDS = howmany (MAXSIZE, NFDBITS), -#endif /* ACE_WIN32 */ - NBITS = 256 - }; - - static int count_bits (u_long n); - // Counts the number of bits enabled in N. Uses a table lookup to - // speed up the count. - -#if defined (ACE_HAS_BIG_FD_SET) - static int bitpos (u_long bit); - // Find the bitpos in bit counting of right to left. -#endif /* ACE_HAS_BIG_FD_SET */ - - void set_max (ACE_HANDLE max); - // Resets the MAX_FD after a clear of the original MAX_FD. - - static const char nbits_[NBITS]; - // Table that maps bytes to counts of the enabled bits. -}; - -class ACE_Export ACE_Handle_Set_Iterator -{ - // = TITLE - // Iterator for the abstraction. -public: - ACE_Handle_Set_Iterator (const ACE_Handle_Set &hs); - // Constructor. - - ACE_HANDLE operator () (void); - // "Next" operator. Returns the next unseen in the - // up to ). When all the - // handles have been seen returns . Advances - // the iterator automatically, so you need not call - // (which is now obsolete). - - void operator++ (void); - // This is a no-op and no longer does anything. It's only here for - // backwards compatibility. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - const ACE_Handle_Set &handles_; - // The we are iterating through. - -#if defined (ACE_WIN32) - u_int handle_index_; -#elif !defined (ACE_HAS_BIG_FD_SET) - int handle_index_; -#elif defined (ACE_HAS_BIG_FD_SET) - int handle_index_; - u_long oldlsb_; -#endif /* ACE_WIN32 */ - // Index of the bit we're examining in the current word. - - int word_num_; - // Number of the word we're iterating over (typically between 0..7). - -#if defined (ACE_HAS_BIG_FD_SET) - int word_max_; - // Number max of the words with a possible bit on. -#endif /* ACE_HAS_BIG_FD_SET */ - -#if !defined (ACE_WIN32) && !defined (ACE_HAS_BIG_FD_SET) - fd_mask word_val_; - // Value of the bits in the word we're iterating on. -#elif !defined (ACE_WIN32) && defined (ACE_HAS_BIG_FD_SET) - u_long word_val_; - // Value of the bits in the word we're iterating on. -#endif /* !ACE_WIN32 && !ACE_HAS_BIG_FD_SET */ -}; - -#if defined (__ACE_INLINE__) -#include "ace/Handle_Set.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_HANDLE_SET */ diff --git a/ace/Handle_Set.i b/ace/Handle_Set.i deleted file mode 100644 index 32c8608744b..00000000000 --- a/ace/Handle_Set.i +++ /dev/null @@ -1,135 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Handle_Set.i - -// Initialize the bitmask to all 0s and reset the associated fields. - -ACE_INLINE void -ACE_Handle_Set::reset (void) -{ - ACE_TRACE ("ACE_Handle_Set::reset"); - this->max_handle_ = ACE_INVALID_HANDLE; -#if defined (ACE_HAS_BIG_FD_SET) - this->min_handle_ = NUM_WORDS * WORDSIZE; -#endif - this->size_ = 0; -#if !defined (ACE_HAS_BIG_FD_SET) - FD_ZERO (&this->mask_); -#endif /* ACE_HAS_BIG_FD_SET */ -} - -#if defined (ACE_HAS_BIG_FD_SET) -ACE_INLINE void -ACE_Handle_Set::operator= (const ACE_Handle_Set &rhs) -{ - ACE_TRACE ("ACE_Handle_Set::reset"); - - if (rhs.size_ > 0) - { - this->size_ = rhs.size_; - this->max_handle_ = rhs.max_handle_; - this->min_handle_ = rhs.min_handle_; - this->mask_ = rhs.mask_; - } - else - this->reset (); -} -#endif /* ACE_HAS_BIG_FD_SET */ - -// Returns the number of the large bit. - -ACE_INLINE ACE_HANDLE -ACE_Handle_Set::max_set (void) const -{ - ACE_TRACE ("ACE_Handle_Set::max_set"); - return this->max_handle_; -} - -// Checks whether handle is enabled. - -ACE_INLINE int -ACE_Handle_Set::is_set (ACE_HANDLE handle) const -{ - ACE_TRACE ("ACE_Handle_Set::is_set"); -#if defined (ACE_HAS_BIG_FD_SET) - return FD_ISSET (handle, &this->mask_) && this->size_ > 0; -#else - return FD_ISSET (handle, &this->mask_); -#endif /* ACE_HAS_BIG_FD_SET */ -} - -// Enables the handle. - -ACE_INLINE void -ACE_Handle_Set::set_bit (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_Handle_Set::set_bit"); - if (!this->is_set (handle)) - { -#if defined (ACE_WIN32) - FD_SET ((SOCKET) handle, &this->mask_); - this->size_++; -#else /* ACE_WIN32 */ -#if defined (ACE_HAS_BIG_FD_SET) - if (this->size_ == 0) - FD_ZERO (&this->mask_); - - if (handle < this->min_handle_) - this->min_handle_ = handle; -#endif /* ACE_HAS_BIG_FD_SET */ - - FD_SET (handle, &this->mask_); - this->size_++; - - if (handle > this->max_handle_) - this->max_handle_ = handle; -#endif /* ACE_WIN32 */ - } -} - -// Disables the handle. - -ACE_INLINE void -ACE_Handle_Set::clr_bit (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_Handle_Set::clr_bit"); - - if (this->is_set (handle)) - { - FD_CLR ((ACE_SOCKET) handle, &this->mask_); - this->size_--; - -#if !defined (ACE_WIN32) - if (handle == this->max_handle_) - this->set_max (this->max_handle_); -#endif /* !ACE_WIN32 */ - } -} - -// Returns a count of the number of enabled bits. - -ACE_INLINE int -ACE_Handle_Set::num_set (void) const -{ - ACE_TRACE ("ACE_Handle_Set::num_set"); -#if defined (ACE_WIN32) - return this->mask_.fd_count; -#else /* !ACE_WIN32 */ - return this->size_; -#endif /* ACE_WIN32 */ -} - -// Returns a pointer to the underlying fd_set. - -ACE_INLINE -ACE_Handle_Set::operator fd_set *() -{ - ACE_TRACE ("ACE_Handle_Set::operator ACE_FD_SET_TYPE *"); - - if (this->size_ > 0) - return (fd_set*) &this->mask_; - else - return (fd_set*) NULL; -} - diff --git a/ace/Hash_Map_Manager.cpp b/ace/Hash_Map_Manager.cpp deleted file mode 100644 index 86cfe330c4e..00000000000 --- a/ace/Hash_Map_Manager.cpp +++ /dev/null @@ -1,1002 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Hash_Map_Manager.cpp -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_HASH_MAP_MANAGER_C) -#define ACE_HASH_MAP_MANAGER_C - -#include "ace/Hash_Map_Manager.h" -#include "ace/Service_Config.h" -#include "ace/Malloc.h" - -template -ACE_Hash_Map_Entry::ACE_Hash_Map_Entry (ACE_Hash_Map_Entry *next, - ACE_Hash_Map_Entry *prev) - : next_ (next), - prev_ (prev) -{ -} - -template -ACE_Hash_Map_Entry::ACE_Hash_Map_Entry (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *next, - ACE_Hash_Map_Entry *prev) - : ext_id_ (ext_id), - int_id_ (int_id), - next_ (next), - prev_ (prev) -{ -} - -template -ACE_Hash_Map_Entry::~ACE_Hash_Map_Entry (void) -{ -} - -template void -ACE_Hash_Map_Entry::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "next_ = %d", this->next_)); - ACE_DEBUG ((LM_DEBUG, "prev_ = %d", this->prev_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template void -ACE_Hash_Map_Manager::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "total_size_ = %d", this->total_size_)); - ACE_DEBUG ((LM_DEBUG, "\ncur_size_ = %d", this->cur_size_)); - this->allocator_->dump (); - this->lock_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template int -ACE_Hash_Map_Manager::create_buckets (size_t size) -{ - size_t bytes = size * sizeof (ACE_Hash_Map_Entry); - void *ptr; - - ACE_ALLOCATOR_RETURN (ptr, - this->allocator_->malloc (bytes), - -1); - - this->table_ = (ACE_Hash_Map_Entry *) ptr; - - this->total_size_ = size; - - // Initialize the hash table by creating sentinals that point to - // themselves. - for (size_t i = 0; i < this->total_size_; i++) - new (&this->table_[i]) ACE_Hash_Map_Entry (&this->table_[i], - &this->table_[i]); - - return 0; -} - -template int -ACE_Hash_Map_Manager::open (size_t size, - ACE_Allocator *alloc) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - if (alloc == 0) - alloc = ACE_Allocator::instance (); - - this->allocator_ = alloc; - - // This assertion is here to help track a situation that shouldn't - // happen, but did with Sun C++ 4.1 (before a change to this class - // was made: it used to have an enum that was supposed to be defined - // to be ACE_DEFAULT_MAP_SIZE, but instead was defined to be 0. - ACE_ASSERT (size != 0); - - return this->create_buckets (size); -} - -template -ACE_Hash_Map_Manager::ACE_Hash_Map_Manager (size_t size, - ACE_Allocator *alloc) - : allocator_ (alloc), - total_size_ (0), - cur_size_ (0) -{ - if (this->open (size, alloc) == -1) - ACE_ERROR ((LM_ERROR, "ACE_Hash_Map_Manager\n")); -} - -template -ACE_Hash_Map_Manager::ACE_Hash_Map_Manager (ACE_Allocator *alloc) - : allocator_ (alloc), - total_size_ (0), - cur_size_ (0) -{ - if (this->open (ACE_DEFAULT_MAP_SIZE, alloc) == -1) - ACE_ERROR ((LM_ERROR, "ACE_Hash_Map_Manager\n")); -} - -template int -ACE_Hash_Map_Manager::close_i (void) -{ - if (this->table_ != 0) - { - // Iterate through the entire map calling the destuctor of each - // . - for (size_t i = 0; i < this->total_size_; i++) - { - for (ACE_Hash_Map_Entry *temp_ptr = this->table_[i].next_; - temp_ptr != &this->table_[i]; - ) - { - ACE_Hash_Map_Entry *hold_ptr = temp_ptr; - temp_ptr = temp_ptr->next_; - - // Explicitly call the destructor. - hold_ptr->ACE_Hash_Map_Entry::~ACE_Hash_Map_Entry (); - this->allocator_->free (hold_ptr); - } - - // Now deal with the sentinel by explicitly calling the - // destructor. -#ifdef HPUX_11 - (&table_[i])->ACE_Hash_Map_Entry::~ACE_Hash_Map_Entry (); -#else - table_[i].ACE_Hash_Map_Entry::~ACE_Hash_Map_Entry (); -#endif - } - - // Free table memory - this->allocator_->free (this->table_); - this->table_ = 0; - } - return 0; -} - -template int -ACE_Hash_Map_Manager::close (void) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->close_i (); -} - -template -ACE_Hash_Map_Manager::~ACE_Hash_Map_Manager (void) -{ - this->close (); -} - -template size_t -ACE_Hash_Map_Manager::current_size (void) -{ - return this->cur_size_; -} - -template size_t -ACE_Hash_Map_Manager::total_size (void) -{ - return this->total_size_; -} - -template u_long -ACE_Hash_Map_Manager::hash (const EXT_ID &ext_id) -{ - return ext_id.hash (); -} - -template int -ACE_Hash_Map_Manager::equal (const EXT_ID &id1, - const EXT_ID &id2) -{ - return id1 == id2; -} - -template int -ACE_Hash_Map_Manager::bind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *&entry) -{ - u_long loc; - int result = this->shared_find (ext_id, entry, loc); - - if (result == -1) - { - void *ptr; - // Not found. - ACE_ALLOCATOR_RETURN (ptr, - this->allocator_->malloc (sizeof (ACE_Hash_Map_Entry)), - -1); - - this->table_[loc].next_ = entry = - new (ptr) ACE_Hash_Map_Entry (ext_id, - int_id, - this->table_[loc].next_, - &this->table_[loc]); - entry->next_->prev_ = entry; - this->table_[loc].next_ = entry; - - this->cur_size_++; - return 0; - } - else - return 1; -} - -template int -ACE_Hash_Map_Manager::bind_i (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_Hash_Map_Entry *temp; - - return this->bind_i (ext_id, int_id, temp); -} - -template int -ACE_Hash_Map_Manager::bind (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->bind_i (ext_id, int_id); -} - -template int -ACE_Hash_Map_Manager::bind (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *&entry) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->bind_i (ext_id, int_id, entry); -} - -template int -ACE_Hash_Map_Manager::trybind_i (const EXT_ID &ext_id, - INT_ID &int_id, - ACE_Hash_Map_Entry *&entry) -{ - u_long loc; - int result = this->shared_find (ext_id, entry, loc); - - if (result == -1) - { - // Not found. - void *ptr; - ACE_ALLOCATOR_RETURN (ptr, - this->allocator_->malloc (sizeof (ACE_Hash_Map_Entry)), - -1); - - this->table_[loc].next_ = entry = - new (ptr) ACE_Hash_Map_Entry (ext_id, - int_id, - this->table_[loc].next_, - &this->table_[loc]); - - this->cur_size_++; - return 0; - } - else - { - entry->int_id_ = int_id; - return 1; - } -} - -template int -ACE_Hash_Map_Manager::trybind_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_Hash_Map_Entry *temp; - - return this->trybind_i (ext_id, int_id, temp); -} - -template int -ACE_Hash_Map_Manager::trybind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->trybind_i (ext_id, int_id); -} - -template int -ACE_Hash_Map_Manager::trybind (const EXT_ID &ext_id, - INT_ID &int_id, - ACE_Hash_Map_Entry *&entry) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->trybind_i (ext_id, int_id, entry); -} - -template int -ACE_Hash_Map_Manager::unbind_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_Hash_Map_Entry *temp; - - u_long loc; - int result = this->shared_find (ext_id, temp, loc); - - if (result == -1) - { - errno = ENOENT; - return -1; - } - - int_id = temp->int_id_; - - return this->unbind_i (temp); -} - -template int -ACE_Hash_Map_Manager::unbind_i (ACE_Hash_Map_Entry *entry) -{ - entry->next_->prev_ = entry->prev_; - entry->prev_->next_ = entry->next_; - - // Explicitly call the destructor. - entry->ACE_Hash_Map_Entry::~ACE_Hash_Map_Entry (); - this->allocator_->free (entry); - this->cur_size_--; - return 0; -} - -template int -ACE_Hash_Map_Manager::unbind_i (const EXT_ID &ext_id) -{ - INT_ID int_id; - - return this->unbind_i (ext_id, int_id); -} - -template int -ACE_Hash_Map_Manager::unbind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->unbind_i (ext_id, int_id); -} - -template int -ACE_Hash_Map_Manager::unbind (const EXT_ID &ext_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->unbind_i (ext_id) == -1 ? -1 : 0; -} - -template int -ACE_Hash_Map_Manager::unbind (ACE_Hash_Map_Entry *entry) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->unbind_i (entry) == -1 ? -1 : 0; -} - -template int -ACE_Hash_Map_Manager::shared_find (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry, - u_long &loc) -{ - loc = this->hash (ext_id) % this->total_size_; - - ACE_Hash_Map_Entry *temp = this->table_[loc].next_; - - while (temp != &this->table_[loc] && this->equal (temp->ext_id_, ext_id) == 0) - temp = temp->next_; - - if (temp == &this->table_[loc]) - { - errno = ENOENT; - return -1; - } - else - { - entry = temp; - return 0; - } -} - -template int -ACE_Hash_Map_Manager::find_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_Hash_Map_Entry *entry; - - u_long dummy; - if (this->shared_find (ext_id, entry, dummy) == -1) - return -1; - else - { - int_id = entry->int_id_; - return 0; - } -} - -template int -ACE_Hash_Map_Manager::find_i (const EXT_ID &ext_id) -{ - ACE_Hash_Map_Entry *entry; - - u_long dummy; - return this->shared_find (ext_id, entry, dummy); -} - -template int -ACE_Hash_Map_Manager::find (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->find_i (ext_id, int_id); -} - -template int -ACE_Hash_Map_Manager::find (const EXT_ID &ext_id) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->find_i (ext_id); -} - -template int -ACE_Hash_Map_Manager::find_i (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry) -{ - u_long dummy; - return this->shared_find (ext_id, entry, dummy); -} - -template int -ACE_Hash_Map_Manager::find (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->find_i (ext_id, entry); -} - -template int -ACE_Hash_Map_Manager::rebind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id, - ACE_Hash_Map_Entry *&entry) -{ - u_long dummy; - if (this->shared_find (ext_id, entry, dummy) == -1) - return this->bind_i (ext_id, int_id); - else - { - old_ext_id = entry->ext_id_; - old_int_id = entry->int_id_; - entry->ext_id_ = ext_id; - entry->int_id_ = int_id; - return 1; - } -} - -template int -ACE_Hash_Map_Manager::rebind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id) -{ - ACE_Hash_Map_Entry *node; - - return this->rebind_i (ext_id, - int_id, - old_ext_id, - old_int_id, - node); -} - -template int -ACE_Hash_Map_Manager::rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id); -} - -template int -ACE_Hash_Map_Manager::rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id, - ACE_Hash_Map_Entry *&entry) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id, entry); -} - -// ------------------------------------------------------------ -template -ACE_Hash_Map_Iterator -ACE_Hash_Map_Manager::begin (void) -{ - return ACE_Hash_Map_Iterator (*this); -} - -template -ACE_Hash_Map_Iterator -ACE_Hash_Map_Manager::end (void) -{ - return ACE_Hash_Map_Iterator (*this, 1); -} - -template -ACE_Hash_Map_Reverse_Iterator -ACE_Hash_Map_Manager::rbegin (void) -{ - return ACE_Hash_Map_Reverse_Iterator (*this); -} - -template -ACE_Hash_Map_Reverse_Iterator -ACE_Hash_Map_Manager::rend (void) -{ - return ACE_Hash_Map_Reverse_Iterator (*this, 1); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Map_Iterator_Base) - -template void -ACE_Hash_Map_Iterator_Base::dump_i (void) const -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "index_ = %d ", this->index_)); - ACE_DEBUG ((LM_DEBUG, "next_ = %x", this->next_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Hash_Map_Iterator_Base::ACE_Hash_Map_Iterator_Base (ACE_Hash_Map_Manager &mm, int head) - : map_man_ (&mm), - index_ (head != 0 ? -1 : mm.total_size_), - next_ (0) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::ACE_Hash_Map_Iterator_Base"); - if (mm.table_ != 0) - this->next_ = &mm.table_[ (head != 0 ? 0 : mm.total_size_ - 1 ) ]; -} - -template int -ACE_Hash_Map_Iterator_Base::next (ACE_Hash_Map_Entry *& entry) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::next"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ != 0 - && this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_) - && this->index_ >= 0 - && this->next_ != &this->map_man_->table_[this->index_]) - { - entry = this->next_; - return 1; - } - else - return 0; -} - -template int -ACE_Hash_Map_Iterator_Base::done (void) const -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::done"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - return this->map_man_->table_ == 0 - || this->index_ >= ACE_static_cast (ssize_t, this->map_man_->total_size_) - || this->index_ <= -1; -} - -template int -ACE_Hash_Map_Iterator_Base::forward_i (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::forward_i"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ == 0) - return -1; - - // Guard against error condition first. - if (this->index_ < 0) - { - this->index_++; - return this->forward_i (); - } - else if (this->index_ >= ACE_static_cast(ssize_t, this->map_man_->total_size_)) - return 0; - - this->next_ = this->next_->next_; - if (this->next_ == &this->map_man_->table_[this->index_]) - { - while (++this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_)) - { - this->next_ = &this->map_man_->table_[this->index_]; - if (this->next_->next_ != &this->map_man_->table_[this->index_]) - { - this->next_ = this->map_man_->table_[this->index_].next_; - return 1; - } - } - return 0; - } - return 1; -} - -template int -ACE_Hash_Map_Iterator_Base::reverse_i (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::reverse_i"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ == 0) - return -1; - - if (this->index_ >= ACE_static_cast (ssize_t, this->map_man_->total_size_)) - { - this->index_--; - return this->reverse_i (); - } - else if (this->index_ < 0) - return 0; - - this->next_ = this->next_->prev_; - if (this->next_ == &this->map_man_->table_[this->index_]) - { - while (--this->index_ >= 0) - { - this->next_ = &this->map_man_->table_[this->index_]; - if (this->next_->prev_ != &this->map_man_->table_[this->index_]) - { - this->next_ = this->map_man_->table_[this->index_].prev_; - return 1; - } - } - return 0; - } - - return 1; -} - -template -ACE_Hash_Map_Entry& -ACE_Hash_Map_Iterator_Base::operator* (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::operator*"); - ACE_Hash_Map_Entry *retv; - - ACE_ASSERT (this->next (retv) != 0); - return *retv; -} - -template int -ACE_Hash_Map_Iterator_Base::operator== (const ACE_Hash_Map_Iterator_Base &rhs) const -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::operator=="); - return this->map_man_ == rhs.map_man_ - && this->index_ == rhs.index_ - && this->next_ == rhs.next_; -} - -template int -ACE_Hash_Map_Iterator_Base::operator!= (const ACE_Hash_Map_Iterator_Base &rhs) const -{ - ACE_TRACE ("ACE_Hash_Map_Iterator_Base::operator!="); - return this->next_ != rhs.next_ - || this->index_ != rhs.index_ - || this->map_man_ != rhs.map_man_; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Map_Iterator) - -template void -ACE_Hash_Map_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::dump"); - - this->dump_i (); -} - -template -ACE_Hash_Map_Iterator::ACE_Hash_Map_Iterator (ACE_Hash_Map_Manager &mm, int tail) - : ACE_Hash_Map_Iterator_Base (mm, (tail == 0 ? 1 : 0)) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::ACE_Hash_Map_Iterator"); - if (tail == 0) - this->forward_i (); -} - -template int -ACE_Hash_Map_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::advance"); - return this->forward_i (); -} - -template -ACE_Hash_Map_Iterator -ACE_Hash_Map_Iterator::operator++ (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::operator++ (void)"); - ACE_Hash_Map_Iterator retv (*this); - - this->forward_i (); - return retv; -} - -template -ACE_Hash_Map_Iterator& -ACE_Hash_Map_Iterator::operator++ (int) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::operator++ (int)"); - this->forward_i (); - return *this; -} - -template -ACE_Hash_Map_Iterator -ACE_Hash_Map_Iterator::operator-- (void) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::operator-- (void)"); - ACE_Hash_Map_Iterator retv (*this); - - this->reverse_i (); - return retv; -} - -template -ACE_Hash_Map_Iterator& -ACE_Hash_Map_Iterator::operator-- (int) -{ - ACE_TRACE ("ACE_Hash_Map_Iterator::operator-- (int)"); - this->reverse_i (); - return *this; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Map_Reverse_Iterator) - -template void -ACE_Hash_Map_Reverse_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::dump"); - - this->dump_i (); -} - -template -ACE_Hash_Map_Reverse_Iterator::ACE_Hash_Map_Reverse_Iterator (ACE_Hash_Map_Manager &mm, int head) - : ACE_Hash_Map_Iterator_Base (mm, head) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::ACE_Hash_Map_Reverse_Iterator"); - if (head == 0) - this->reverse_i (); -} - -template int -ACE_Hash_Map_Reverse_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::advance"); - return this->reverse_i (); -} - -template -ACE_Hash_Map_Reverse_Iterator -ACE_Hash_Map_Reverse_Iterator::operator++ (void) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::operator++ (void)"); - ACE_Hash_Map_Reverse_Iterator retv (*this); - - this->reverse_i (); - return retv; -} - -template -ACE_Hash_Map_Reverse_Iterator& -ACE_Hash_Map_Reverse_Iterator::operator++ (int) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::operator++ (int)"); - this->reverse_i (); - return *this; -} - -template -ACE_Hash_Map_Reverse_Iterator -ACE_Hash_Map_Reverse_Iterator::operator-- (void) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::operator-- (void)"); - ACE_Hash_Map_Reverse_Iterator retv (*this); - - this->forward_i (); - return retv; -} - -template -ACE_Hash_Map_Reverse_Iterator& -ACE_Hash_Map_Reverse_Iterator::operator-- (int) -{ - ACE_TRACE ("ACE_Hash_Map_Reverse_Iterator::operator-- (int)"); - this->forward_i (); - return *this; -} - -// ------------------------------------------------------------ - -#if 0 -template void -ACE_Hash_Map_Iterator::dump (void) const -{ - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "next_ = %d", this->next_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Hash_Map_Iterator::ACE_Hash_Map_Iterator (ACE_Hash_Map_Manager &mm) - : map_man_ (mm), - index_ (0), - next_ (0) -{ - if (this->map_man_->table_ != 0) - { - this->next_ = &this->map_man_->table_[this->index_]; - this->advance (); - } -} - -template int -ACE_Hash_Map_Iterator::next (ACE_Hash_Map_Entry *&entry) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ != 0 - && this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_) - && this->next_ != &this->map_man_->table_[this->index_]) - { - entry = this->next_; - return 1; - } - else - return 0; -} - -template int -ACE_Hash_Map_Iterator::done (void) const -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ != 0 - && this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_) - && this->next_ != &this->map_man_->table_[this->index_]) - return 0; - else - return 1; -} - -template int -ACE_Hash_Map_Iterator::advance (void) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ == 0) - return -1; - - if (this->next_->next_ != &this->map_man_->table_[this->index_]) - this->next_ = this->next_->next_; - else - while (++this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_)) - { - this->next_ = &this->map_man_->table_[this->index_]; - if (this->next_->next_ != &this->map_man_->table_[this->index_]) - { - this->next_ = this->map_man_->table_[this->index_].next_; - break; - } - } - - return this->index_ < ACE_static_cast (ssize_t, this->map_man_->total_size_) - && this->next_ != &this->map_man_->table_[this->index_]; -} - -template void -ACE_Hash_Map_Reverse_Iterator::dump (void) const -{ - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "next_ = %d", this->next_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Hash_Map_Reverse_Iterator::ACE_Hash_Map_Reverse_Iterator (ACE_Hash_Map_Manager &mm) - : map_man_ (mm), - index_ (mm.total_size_ - 1), - next_ (0) -{ - if (this->map_man_->table_ != 0) - { - this->next_ = &this->map_man_->table_[this->index_]; - this->advance (); - } -} - -template int -ACE_Hash_Map_Reverse_Iterator::next (ACE_Hash_Map_Entry *&entry) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ != 0 - && this->index_ >= 0 - && this->next_ != &this->map_man_->table_[this->index_]) - { - entry = this->next_; - return 1; - } - else - return 0; -} - -template int -ACE_Hash_Map_Reverse_Iterator::done (void) const -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ != 0 - && this->index_ >= 0 - && this->next_ != &this->map_man_->table_[this->index_]) - return 0; - else - return 1; -} - -template int -ACE_Hash_Map_Reverse_Iterator::advance (void) -{ - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->table_ == 0) - return -1; - - if (this->next_->prev_ != &this->map_man_->table_[this->index_]) - this->next_ = this->next_->prev_; - else - while (--this->index_ >= 0) - { - this->next_ = &this->map_man_->table_[this->index_]; - if (this->next_->prev_ != &this->map_man_->table_[this->index_]) - { - this->next_ = this->map_man_->table_[this->index_].prev_; - break; - } - } - - return this->index_ >= 0 - && this->next_ != &this->map_man_->table_[this->index_]; -} -#endif /* 0 */ -#endif /* ACE_HASH_MAP_MANAGER_C */ diff --git a/ace/Hash_Map_Manager.h b/ace/Hash_Map_Manager.h deleted file mode 100644 index 4c9be246eb5..00000000000 --- a/ace/Hash_Map_Manager.h +++ /dev/null @@ -1,458 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Hash_Map_Manager.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_HASH_MAP_MANAGER_H) -#define ACE_HASH_MAP_MANAGER_H - -#include "ace/OS.h" - -class ACE_Allocator; - -template -class ACE_Hash_Map_Entry -{ - // = TITLE - // Define an entry in the hash table. -public: - // = Initialization and termination methods. - ACE_Hash_Map_Entry (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *next = 0, - ACE_Hash_Map_Entry *prev = 0); - // Constructor. - - ACE_Hash_Map_Entry (ACE_Hash_Map_Entry *next, - ACE_Hash_Map_Entry *prev); - // Constructor. - - ~ACE_Hash_Map_Entry (void); - // Destructor. - - EXT_ID ext_id_; - // Key used to look up an entry. - - INT_ID int_id_; - // The contents of the entry itself. - - ACE_Hash_Map_Entry *next_; - // Pointer to the next item in the bucket of overflow nodes. - - ACE_Hash_Map_Entry *prev_; - // Pointer to the prev item in the bucket of overflow nodes. - - void dump (void) const; - // Dump the state of an object. -}; - -// Forward decl. -template -class ACE_Hash_Map_Iterator_Base; - -// Forward decl. -template -class ACE_Hash_Map_Iterator; - -// Forward decl. -template -class ACE_Hash_Map_Reverse_Iterator; - -template -class ACE_Hash_Map_Manager -{ - // = TITLE - // Define a map abstraction that associates s with - // s. - // - // = DESCRIPTION - // This implementation of a map uses a hash table. Therefore, - // this class expects that the contains a method called - // . In addition, the must support - // (both of these constraints can be alleviated via template - // specialization). This class uses an ACE_Allocator to - // allocate memory The user can make this a persistant class by - // providing an ACE_Allocator with a persistable memory pool -public: - friend class ACE_Hash_Map_Iterator_Base; - friend class ACE_Hash_Map_Iterator; - friend class ACE_Hash_Map_Reverse_Iterator; - - typedef EXT_ID KEY; - typedef INT_ID VALUE; - typedef ACE_Hash_Map_Entry ENTRY; - typedef ACE_Hash_Map_Iterator ITERATOR; - typedef ACE_Hash_Map_Reverse_Iterator REVERSE_ITERATOR; - typedef ACE_Hash_Map_Iterator iterator; - typedef ACE_Hash_Map_Reverse_Iterator reverse_iterator; - - // = Initialization and termination methods. - - ACE_Hash_Map_Manager (size_t size, - ACE_Allocator *alloc = 0); - // Initialize a with size . - - ACE_Hash_Map_Manager (ACE_Allocator *alloc = 0); - // Initialize a with default size. - - int open (size_t length = ACE_DEFAULT_MAP_SIZE, - ACE_Allocator *alloc = 0); - // Initialize a with size . - - int close (void); - // Close down a and release dynamically allocated - // resources. - - ~ACE_Hash_Map_Manager (void); - // Initialize a with size . - - int bind (const EXT_ID &item, - const INT_ID &int_id); - // Associate with . If is already in the - // map then the is not changed. Returns 0 if a - // new entry is bound successfully, returns 1 if an attempt is made - // to bind an existing entry, and returns -1 if failures occur. - - int bind (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *&entry); - // Same as a normal bind, except the map entry is also passed back - // to the caller. The entry in this case will either be the newly - // created entry, or the existing one. - - int trybind (const EXT_ID &ext_id, - INT_ID &int_id); - // Associate with if and only if is not - // in the map. If is already in the map then the - // parameter is assigned the existing value in the map. Returns 0 - // if a new entry is bound successfully, returns 1 if an attempt is - // made to bind an existing entry, and returns -1 if failures occur. - - int trybind (const EXT_ID &ext_id, - INT_ID &int_id, - ACE_Hash_Map_Entry *&entry); - // Same as a normal trybind, except the map entry is also passed - // back to the caller. The entry in this case will either be the - // newly created entry, or the existing one. - - int rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id); - // Associate with . If is not in the map - // then behaves just like . Otherwise, store the old values - // of and into the "out" parameters and rebind the - // new parameters. This is very useful if you need to have an - // atomic way of updating and you also need full - // control over memory allocation. Returns 0 if a new entry is - // bound successfully, returns 1 if an existing entry was rebound, - // and returns -1 if failures occur. - - int rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id, - ACE_Hash_Map_Entry *&entry); - // Same as a normal rebind, except the map entry is also passed back - // to the caller. The entry in this case will either be the newly - // created entry, or the existing one. - - int find (const EXT_ID &ext_id, - INT_ID &int_id); - // Locate and pass out parameter via . If found, - // return 0, returns -1 if not found. - - int find (const EXT_ID &ext_id); - // Returns 0 if the is in the mapping, otherwise -1. - - int find (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry); - // Locate and pass out parameter via . If found, - // return 0, returns -1 if not found. - - int unbind (const EXT_ID &ext_id); - // Unbind (remove) the from the map. Don't return the - // to the caller (this is useful for collections where the - // s are *not* dynamically allocated...) - - int unbind (const EXT_ID &ext_id, - INT_ID &int_id); - // Break any association of . Returns the value of - // in case the caller needs to deallocate memory. - - int unbind (ACE_Hash_Map_Entry *entry); - // Remove entry from map. - - size_t current_size (void); - // Return the current size of the map. - - size_t total_size (void); - // Return the total size of the map. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iterator factory functions. - - ACE_Hash_Map_Iterator begin (void); - ACE_Hash_Map_Iterator end (void); - // Return forward iterator. - - ACE_Hash_Map_Reverse_Iterator rbegin (void); - ACE_Hash_Map_Reverse_Iterator rend (void); - // Return reverse iterator. - -protected: - // = The following methods do the actual work. - - int equal (const EXT_ID &id1, const EXT_ID &id2); - // Returns 1 if == , else 0. This is defined as a - // separate method to facilitate template specialization. - - u_long hash (const EXT_ID &ext_id); - // Compute the hash value of the . This is defined as a - // separate method to facilitate template specialization. - - // = These methods assume locks are held by private methods. - - int bind_i (const EXT_ID &ext_id, - const INT_ID &int_id); - // Performs bind. Must be called with locks held. - - int bind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - ACE_Hash_Map_Entry *&entry); - // Performs bind. Must be called with locks held. - - int trybind_i (const EXT_ID &ext_id, - INT_ID &int_id); - // Performs trybind. Must be called with locks held. - - int trybind_i (const EXT_ID &ext_id, - INT_ID &int_id, - ACE_Hash_Map_Entry *&entry); - // Performs trybind. Must be called with locks held. - - int rebind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id); - // Performs rebind. Must be called with locks held. - - int rebind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id, - ACE_Hash_Map_Entry *&entry); - // Performs rebind. Must be called with locks held. - - int find_i (const EXT_ID &ext_id, - INT_ID &int_id); - // Performs a find of using as the key. Must be - // called with locks held. - - int find_i (const EXT_ID &ext_id); - // Performs a find using as the key. Must be called with - // locks held. - - int find_i (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry); - // Performs a find using as the key. Must be called with - // locks held. - - int unbind_i (const EXT_ID &ext_id, - INT_ID &int_id); - // Performs unbind. Must be called with locks held. - - int unbind_i (const EXT_ID &ext_id); - // Performs unbind. Must be called with locks held. - - int unbind_i (ACE_Hash_Map_Entry *entry); - // Performs unbind. Must be called with locks held. - - int create_buckets (size_t size); - // Resize the map. Must be called with locks held. Note, that this - // method should never be called more than once or else all the - // hashing will get screwed up as the size will change. - - int close_i (void); - // Close down a . Must be called with - // locks held. - - ACE_Allocator *allocator_; - // Pointer to a memory allocator. - - ACE_LOCK lock_; - // Synchronization variable for the MT_SAFE . - -private: - int shared_find (const EXT_ID &ext_id, - ACE_Hash_Map_Entry *&entry, - u_long &loc); - // Returns the that corresponds to . - - ACE_Hash_Map_Entry *table_; - // Array of *s, each of which points to the - // beginning of a linked list of s that hash to that bucket. - - size_t total_size_; - // Total size of the hash table. - - size_t cur_size_; - // Current number of elements in the table. -}; - -template -class ACE_Hash_Map_Iterator_Base -{ - // = TITLE - // Iterator for the ACE_Hash_Map_Manager. -public: - // = Initialization method. - ACE_Hash_Map_Iterator_Base (ACE_Hash_Map_Manager &mm, - int head); - // Contructor. If head != 0, the iterator constructed is positioned - // at the head of the map, it is positioned at the end otherwise. - - // = ITERATION methods. - - int next (ACE_Hash_Map_Entry *&next_entry); - // Pass back the next that hasn't been seen in the Set. - // Returns 0 when all items have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - ACE_Hash_Map_Entry& operator* (void); - // Returns a reference to the interal element is pointing to. - - int operator== (const ACE_Hash_Map_Iterator_Base &) const; - int operator!= (const ACE_Hash_Map_Iterator_Base &) const; - // Check if two iterators point to the same position - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - int forward_i (void); - // Move forward by one element in the set. Returns 0 when there's - // no more item in the set after the current items, else 1. - - int reverse_i (void); - // Move backware by one element in the set. Returns 0 when there's - // no more item in the set before the current item, else 1. - - void dump_i (void) const; - // Dump the state of an object. - - ACE_Hash_Map_Manager *map_man_; - // Map we are iterating over. - - ssize_t index_; - // Keeps track of how far we've advanced in the table. - - ACE_Hash_Map_Entry *next_; - // Keeps track of how far we've advanced in a linked list in each - // table slot. -}; - -template -class ACE_Hash_Map_Iterator - : public ACE_Hash_Map_Iterator_Base -{ - // = TITLE - // Iterator for the ACE_Hash_Map_Manager. - // - // = DESCRIPTION -public: - // = Initialization method. - ACE_Hash_Map_Iterator (ACE_Hash_Map_Manager &mm, - int tail = 0); - - // = Iteration methods. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iteration, compare, and reference functions. - - ACE_Hash_Map_Iterator operator++ (void); - // Postfix advance. - - ACE_Hash_Map_Iterator& operator++ (int); - // Prefix advance. - - ACE_Hash_Map_Iterator operator-- (void); - // Postfix advance. - - ACE_Hash_Map_Iterator& operator-- (int); - // Prefix advance. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -template -class ACE_Hash_Map_Reverse_Iterator - : public ACE_Hash_Map_Iterator_Base -{ - // = TITLE - // Iterator for the ACE_Hash_Map_Manager. - // - // = DESCRIPTION -public: - // = Initialization method. - ACE_Hash_Map_Reverse_Iterator (ACE_Hash_Map_Manager &mm, - int head = 0); - - // = Iteration methods. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iteration, compare, and reference functions. - - ACE_Hash_Map_Reverse_Iterator operator++ (void); - // Postfix advance. - - ACE_Hash_Map_Reverse_Iterator& operator++ (int); - // Prefix advance. - - ACE_Hash_Map_Reverse_Iterator operator-- (void); - // Postfix advance. - - ACE_Hash_Map_Reverse_Iterator& operator-- (int); - // Prefix advance. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Hash_Map_Manager.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Hash_Map_Manager.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_HASH_MAP_MANAGER_H */ diff --git a/ace/High_Res_Timer.cpp b/ace/High_Res_Timer.cpp deleted file mode 100644 index 85e33a3298f..00000000000 --- a/ace/High_Res_Timer.cpp +++ /dev/null @@ -1,233 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/High_Res_Timer.h" - -#if !defined (__ACE_INLINE__) -#include "ace/High_Res_Timer.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_High_Res_Timer) - -// For Intel platforms, a scale factor is required for -// ACE_OS::gethrtime. We'll still set this to one to prevent division -// by zero errors. -#if defined (ACE_WIN32) - -u_long -ACE_High_Res_Timer::get_registry_scale_factor (void) -{ - HKEY hk; - unsigned long speed; - unsigned long speed_size = sizeof speed; - unsigned long speed_type = REG_DWORD; - - long rc = ::RegOpenKeyEx (HKEY_LOCAL_MACHINE, - __TEXT ("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"), - NULL, - KEY_READ, - &hk); - - if (rc != ERROR_SUCCESS) - // Couldn't find key - return 1; - - rc = ::RegQueryValueEx (hk, - __TEXT ("~MHz"), - 0, - &speed_type, - (LPBYTE) &speed, - &speed_size); - - ::RegCloseKey (hk); - - if (rc != ERROR_SUCCESS) - // Couldn't get the value - return 1; - - return speed; -} - -/* static */ -ACE_UINT32 ACE_High_Res_Timer::global_scale_factor_ = ACE_High_Res_Timer::get_registry_scale_factor (); - -#else - -// A scale_factor of 1000 converts nanosecond ticks to microseconds. -// That is, on these platforms, 1 tick == 1 nanosecond. -/* static */ -ACE_UINT32 ACE_High_Res_Timer::global_scale_factor_ = ACE_ONE_SECOND_IN_MSECS; - -#endif /* ACE_WIN32 */ - -void -ACE_High_Res_Timer::dump (void) const -{ - ACE_TRACE ("ACE_High_Res_Timer::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_High_Res_Timer::reset (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::reset"); - (void) ACE_OS::memset (&this->start_, 0, sizeof this->start_); - (void) ACE_OS::memset (&this->end_, 0, sizeof this->end_); - (void) ACE_OS::memset (&this->total_, 0, sizeof this->total_); - (void) ACE_OS::memset (&this->start_incr_, 0, sizeof this->start_incr_); -} - -void -ACE_High_Res_Timer::elapsed_time (ACE_Time_Value &tv) -{ - tv.sec ((long) ((this->end_ - this->start_) / global_scale_factor_) / ACE_ONE_SECOND_IN_USECS); - tv.usec ((long) ((this->end_ - this->start_) / global_scale_factor_) % ACE_ONE_SECOND_IN_USECS); -} - -#if defined (ACE_HAS_POSIX_TIME) -void -ACE_High_Res_Timer::elapsed_time (struct timespec &elapsed_time) -{ - // See elapsed_time (ACE_hrtime_t &nanoseconds) implementation below; - // this implementation is based on that. - - // Just grab the nanoseconds. That is, leave off all values above - // microsecond. This equation is right! Don't mess with me! (It - // first strips off everything but the portion less than 1 usec. - // Then it converts that to nanoseconds by dividing by the scale - // factor to convert to usec, and multiplying by 1000.) The cast - // avoids a MSVC 4.1 compiler warning about narrowing. - u_long nseconds = (u_long) ((this->end_ - this->start_) % - global_scale_factor_ * 1000 / - global_scale_factor_); - - // Get just the microseconds (dropping any left over nanoseconds). - ACE_UINT32 useconds = (ACE_UINT32) ((this->end_ - this->start_) / global_scale_factor_); - -#if ! defined(ACE_HAS_BROKEN_TIMESPEC_MEMBERS) - elapsed_time.tv_sec = (time_t) (useconds / ACE_ONE_SECOND_IN_USECS); - // Transforms one second in microseconds into nanoseconds. - elapsed_time.tv_nsec = (time_t) ((useconds % ACE_ONE_SECOND_IN_USECS) * 1000 + nseconds); -#else - elapsed_time.ts_sec = (time_t) (useconds / ACE_ONE_SECOND_IN_USECS); - // Transforms one second in microseconds into nanoseconds. - elapsed_time.ts_nsec = (time_t) ((useconds % ACE_ONE_SECOND_IN_USECS) * 1000 + nseconds); -#endif /* ACE_HAS_BROKEN_TIMESPEC_MEMBERS */ -} -#endif /* ACE_HAS_POSIX_TIME */ - -void -ACE_High_Res_Timer::elapsed_time_incr (ACE_Time_Value &tv) -{ - // Leave off any microseconds using DIV. - tv.sec ((long) (this->total_ / global_scale_factor_) / ACE_ONE_SECOND_IN_USECS); - // Leave off any seconds using MOD. - tv.usec ((long) (this->total_ / global_scale_factor_) % ACE_ONE_SECOND_IN_USECS); -} - -// The whole point is to get nanoseconds. However, our scale_factor -// gives us microseconds. We could use floating points to get the -// nanosecond precision if some compilers didn't barf on 64-bit -// divisions with doubles. So, we just extract out the nanoseconds -// first and then add them to the standard microsecond calculation. -void -ACE_High_Res_Timer::elapsed_time (ACE_hrtime_t &nanoseconds) -{ - // Just grab the nanoseconds. That is, leave off all values above - // microsecond. This equation is right! Don't mess with me! - // (It first strips off everything but the portion less than 1 usec. - // Then it converts that to nanoseconds by dividing by the scale - // factor to convert to usec, and multiplying by 1000.) - // The cast avoids a MSVC 4.1 compiler warning about narrowing. - u_long nseconds = (u_long) ((this->end_ - this->start_) % - global_scale_factor_ * 1000 / - global_scale_factor_); - - // Get just the microseconds (dropping any left over nanoseconds). - ACE_UINT32 useconds = (ACE_UINT32) ((this->end_ - this->start_) / global_scale_factor_); - - // Total nanoseconds in a single 64-bit value. - nanoseconds = useconds * 1000 + nseconds; -} - - -void -ACE_High_Res_Timer::print_ave (const char *str, const int count, ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_High_Res_Timer::print_ave"); - - // Get the total number of nanoseconds elapsed. - ACE_hrtime_t total_nanoseconds; - this->elapsed_time (total_nanoseconds); - - // Separate to seconds and nanoseconds. - u_long total_secs = (u_long) (total_nanoseconds / ACE_ONE_SECOND_IN_NSECS); - ACE_UINT32 extra_nsecs = (ACE_UINT32) (total_nanoseconds % (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS); - - char buf[100]; - if (count > 1) - { - ACE_hrtime_t avg_nsecs = total_nanoseconds / count; - ACE_OS::sprintf (buf, " count = %d, total (secs %lu, usecs %u), avg usecs = %lu\n", - count, total_secs, (extra_nsecs + 500) / 1000, - (u_long) ((avg_nsecs + 500) / 1000)); - } - else - ACE_OS::sprintf (buf, " total %3lu.%06lu secs\n", - total_secs, (extra_nsecs + 500) / 1000); - - ACE_OS::write (handle, str, ACE_OS::strlen (str)); - ACE_OS::write (handle, buf, ACE_OS::strlen (buf)); -} - -void -ACE_High_Res_Timer::print_total (const char *str, const int count, ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_High_Res_Timer::print_total"); - - // Get the total number of nanoseconds elapsed. - ACE_hrtime_t total_nanoseconds; - this->elapsed_time (total_nanoseconds); - - // Separate to seconds and nanoseconds. - u_long total_secs = (u_long) (total_nanoseconds / ACE_ONE_SECOND_IN_NSECS); - ACE_UINT32 extra_nsecs = (ACE_UINT32) (total_nanoseconds % (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS); - - char buf[100]; - if (count > 1) - { - ACE_hrtime_t avg_nsecs = this->total_ / count; - ACE_OS::sprintf (buf, " count = %d, total (secs %lu, usecs %u), avg usecs = %lu\n", - count, total_secs, (extra_nsecs + 500) / 1000, - (u_long) ((avg_nsecs + 500) / 1000)); - } - else - ACE_OS::sprintf (buf, " total %3lu.%06u secs\n", - total_secs, (extra_nsecs + 500) / 1000); - - ACE_OS::write (handle, str, ACE_OS::strlen (str)); - ACE_OS::write (handle, buf, ACE_OS::strlen (buf)); -} - -int -ACE_High_Res_Timer::get_env_global_scale_factor (const char *env) -{ - if (env != 0) - { - const char *env_value = ACE_OS::getenv (env); - if (env_value != 0) - { - int value = ACE_OS::atoi (env_value); - if (value > 0) - { - ACE_High_Res_Timer::global_scale_factor (value); - return 0; - } - } - } - - return -1; -} diff --git a/ace/High_Res_Timer.h b/ace/High_Res_Timer.h deleted file mode 100644 index 9a65c19801d..00000000000 --- a/ace/High_Res_Timer.h +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// High_Res_Timer.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_HIGH_RES_TIMER_H) -#define ACE_HIGH_RES_TIMER_H - -#include "ace/ACE.h" - -class ACE_Export ACE_High_Res_Timer -{ - // = TITLE - // A high resolution timer class wrapper that encapsulates - // OS-specific high-resolution timers, such as those found on - // Solaris, AIX, Win32/Pentium, and VxWorks. - // - // = DESCRIPTION - // Most of the member functions don't return values. The only - // reason that one would fail is if high-resolution time isn't - // supported on the platform. To avoid impacting performance and - // complicating the interface, in that case, ACE_OS::gettimeofday () - // is used instead. - // - // The global scale factor is required for platforms that have - // high-resolution timers that return units other than - // microseconds, such as clock ticks. It is represented as a - // static u_long, can only be accessed through static methods, - // and is used by all instances of High Res Timer. The member - // functions that return or print times use the global scale - // factor. They divide the "time" that they get from - // ACE_OS::gethrtime () by global_scale_factor_ to obtain the - // time in microseconds. Its units are therefore 1/microsecond. - // On Solaris, a scale factor of 1000 should be used because its - // high-resolution timer returns nanoseconds. However, on Intel - // platforms, we use RDTSC which returns the number of clock - // ticks since system boot. For a 200MHz cpu, each clock tick - // is 1/200 of a microsecond; the global_scale_factor_ should - // therefore be 200. - // - // NOTE: the elapsed time calculations in the print methods use - // ACE_hrtime_t values. Those methods do _not_ check for overflow! - // - // NOTE: Gabe raises this issue regarding - // ACE_OS::gethrtime (): on multi-processors, the processor that you - // query for your timer.stop () value might not be the one you queried - // for timer.stop (). Its not clear how much divergence there would be, - // if any. - // - // This issue is not mentioned in the Solaris 2.5.1 gethrtime man - // page. -public: - // = Initialization method. - - static void global_scale_factor (ACE_UINT32 gsf); - // global_scale_factor_ is set to . All High_Res_Timers use - // global_scale_factor_. This allows applications to set the scale - // factor just once for all High_Res_Timers. Check - // High_Res_Timer.cpp for the default global_scale_factors for - // several platforms. For many platforms (e.g., Solaris), the - // global_scale_factor_ is set to 1000 so that need - // not be set. Careful, a of 0 will cause division - // by zero exceptions. - - static ACE_UINT32 global_scale_factor (); - // Accesses the current global_scale_factor. - - static int get_env_global_scale_factor (const char *env = "ACE_SCALE_FACTOR"); - // Sets the global_scale_factor to the value in the - // environment variable. Returns 0 on success, -1 on failure. Note - // if points to string "0" (value zero), this call will fail. - - ACE_High_Res_Timer (void); - // Initialize the timer. - - void reset (void); - // Reinitialize the timer. - - void start (void); - // Start timing. - - void stop (void); - // Stop timing. - - void elapsed_time (ACE_Time_Value &tv); - // Set to the number of microseconds elapsed. - - void elapsed_time (ACE_hrtime_t &nanoseconds); - // Set to the number of nanoseconds elapsed. - -#if defined (ACE_HAS_POSIX_TIME) - void elapsed_time (struct timespec &); - // returns the elapsed (stop - start) time in a struct timespec (sec, nsec) -#endif /* ACE_HAS_POSIX_TIME */ - - void elapsed_microseconds (ACE_hrtime_t &usecs) const; - // Sets to the elapsed (stop - start) time in microseconds. - - void start_incr (void); - // Start incremental timing. - - void stop_incr (void); - // Stop incremental timing. - - void elapsed_time_incr (ACE_Time_Value &tv); - // Set to the number of microseconds elapsed between all - // calls to start_incr and stop_incr. - - void print_total (const char *message, - const int iterations = 1, - ACE_HANDLE handle = ACE_STDOUT); - // Print total time. NOTE: only use print_total () - // if incremental timings had been used! - - void print_ave (const char *message, - const int iterations = 1, - ACE_HANDLE handle = ACE_STDOUT); - // Print average time. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - static ACE_Time_Value gettimeofday (void); - // THIS FUNCTION IS DEPRECATED. PLEASE USE ACE_OS::gettimeofday () - // INSTEAD! - // Calls ACE_High_Res_Timer::hrtime_to_tv passing ACE_OS::gethrtime. - // This function can be used to parameterize objects such as - // ACE_Timer_Queue::gettimeofday. If global_scale_factor_ is not - // set, and we're on a platform that requires global_scale_factor_ - // (e.g., Win32), ACE_OS::gettimeofday will be used instead of - // ACE_OS::gethrtime. This allows applications on Intel to use - // High_Res_Timer even when global_scale_factor is not set. - // However, setting the global_scale_factor_ appropriately will - // result in the finest resolution possible. - -protected: - -#if defined (ACE_WIN32) - static u_long get_registry_scale_factor (void); - // This is used to find out the Mhz of the machine for the scale - // factor. If there are any problems getting it, we just return 1 - // (the default). -#endif /* ACE_WIN32 */ - -private: - static void hrtime_to_tv (ACE_Time_Value &tv, - ACE_hrtime_t hrt); - // Converts an to using global_scale_factor_. - - static ACE_hrtime_t gettime (); - // For internal use: gets the high-resolution time using - // ACE_OS::gethrtime (). Except on platforms that require - // that the global_scale_factor_ be set, such as ACE_WIN32, - // uses the low-resolution clock if the global_scale_factor_ - // has not been set. - - ACE_hrtime_t start_; - // Starting time. - - ACE_hrtime_t end_; - // Ending time. - - ACE_hrtime_t total_; - // Total elapsed time. - - ACE_hrtime_t start_incr_; - // Start time of incremental timing. - - static ACE_UINT32 global_scale_factor_; - // Converts ticks to microseconds. That is, ticks / - // global_scale_factor_ == microseconds. -}; - -#if defined (__ACE_INLINE__) -#include "ace/High_Res_Timer.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_HIGH_RES_TIMER_H */ diff --git a/ace/High_Res_Timer.i b/ace/High_Res_Timer.i deleted file mode 100644 index 91c644b0ffc..00000000000 --- a/ace/High_Res_Timer.i +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// High_Res_Timer.i - -ACE_INLINE void -ACE_High_Res_Timer::hrtime_to_tv (ACE_Time_Value &tv, - ACE_hrtime_t hrt) -{ - // The following are based on the units of global_scale_factor_ - // being 1/microsecond. Therefore, dividing by it converts - // clock ticks to microseconds. - tv.sec ((long) (hrt / global_scale_factor_) / ACE_ONE_SECOND_IN_USECS); - tv.usec ((long) (hrt / global_scale_factor_) % ACE_ONE_SECOND_IN_USECS); -} - - -ACE_INLINE ACE_Time_Value -ACE_High_Res_Timer::gettimeofday (void) -{ -#if defined (ACE_WIN32) - // If the global_scale_factor_ == 1 and we're on an Intel platform, - // then a scale factor is needed by the platform gethrtime. Since - // one has not been set, just return ACE_OS::gettimeofday. - if (ACE_High_Res_Timer::global_scale_factor_ == 1) - return ACE_OS::gettimeofday (); -#endif /* ACE_WIN32 */ - - ACE_Time_Value tv; - ACE_High_Res_Timer::hrtime_to_tv (tv, - ACE_OS::gethrtime ()); - return tv; -} - - -ACE_INLINE ACE_hrtime_t -ACE_High_Res_Timer::gettime (void) -{ -#if defined (ACE_WIN32) - // If the global_scale_factor_ == 1 and we're on an Intel platform, - // then a scale factor is needed by the platform gethrtime. Since - // one has not been set, just return ACE_OS::gettimeofday. - if (ACE_High_Res_Timer::global_scale_factor_ == 1) - { - ACE_Time_Value tv = ACE_OS::gettimeofday (); - // Return the time in microseconds because the global_scale_factor_ - // is 1. - return tv.sec () * ACE_ONE_SECOND_IN_USECS + tv.usec (); - } -#endif /* ACE_WIN32 */ - - return ACE_OS::gethrtime (); -} - -ACE_INLINE -ACE_High_Res_Timer::ACE_High_Res_Timer (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::ACE_High_Res_Timer"); - - this->reset (); -} - -ACE_INLINE void -ACE_High_Res_Timer::start (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::start"); - this->start_ = ACE_High_Res_Timer::gettime (); -} - -ACE_INLINE void -ACE_High_Res_Timer::stop (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::stop"); - this->end_ = ACE_High_Res_Timer::gettime (); -} - -ACE_INLINE void -ACE_High_Res_Timer::start_incr (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::start_incr"); - this->start_incr_ = ACE_High_Res_Timer::gettime (); -} - -ACE_INLINE void -ACE_High_Res_Timer::stop_incr (void) -{ - ACE_TRACE ("ACE_High_Res_Timer::stop_incr"); - this->total_ += ACE_High_Res_Timer::gettime () - this->start_incr_; -} - -ACE_INLINE void -ACE_High_Res_Timer::elapsed_microseconds (ACE_hrtime_t &usecs) const -{ - usecs = (ACE_hrtime_t) ((this->end_ - this->start_) / global_scale_factor_); -} - -ACE_INLINE void -ACE_High_Res_Timer::global_scale_factor (ACE_UINT32 gsf) -{ - global_scale_factor_ = gsf; -} - -ACE_INLINE ACE_UINT32 -ACE_High_Res_Timer::global_scale_factor () -{ - return global_scale_factor_; -} diff --git a/ace/INET_Addr.cpp b/ace/INET_Addr.cpp deleted file mode 100644 index 8f8244f1082..00000000000 --- a/ace/INET_Addr.cpp +++ /dev/null @@ -1,466 +0,0 @@ -// $Id$ - -// Defines the Internet domain address family address format. - -#define ACE_BUILD_DLL -#include "ace/INET_Addr.h" - -#if !defined (__ACE_INLINE__) -#include "ace/INET_Addr.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_INET_Addr) - -// Transform the current address into string format. - -int -ACE_INET_Addr::addr_to_string (char s[], size_t) const -{ - ACE_TRACE ("ACE_INET_Addr::addr_to_string"); - // This should check to make sure len is long enough... - ACE_OS::sprintf (s, "%s:%d", - this->get_host_addr (), - this->get_port_number ()); - return 0; -} - -void -ACE_INET_Addr::dump (void) const -{ - ACE_TRACE ("ACE_INET_Addr::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - - char s[ACE_MAX_FULLY_QUALIFIED_NAME_LEN + 16]; - ACE_OS::sprintf (s, "%s:%d", - this->get_host_addr (), - this->get_port_number ()); - ACE_DEBUG ((LM_DEBUG, "%s", s)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Compare two addresses for inequality. - -int -ACE_INET_Addr::operator != (const ACE_INET_Addr &sap) const -{ - ACE_TRACE ("ACE_INET_Addr::operator !="); - return !((*this) == sap); -} - -// Compare two addresses for equality. - -int -ACE_INET_Addr::operator == (const ACE_INET_Addr &sap) const -{ - ACE_TRACE ("ACE_INET_Addr::operator =="); - - return this->inet_addr_.sin_port == sap.inet_addr_.sin_port - && ACE_OS::memcmp ((void *) &this->inet_addr_.sin_addr, - (void *) &sap.inet_addr_.sin_addr, - sizeof (this->inet_addr_.sin_addr)) == 0; -} - -ACE_INET_Addr::ACE_INET_Addr (void) - : ACE_Addr (AF_INET, sizeof this->inet_addr_) -{ - // ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - (void) ACE_OS::memset ((void *) &this->inet_addr_, - 0, - sizeof this->inet_addr_); -} - -int -ACE_INET_Addr::set (const ACE_INET_Addr &sa) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - - this->ACE_Addr::base_set (sa.get_type (), sa.get_size ()); - - if (sa.get_type () == AF_ANY) - // Ugh, this is really a base class, so don't copy it. - (void) ACE_OS::memset ((void *) &this->inet_addr_, - 0, - sizeof this->inet_addr_); - else - // It's ok to make the copy. - (void) ACE_OS::memcpy ((void *) &this->inet_addr_, - (void *) &sa.inet_addr_, - sizeof this->inet_addr_); - return 0; -} - -// Transform the string into the current addressing format. - -int -ACE_INET_Addr::string_to_addr (const char s[]) -{ - ACE_TRACE ("ACE_INET_Addr::string_to_addr"); - int result; - char *t; - - // Need to make a duplicate since we'll be overwriting the string. - ACE_ALLOCATOR_RETURN (t, ACE_OS::strdup (s), -1); - - char *ip_addr = ACE_OS::strchr (t, ':'); - - if (ip_addr == 0) // Assume it's a port number. - { - u_short port = (u_short) ACE_OS::atoi (t); - result = this->set (port, ACE_UINT32 (INADDR_ANY)); - } - else - { - *ip_addr = '\0'; - u_short port = (u_short) ACE_OS::atoi (ip_addr + 1); // Skip over ':' - result = this->set (port, t); - } - - ACE_OS::free (ACE_MALLOC_T (t)); - return result; -} - -int -ACE_INET_Addr::set (const char address[]) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - return this->string_to_addr (address); -} - -ACE_INET_Addr::ACE_INET_Addr (const char address[]) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->set (address); -} - -// Copy constructor. - -ACE_INET_Addr::ACE_INET_Addr (const ACE_INET_Addr &sa) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->set (sa); -} - -// Initializes a ACE_INET_Addr from a PORT_NUMBER and an Internet -// address. - -int -ACE_INET_Addr::set (u_short port_number, - ACE_UINT32 inet_address, - int encode) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - this->ACE_Addr::base_set (AF_INET, sizeof this->inet_addr_); - (void) ACE_OS::memset ((void *) &this->inet_addr_, - 0, sizeof this->inet_addr_); - this->inet_addr_.sin_family = AF_INET; -#if defined (ACE_HAS_SIN_LEN) - this->inet_addr_.sin_len = sizeof this->inet_addr_; -#endif /* ACE_HAS_SIN_LEN */ - - if (encode) - { - inet_address = htonl (inet_address); - this->inet_addr_.sin_port = htons (port_number); - } - else - this->inet_addr_.sin_port = port_number; - - (void) ACE_OS::memcpy ((void *) &this->inet_addr_.sin_addr, - (void *) &inet_address, - sizeof this->inet_addr_.sin_addr); - return 0; -} - -// Initializes a ACE_INET_Addr from a PORT_NUMBER and the remote -// HOST_NAME. - -int -ACE_INET_Addr::set (u_short port_number, - const char host_name[], - int encode) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - ACE_UINT32 addr; - - this->ACE_Addr::base_set (AF_INET, sizeof this->inet_addr_); - (void) ACE_OS::memset ((void *) &this->inet_addr_, 0, sizeof - this->inet_addr_); - - // Yow, someone gave us a NULL host_name! - if (host_name == 0) - { - errno = EINVAL; - return -1; - } - else if (ACE_OS::inet_aton (host_name, (struct in_addr *) &addr) == 1) - return this->set (port_number, encode ? ntohl (addr) : addr, encode); - - else - { -#if defined (VXWORKS) || defined (CHORUS) - hostent *hp = ACE_OS::gethostbyname (host_name); -#else - hostent hentry; - ACE_HOSTENT_DATA buf; - int error; - - hostent *hp = ACE_OS::gethostbyname_r (host_name, &hentry, - buf, &error); -#endif /* VXWORKS */ - - if (hp == 0) - { - errno = EINVAL; - return -1; - } - else - { - (void) ACE_OS::memcpy ((void *) &addr, hp->h_addr, hp->h_length); - return this->set (port_number, encode ? ntohl (addr) : addr, encode); - } - } -} - -// Initializes a ACE_INET_Addr from a and the remote -// . - -int -ACE_INET_Addr::set (const char port_name[], - const char host_name[]) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - -#if defined (VXWORKS) || defined (CHORUS) - ACE_UNUSED_ARG (port_name); - ACE_UNUSED_ARG (host_name); - ACE_NOTSUP_RETURN (-1); -#else - servent sentry; - ACE_SERVENT_DATA buf; - - servent *sp = ACE_OS::getservbyname_r ((char *) port_name, - "tcp", &sentry, buf); - if (sp == 0) - return -1; - else - return this->set (sp->s_port, host_name, 0); -#endif /* VXWORKS */ -} - -// Initializes a ACE_INET_Addr from a and an Internet -// address. - -int -ACE_INET_Addr::set (const char port_name[], - ACE_UINT32 inet_address) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - -#if defined (VXWORKS) || defined (CHORUS) - ACE_UNUSED_ARG (port_name); - ACE_UNUSED_ARG (inet_address); - ACE_NOTSUP_RETURN (-1); -#else - servent sentry; - ACE_SERVENT_DATA buf; - - servent *sp = ACE_OS::getservbyname_r ((char *) port_name, - "tcp", &sentry, buf); - if (sp == 0) - return -1; - else - return this->set (sp->s_port, inet_address, 0); -#endif /* VXWORKS */ -} - -// Creates a ACE_INET_Addr from a PORT_NUMBER and the remote -// HOST_NAME. - - -ACE_INET_Addr::ACE_INET_Addr (u_short port_number, - const char host_name[]) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - if (this->set (port_number, host_name) == -1) - ACE_ERROR ((LM_ERROR, "ACE_INET_Addr::ACE_INET_Addr: %p\n", host_name)); -} - -// Creates a ACE_INET_Addr from a sockaddr_in structure. - -int -ACE_INET_Addr::set (const sockaddr_in *addr, int len) -{ - ACE_TRACE ("ACE_INET_Addr::set"); - this->ACE_Addr::base_set (AF_INET, len); - ACE_OS::memcpy ((void *) &this->inet_addr_, - (void *) addr, len); - return 0; -} - -// Set a pointer to the address. -void -ACE_INET_Addr::set_addr (void *addr, int len) -{ - ACE_TRACE ("ACE_INET_Addr::set_addr"); - - this->ACE_Addr::base_set (AF_INET, len); - ACE_OS::memcpy ((void *) &this->inet_addr_, - (void *) addr, len); -} - -// Creates a ACE_INET_Addr from a sockaddr_in structure. - - -ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->set (addr, len); -} - -// Creates a ACE_INET_Addr from a PORT_NUMBER and an Internet address. - - -ACE_INET_Addr::ACE_INET_Addr (u_short port_number, - ACE_UINT32 inet_address) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - if (this->set (port_number, inet_address) == -1) - ACE_ERROR ((LM_ERROR, "ACE_INET_Addr::ACE_INET_Addr")); -} - -// Creates a ACE_INET_Addr from a PORT_NAME and the remote -// HOST_NAME. - -ACE_INET_Addr::ACE_INET_Addr (const char port_name[], - const char host_name[]) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - if (this->set (port_name, host_name) == -1) - ACE_ERROR ((LM_ERROR, "ACE_INET_Addr::ACE_INET_Addr")); -} - -// Creates a ACE_INET_Addr from a PORT_NAME and an Internet address. - - -ACE_INET_Addr::ACE_INET_Addr (const char* port_name, - ACE_UINT32 inet_address) -{ - ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - if (this->set (port_name, inet_address) == -1) - ACE_ERROR ((LM_ERROR, "ACE_INET_Addr::ACE_INET_Addr")); -} - -int -ACE_INET_Addr::get_host_name (char hostname[], size_t len) const -{ - ACE_TRACE ("ACE_INET_Addr::get_host_name"); - - if (this->inet_addr_.sin_addr.s_addr == INADDR_ANY) - { - if (ACE_OS::hostname (hostname, len) == -1) - return -1; - else - return 0; - } - else - { -#if defined (VXWORKS) - ACE_UNUSED_ARG (len); - int error = ::hostGetByAddr ((int) this->inet_addr_.sin_addr.s_addr, - hostname); - if (error == OK) - return 0; - else - { - errno = error; - return -1; - } -#else - hostent hentry; - int a_len = sizeof this->inet_addr_.sin_addr.s_addr; - int error = 0; - -#if defined (CHORUS) - hostent *hp = ACE_OS::gethostbyaddr ((char *) &this->inet_addr_.sin_addr, - a_len, - this->addr_type_); -#else - ACE_HOSTENT_DATA buf; - hostent *hp = ACE_OS::gethostbyaddr_r ((char *) &this->inet_addr_.sin_addr, - a_len, - this->addr_type_, - &hentry, - buf, - &error); -#endif /* CHORUS */ - - if (hp == 0) - { - errno = error; - return -1; - } - else - { - if (ACE_OS::strlen (hp->h_name) >= len) - { - errno = ENOSPC; - return -1; - } - else - { - ACE_OS::strcpy (hostname, hp->h_name); - return 0; - } - } -#endif /* VXWORKS */ - } -} - -// Return the character representation of the hostname. - -const char * -ACE_INET_Addr::get_host_name (void) const -{ - ACE_TRACE ("ACE_INET_Addr::get_host_name"); - - static char name[MAXHOSTNAMELEN + 1]; -#if defined (VXWORKS) - if (this->get_host_name (name, MAXHOSTNAMELEN) == -1) - return 0; - else - return name; -#else - if (this->inet_addr_.sin_addr.s_addr == INADDR_ANY) - { - if (ACE_OS::hostname (name, MAXHOSTNAMELEN) == -1) - return 0; - else - return name; - } - else - { - int a_len = sizeof this->inet_addr_.sin_addr.s_addr; - - hostent *hp = ACE_OS::gethostbyaddr ((char *) &this->inet_addr_.sin_addr, - a_len, this->addr_type_); - - if (hp == 0) - return 0; - else - return hp->h_name; - } -#endif /* VXWORKS */ -} - -void -ACE_INET_Addr::set_port_number (u_short port_number, - int encode) -{ - ACE_TRACE ("ACE_INET_Addr::set_port_number"); - - if (encode) - port_number = htons (port_number); - - this->inet_addr_.sin_port = port_number; -} diff --git a/ace/INET_Addr.h b/ace/INET_Addr.h deleted file mode 100644 index b8fdc3af618..00000000000 --- a/ace/INET_Addr.h +++ /dev/null @@ -1,169 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// INET_Addr.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_INET_ADDR_H) -#define ACE_INET_ADDR_H - -#include "ace/ACE.h" -#include "ace/Addr.h" - -class ACE_Export ACE_INET_Addr : public ACE_Addr -{ - // = TITLE - // Defines the Internet domain address family address format. -public: - // = Initialization methods. - ACE_INET_Addr (void); - // Default constructor. - - ACE_INET_Addr (const ACE_INET_Addr &); - // Copy constructor. - - ACE_INET_Addr (const sockaddr_in *, int len); - // Creates an from a sockaddr_in structure. - - ACE_INET_Addr (u_short port_number, const char host_name[]); - // Creates an from a and the remote - // . - - ACE_INET_Addr (const char address[]); - // Initializes an from the
    , which can be - // "ip-number:port-number" (e.g., "tango.cs.wustl.edu:1234" or - // "128.252.166.57:1234"). If there is no ':' in the
    it - // is assumed to be a port number, with the IP address being - // INADDR_ANY. - - ACE_INET_Addr (u_short port_number, ACE_UINT32 ip_addr = INADDR_ANY); - // Creates an from a and an Internet - // . This method assumes that and - // are in host byte order. - - ACE_INET_Addr (const char port_name[], const char host_name[]); - // Uses to create an from a - // and the remote . - - ACE_INET_Addr (const char port_name[], ACE_UINT32 ip_addr); - // Uses to create an from a - // and an Internet . This method assumes that - // is in host byte order. - - // = Direct initialization methods (useful after the object has been - // constructed). - int set (const ACE_INET_Addr &); - // Initializes from another . - - int set (u_short port_number, const char host_name[], - int encode = 1); - // Initializes an from a and the - // remote . If is enabled then is - // converted into network byte order, otherwise it is assumed to be - // in network byte order already and are passed straight through. - - int set (u_short port_number, - ACE_UINT32 ip_addr = INADDR_ANY, - int encode = 1); - // Initializes an from a and an - // Internet . If is enabled then - // and are converted into network byte order, otherwise - // they are assumed to be in network byte order already and are - // passed straight through. - - int set (const char port_name[], const char host_name[]); - // Uses to initialize an from a - // and the remote . - - int set (const char port_name[], ACE_UINT32 ip_addr); - // Uses to initialize an from a - // and an Internet address. This assumes that - // is already in network byte order. - - int set (const char addr[]); - // Initializes an from the , which can be - // "ip-number:port-number" (e.g., "tango.cs.wustl.edu:1234" or - // "128.252.166.57:1234"). If there is no ':' in the
    it - // is assumed to be a port number, with the IP address being - // INADDR_ANY. - - int set (const sockaddr_in *, int len); - // Creates an from a sockaddr_in structure. - - virtual void *get_addr (void) const; - // Return a pointer to the underlying network address. - - virtual void set_addr (void *, int len); - // Set a pointer to the address. - - virtual int addr_to_string (char addr[], size_t) const; - // Transform the current address into string format, - // which is in the form "ip-number:port-number" (e.g., - // "tango.cs.wustl.edu:1234" or "128.252.166.57:1234"). - - virtual int string_to_addr (const char address[]); - // Initializes an from the
    , which can be - // "ip-number:port-number" (e.g., "tango.cs.wustl.edu:1234" or - // "128.252.166.57:1234"). If there is no ':' in the
    it - // is assumed to be a port number, with the IP address being - // INADDR_ANY. - - void set_port_number (u_short, int encode = 1); - // Sets the port number without affecting the host name. If - // is enabled then is converted into network - // byte order, otherwise it is assumed to be in network byte order - // already and are passed straight through. - - u_short get_port_number (void) const; - // Return the port number, converting it into host byte order. - - int get_host_name (char hostname[], size_t hostnamelen) const; - // Return the character representation of the name of the host, - // storing it in the (which is assumed to be - // bytes long). This version is reentrant. - - const char *get_host_name (void) const; - // Return the character representation of the hostname (this version - // is non-reentrant since it returns a pointer to a static data - // area). - - const char *get_host_addr (void) const; - // Return the dotted Internet address. - - ACE_UINT32 get_ip_address (void) const; - // Return the 4-byte IP address, converting it into host byte - // order. - - int operator == (const ACE_INET_Addr &SAP) const; - // Compare two addresses for equality. The addresses are considered - // equal if they contain the same IP address and port number. - - int operator != (const ACE_INET_Addr &SAP) const; - // Compare two addresses for inequality. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - sockaddr_in inet_addr_; - // Underlying representation. -}; - -#if defined (__ACE_INLINE__) -#include "ace/INET_Addr.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_INET_ADDR_H */ diff --git a/ace/INET_Addr.i b/ace/INET_Addr.i deleted file mode 100644 index ebeefaca31c..00000000000 --- a/ace/INET_Addr.i +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// INET_Addr.i - -// Return the port number, converting it into host byte order... - -ACE_INLINE u_short -ACE_INET_Addr::get_port_number (void) const -{ - ACE_TRACE ("ACE_INET_Addr::get_port_number"); - return ntohs (this->inet_addr_.sin_port); -} - -// Return the address. - -ACE_INLINE void * -ACE_INET_Addr::get_addr (void) const -{ - ACE_TRACE ("ACE_INET_Addr::get_addr"); - return (void *) &this->inet_addr_; -} - -// Return the dotted Internet address. - -ACE_INLINE const char * -ACE_INET_Addr::get_host_addr (void) const -{ - ACE_TRACE ("ACE_INET_Addr::get_host_addr"); - return ACE_OS::inet_ntoa (this->inet_addr_.sin_addr); -} - -// Return the 4-byte IP address, converting it into host byte order. - -ACE_INLINE ACE_UINT32 -ACE_INET_Addr::get_ip_address (void) const -{ - ACE_TRACE ("ACE_INET_Addr::get_ip_address"); - return ntohl (ACE_UINT32 (this->inet_addr_.sin_addr.s_addr)); -} - diff --git a/ace/IOStream.cpp b/ace/IOStream.cpp deleted file mode 100644 index 2cdf10153c9..00000000000 --- a/ace/IOStream.cpp +++ /dev/null @@ -1,630 +0,0 @@ -// $Id$ - -#if !defined (ACE_IOSTREAM_C) -#define ACE_IOSTREAM_C - -#define ACE_BUILD_DLL - -#include "ace/IOStream.h" - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -/////////////////////////////////////////////////////////////////////////// - -/* Here's a simple example of how iostream's non-virtual operators can - get you in a mess: - - class myiostream : public iostream - { - public: - myiostream& operator>> (String & s) - { - ... - } - }; - - ... - - int i; - String s; - myiostream foo (...); - - foo >> s; - // OK - // invokes myiostream::operator>> (String&) returning myiostream& - - foo >> i; - // OK - // invokes iostream::operator>> (int&) returning iostream& - - foo >> i >> s; - // BAD - // invokes iostream::operator>> (int&) then iostream::operator>> (String&) - // - // What has happened is that the first >> is invoked on the base class and returns - // a reference to iostream. The second >> has no idea of the ACE_IOStream and - // gets invoked on iostream. Probably NOT what you wanted! - - - // In order to make all of this work the way you want, you have to do this: - - class myiostream : public iostream - { - public: - myiostream& operator>> (int & i) - { - return ((myiostream&)iostream::operator>> (i)); - } - - myiostream& operator>> (String & s) - { - ... - } - }; - - ... - - int i; - String s; - myiostream foo (...); - - foo >> s; - // OK - // invokes myiostream::operator>> (String&) returning myiostream& - - foo >> i; - // OK - // invokes myiostream::operator>> (int&) returning myiostream& - - - foo >> i >> s; - // OK - // Because you provided operator>> (int&) in class myiostream, that - // function will be invoked by the first >>. Since it returns - // a myiostream&, the second >> will be invoked as desired. */ - -ACE_HANDLE -ACE_Streambuf::get_handle (void) -{ - return 0; -} - -ACE_Time_Value * -ACE_Streambuf::recv_timeout (ACE_Time_Value *tv) -{ - ACE_Time_Value * rval = recv_timeout_; - if (tv) - { - recv_timeout_value_ = *tv; - recv_timeout_ = &recv_timeout_value_; - } - else - recv_timeout_ = NULL; - - return rval; -} - -int -ACE_Streambuf::underflow (void) -{ - // If input mode is not set, any attempt to read from the stream is - // a failure. - - if (ACE_BIT_DISABLED (mode_, ios::in)) - return EOF; - - // If base () is empty then this is the first time any get/put - // operation has been attempted on the stream. - - if (!this->base ()) - { - // Set base () to use our private read buffer. The arguments are: - // beginning of the buffer (base ()) - // one-beyond the end of the buffer (ebase ()) - // should base () be deleted on destruction - // - // We have to say "no" to the third parameter because we want to - // explicitly handle deletion of the TWO buffers at destruction. - - setb (this->eback_saved_, - this->eback_saved_ + streambuf_size_, 0); - - // Remember that we are now in getMode. This will help us if - // we're called prior to a mode change as well as helping us - // when the mode does change. - this->cur_mode_ = this->get_mode_; - // Using the new values for base (), initialize the get area. - // This simply sets eback (), gptr () and egptr () described - // earlier. - setg (base (), base (), base ()); - - // Set the put buffer such that puts will be disabled. Any - // attempt to put data will now cause overflow to be invoked. - setp (0, 0); - } - else // base () has been initialized already... - { - // If we are in put_mode_ now, then it is time to switch to get_mode_ - // - // 1. get rid of any pending output - // 2. rearrange base () to use our half of the buffer - // 3. reset the mode - // - if (this->cur_mode_ == this->put_mode_) - { - // Dump any pending output to the peer. This is not really - // necessary because of the dual-buffer arrangement we've - // set up but intuitively it makes sense to send the pending - // data before we request data since the peer will probably - // need what we're sending before it can respond. - if (out_waiting () && syncout () == EOF) - return EOF; - - // We're about to disable put mode but before we do that, we - // wan't to preserve it's state. - this->pbase_saved_ = pbase (); - this->pptr_saved_ = pptr (); - this->epptr_saved_ = epptr (); - - // Disable put mode as described in the constructor. - setp (0, 0); - - // Like the case where base () is false, we now point base - // () to use our private get buffer. - setb (this->eback_saved_, - this->eback_saved_ + streambuf_size_, - 0); - - // And restore the previous state of the get pointers. - - setg (this->eback_saved_, this->gptr_saved_, - this->egptr_saved_); - - // Finally, set our mode so that we don't get back into this - // if () and so that overflow can operate correctly. - cur_mode_ = get_mode_; - } - - // There could be data in the input buffer if we switched to put - // mode before reading everything. In that case, we take this - // opportunity to feed it back to the iostream. - if (in_avail ()) - // Remember that we return an int so that we can give back - // EOF. The explicit cast prevents us from returning a signed - // char when we're not returning EOF. - return (u_char) *gptr (); - } - - // We really shouldn't be here unless there is a lack of data in the - // read buffer. So... go get some more data from the peer. - - int result = fillbuf (); - - // Fillbuf will give us EOF if there was an error with the peer. In - // that case, we can do no more input. - - if (EOF == result) - { - // Disable ourselves and return failure to the iostream. That - // should result in a call to have oursleves closed. - setg (0, 0, 0); - return EOF; - } - - // Return the next available character in the input buffer. Again, - // we protect against sign extension. - - return (u_char) *gptr (); -} - -// Much of this is similar to underflow. I'll just hit the highlights -// rather than repeating a lot of what you've already seen. - -int -ACE_Streambuf::overflow (int c) -{ - // Check to see if output is allowed at all. - if (! (mode_ & ios::out)) - return EOF; - - if (!base ()) - { - // Set base () to use put's private buffer. - // - setb (this->pbase_saved_, - this->pbase_saved_ + streambuf_size_, 0); - - // Set the mode for optimization. - this->cur_mode_ = this->put_mode_; - // Set the put area using the new base () values. - setp (base (), ebuf ()); - - // Disable the get area. - setg (0, 0, 0); - } - else // We're already reading or writing - { - // If we're coming out of get mode... - if (this->cur_mode_ == this->get_mode_) - { - // Save the current get mode values - this->eback_saved_ = eback (); - this->gptr_saved_ = gptr (); - this->egptr_saved_ = egptr (); - - // then disable the get buffer - setg (0, 0, 0); - - // Reconfigure base () and restore the put pointers. - setb (pbase_saved_, pbase_saved_ + streambuf_size_, 0); - setp (base (), ebuf ()); - - // Save the new mode. - this->cur_mode_ = this->put_mode_; - } - - // If there is output to be flushed, do so now. We shouldn't - // get here unless this is the case... - - if (out_waiting () && EOF == syncout ()) - return EOF; - } - - // If we're not putting EOF, then we have to deal with the character - // that is being put. Perhaps we should do something special with EOF??? - - if (c != EOF) - { - // We've already written any data that may have been in the - // buffer, so we're guaranteed to have room in the buffer for - // this new information. So... we add it to the buffer and - // adjust our 'next' pointer acordingly. - *pptr () = (char) c; - pbump (1); - } - - return 0; -} - -// syncin - -int -ACE_Streambuf::syncin (void) -{ - // As discussed, there really isn't any way to sync input from a - // socket-like device. We specifially override this base-class - // function so that it won't do anything evil to us. - return 0; -} - -// syncout - -int -ACE_Streambuf::syncout (void) -{ - // Unlike syncin, syncout is a doable thing. All we have to do is - // write whatever is in the output buffer to the peer. flushbuf () - // is how we do it. - - if (flushbuf () == EOF) - return EOF; - else - return 0; -} - -int -ACE_Streambuf::sync (void) -{ - // sync () is fairly traditional in that it syncs both input and - // output. We could have omitted the call to syncin () but someday, - // we may want it to do something. - - syncin (); - - // Don't bother syncing the output unless there is data to be - // sent... - - if (out_waiting ()) - return syncout (); - else - return 0; -} - -// flushbuf - -int -ACE_Streambuf::flushbuf (void) -{ - // pptr () is one character beyond the last character put into the - // buffer. pbase () points to the beginning of the put buffer. - // Unless pptr () is greater than pbase () there is nothing to be - // sent to the peer. - - if (pptr () <= pbase ()) - return 0; - - // 4/12/97 -- JCEJ - // Kludge!!! - // If the remote side shuts down the connection, an attempt to send - // () to the remote will result in the message 'Broken Pipe' I think - // this is an OS message, I've tracked it down to the ACE_OS::write - // () function. That's the last one to be called before the - // message. I can only test this on Linux though, so I don't know - // how other systems will react. - // - // To get around this gracefully, I do a PEEK recv () with an - // immediate (nearly) timeout. recv () is much more graceful on - // it's failure. If we get -1 from recv () not due to timeout then - // we know we're SOL. - // - // Q: Is 'errno' threadsafe? Should the section below be a - // critical section? - // - // char tbuf[1]; - // ACE_Time_Value to (0,1); - // if (this->recv (tbuf, 1, MSG_PEEK, &to) == -1) - // { - // if (errno != ETIME) - // { - // perror ("OOPS preparing to send to peer"); - // return EOF; - // } - // } - // - // The correct way to handle this is for the application to trap - // (and ignore?) SIGPIPE. Thanks to Amos Shapira for reminding me - // of this. - - // Starting at the beginning of the buffer, send as much data as - // there is waiting. send guarantees that all of the data will be - // sent or an error will be returned. - - if (this->send (pbase (), pptr () - pbase ()) == -1) - return EOF; - - // Now that we've sent everything in the output buffer, we reset the - // buffer pointers to appear empty. - setp (base (), ebuf ()); - - return 0; -} - -int -ACE_Streambuf::get_one_byte (void) -{ - this->timeout_ = 0; - - // The recv function will return immediately if there is no data - // waiting. So, we use recv_n to wait for exactly one byte to come - // from the peer. Later, we can use recv to see if there is - // anything else in the buffer. (Ok, we could use flags to tell it - // to block but I like this better.) - - if (this->recv_n (base (), 1, MSG_PEEK, this->recv_timeout_) != 1) - { - if (errno == ETIME) - this->timeout_ = 1; - return EOF; - } - else - return 1; -} - -// This will be called when the read (get) buffer has been exhausted -// (ie -- gptr == egptr). - -int -ACE_Streambuf::fillbuf (void) -{ - // Invoke recv_n to get exactly one byte from the remote. This will - // block until something shows up. - - if (get_one_byte () == EOF) - return EOF; - - // Now, get whatever else may be in the buffer. This will return if - // there is nothing in the buffer. - - int bc = this->recv (base (), blen (), this->recv_timeout_); - - // recv will give us -1 if there was a problem. If there was - // nothing waiting to be read, it will give us 0. That isn't an - // error. - - if (bc < 0) - { - if (errno == ETIME) - this->timeout_ = 1; - return EOF; - } - - // Move the get pointer to reflect the number of bytes we just read. - - setg (base (), base (), base () + bc); - - // Return the byte-read-count including the one from . - return bc; -} - -ACE_Streambuf::ACE_Streambuf (u_int streambuf_size, int io_mode) - : eback_saved_ (0), // to avoid Purify UMR - pbase_saved_ (0), // to avoid Purify UMR - get_mode_ (1), - put_mode_ (2), - mode_ (io_mode), - streambuf_size_ (streambuf_size), - recv_timeout_ (NULL) -{ - (void)reset_get_buffer (); - (void)reset_put_buffer (); -} - -u_int -ACE_Streambuf::streambuf_size (void) -{ - return streambuf_size_; -} - -// Return the number of bytes not yet gotten. eback + get_waiting = -// gptr. - -u_int -ACE_Streambuf::get_waiting (void) -{ - return this->gptr_saved_ - this->eback_saved_; -} - -// Return the number of bytes in the get area (includes some already -// gotten); eback + get_avail = egptr. - -u_int -ACE_Streambuf::get_avail (void) -{ - return this->egptr_saved_ - this->eback_saved_; -} - -// Return the number of bytes to be 'put' onto the stream media. -// pbase + put_avail = pptr. - -u_int -ACE_Streambuf::put_avail (void) -{ - return this->pptr_saved_ - this->pbase_saved_; -} - -// Typical usage: -// -// u_int newGptr = otherStream->get_waiting (); -// u_int newEgptr = otherStream->get_avail (); -// char * newBuf = otherStream->reset_get_buffer (); -// char * oldgetbuf = myStream->reset_get_buffer (newBuf, otherStream->streambuf_size (), newGptr, newEgptr); -// -// 'myStream' now has the get buffer of 'otherStream' and can use it in any way. -// 'otherStream' now has a new, empty get buffer. - -char * -ACE_Streambuf::reset_get_buffer (char *newBuffer, - u_int _streambuf_size, - u_int _gptr, - u_int _egptr) -{ - char * rval = this->eback_saved_; - - // The get area is where the iostream will get data from. This is - // our read buffer. There are three pointers which describe the - // read buffer: - // - // eback () - The beginning of the buffer. Also the furthest - // point at which putbacks can be done. Hence the name. - // - // gptr () - Where the next character is to be got from. - // - // egptr () - One position beyond the last get-able character. - // - // So that we can switch quicky from read to write mode without - // any data copying, we keep copies of these three pointers in - // the variables below. Initially, they all point to the beginning - // of our read-dedicated buffer. - // - if (newBuffer) - { - if (streambuf_size_ != _streambuf_size) - return NULL; - this->eback_saved_ = newBuffer; - } - else - ACE_NEW_RETURN (this->eback_saved_, char[streambuf_size_], 0); - - this->gptr_saved_ = this->eback_saved_ + _gptr; - this->egptr_saved_ = this->eback_saved_ + _egptr; - - // Disable the get area initially. This will cause underflow to be - // invoked on the first get operation. - setg (0, 0, 0); - - reset_base (); - - return rval; -} - -// Typical usage: -// -// u_int newPptr = otherStream->put_avail (); -// char * newBuf = otherStream->reset_put_buffer (); -// char * oldputbuf = otherStream->reset_put_buffer (newBuf, otherStream->streambuf_size (), newPptr); - -char * -ACE_Streambuf::reset_put_buffer (char *newBuffer, - u_int _streambuf_size, - u_int _pptr) -{ - char *rval = this->pbase_saved_; - - // The put area is where the iostream will put data that needs to be - // sent to the peer. This becomes our write buffer. The three - // pointers which maintain this area are: - // - // pbase () - The beginning of the put area. - // - // pptr () - Where the next character is to be put. - // - // epptr () - One beyond the last valid position for putting. - // - // Again to switch quickly between modes, we keep copies of - // these three pointers. - // - if (newBuffer) - { - if (streambuf_size_ != _streambuf_size) - return NULL; - this->pbase_saved_ = newBuffer; - } - else - ACE_NEW_RETURN (this->pbase_saved_, char[streambuf_size_], 0); - - this->pptr_saved_ = this->pbase_saved_ + _pptr; - this->epptr_saved_ = this->pbase_saved_ + streambuf_size_; - - // Disable the put area. Overflow will be called by the first call - // to any put operator. - setp (0, 0); - - reset_base (); - - return rval; -} - -void -ACE_Streambuf::reset_base (void) -{ - // Until we experience the first get or put operation, we do not - // know what our current IO mode is. - this->cur_mode_ = 0; - - // The common area used for reading and writting is called "base". - // We initialize it this way so that the first get/put operation - // will have to "allocate" base. This allocation will set base to - // the appropriate specific buffer and set the mode to the correct - // value. - setb (0, 0); -} - -// If the default allocation strategey were used the common buffer -// would be deleted when the object destructs. Since we are providing -// separate read/write buffers, it is up to us to manage their memory. - -ACE_Streambuf::~ACE_Streambuf (void) -{ - delete [] this->eback_saved_; - delete [] this->pbase_saved_; -} - -u_char ACE_Streambuf::timeout (void) -{ - u_char rval = this->timeout_; - this->timeout_ = 0; - return rval; -} - -#endif /* !ACE_LACKS_ACE_IOSTREAM */ -#endif /* ACE_IOSTREAM_C */ diff --git a/ace/IOStream.h b/ace/IOStream.h deleted file mode 100644 index 80834742fd8..00000000000 --- a/ace/IOStream.h +++ /dev/null @@ -1,432 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// IOStream.h -// -// = AUTHOR -// James CE Johnson and Jim Crossley -// -// ============================================================================ - -#if !defined (ACE_IOSTREAM_H) -#define ACE_IOSTREAM_H - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -#include "ace/INET_Addr.h" -#include "ace/Handle_Set.h" -#include "ace/streams.h" - -#if defined (ACE_HAS_STRING_CLASS) -#if defined (ACE_WIN32) -typedef CString ACE_IOStream_String; -#else -#if !defined (ACE_HAS_STDCPP_STL_INCLUDES) -#include /**/ -typedef String ACE_IOStream_String; -#else -#include /**/ -typedef string ACE_IOStream_String; -#endif /* ! ACE_HAS_STDCPP_STL_INCLUDES */ -#endif /* ACE_WIN32 */ - -#if defined (DEC_CXX) -# if __DECCXX_VER < 50700000 -# include /**/ -# else -# include /**/ -# endif /* __DECCXX_VER < 50700000 */ -#endif /* DEC_CXX */ - - -class ACE_Quoted_String : public ACE_IOStream_String -{ -public: - inline ACE_Quoted_String (void) { *this = ""; } - inline ACE_Quoted_String (const char *c) { *this = ACE_IOStream_String (c); } - inline ACE_Quoted_String (const ACE_IOStream_String &s) { *this = s; } - inline ACE_Quoted_String &operator= (const ACE_IOStream_String& s) - { - return (ACE_Quoted_String &) ACE_IOStream_String::operator= (s); - } - inline ACE_Quoted_String &operator = (const char c) { - return (ACE_Quoted_String &) ACE_IOStream_String::operator= (c); - } - inline ACE_Quoted_String &operator = (const char *c) { - return (ACE_Quoted_String &) ACE_IOStream_String::operator= (c); - } - inline int operator < (const ACE_Quoted_String &s) const { - return *(ACE_IOStream_String *) this < (ACE_IOStream_String) s; - } -#if defined (ACE_WIN32) - inline int length (void) { return this->GetLength (); } -#endif /* ACE_WIN32 */ -}; - -#endif /* ACE_HAS_STRING_CLASS */ - -class ACE_Export ACE_Streambuf : public streambuf -{ - // = TITLE - // Create your custom streambuf by providing and ACE_*_Stream - // object to this template. I have tested it with - // ACE_SOCK_Stream and it should work fine for others as well. - // - // = DESCRIPTION - // For any iostream object, the real work is done by the - // underlying streambuf class. That is what we create here. - // - // A streambuf has an internal buffer area into which data is - // read and written as the iostream requests and provides data. - // At some point during the read process, the iostream will - // realize that the streambuf has no more data. The underflow - // function of the streambuf is then called. - // - // Likewise, during the write process, the iostream will - // eventually notice that the streabuf's buffer has become full - // and will invoke the overflow function. - // - // The empty/full state of the read/write "buffers" are - // controled by two sets pointers. One set is dedicated to - // read, the other to write. These pointers, in turn, reference - // a common buffer that is to be shared by both read and write - // operations. It is this common buffer to which data is - // written and from which it is read. - // - // The common buffer is used by functions of the streambuf as - // well as the iostream. Because of this and the fact that it - // is "shared" by both read and write operators, there is a - // danger of data corruption if read and write operations are - // allowed to take place "at the same time". - // - // To prevent data corruption, we manipulate the read and write - // pointer sets so that the streambuf is in either a read-mode - // or write-mode at all times and can never be in both modes at - // the same time. - // - // In the constructor: set the read and write sets to NULL This - // causes the underflow or overflow operators to be invoked at - // the first IO activity of the iostream. - // - // In the underflow function we arrange for the common buffer to - // reference our read buffer and for the write pointer set to be - // disabled. If a write operation is performed by the iostream - // this will cause the overflow function to be invoked. - // - // In the overflow function we arrange for the common buffer to - // reference our write buffer and for the read pointer set to be - // disabled. This causes the underflow function to be invoked - // when the iostream "changes our mode". - // - // The overflow function will also invoke the send_n function to - // flush the buffered data to our peer. Similarly, the sync and - // syncout functions will cause send_n to be invoked to send the - // data. - // - // Since socket's and the like do not support seeking, there can - // be no method for "syncing" the input. However, since we - // maintain separate read/write buffers, no data is lost by - // "syncing" the input. It simply remains buffered. -public: - - virtual ~ACE_Streambuf (void); - // If the default allocation strategey were used the common buffer - // would be deleted when the object destructs. Since we are - // providing separate read/write buffers, it is up to us to manage - // their memory. - - ACE_Time_Value *recv_timeout (ACE_Time_Value *tv = NULL); - // Get the current Time_Value pointer and provide a new one. - - char *reset_put_buffer (char *newBuffer = NULL, - u_int _streambuf_size = 0, - u_int _pptr = 0 ); - // Use this to allocate a new/different buffer for put operations. - // If you do not provide a buffer pointer, one will be allocated. - // That is the preferred method. If you do provide a buffer, the - // size must match that being used by the get buffer. If - // successful, you will receive a pointer to the current put buffer. - // It is your responsibility to delete this memory when you are done - // with it. - - u_int put_avail (void); - // Return the number of bytes to be 'put' onto the stream media. - // pbase + put_avail = pptr - - char *reset_get_buffer (char *newBuffer = NULL, - u_int _streambuf_size = 0, - u_int _gptr = 0, - u_int _egptr = 0); - // Use this to allocate a new/different buffer for get operations. - // If you do not provide a buffer pointer, one will be allocated. - // That is the preferred method. If you do provide a buffer, the - // size must match that being used by the put buffer. If - // successful, you will receive a pointer to the current get buffer. - // It is your responsibility to delete this memory when you are done - // with it. - - u_int get_waiting (void); - // Return the number of bytes not yet gotten. eback + get_waiting = - // gptr - - u_int get_avail (void); - // Return the number of bytes in the get area (includes some already - // gotten); eback + get_avail = egptr - - u_int streambuf_size (void); - // Query the streambuf for the size of its buffers. - - u_char timeout (void); - // Did we take an error because of an IO operation timeout? Note: - // Invoking this resets the flag. - -protected: - ACE_Streambuf (u_int streambuf_size, - int io_mode); - - virtual int sync (void); - // Sync both input and output. See syncin/syncout below for - // descriptions. - - // = Signatures for the underflow/overflow discussed above. - virtual int underflow (void); - - virtual int overflow (int = EOF); - // The overflow function receives the character which caused the - // overflow. - - void reset_base (void); - // Resets the base() pointer and streambuf mode. This is used - // internally when get/put buffers are allocatd. - -protected: - // = Two pointer sets for manipulating the read/write areas. - char *eback_saved_; - char *gptr_saved_; - char *egptr_saved_; - char *pbase_saved_; - char *pptr_saved_; - char *epptr_saved_; - - // = With cur_mode_ we keep track of our current IO mode. - - // This helps us to optimize the underflow/overflow functions. - u_char cur_mode_; - const u_char get_mode_; - const u_char put_mode_; - - int mode_; - // mode tells us if we're working for an istream, ostream, or - // iostream. - - const u_int streambuf_size_; - // This defines the size of the input and output buffers. It can be - // set by the object constructor. - - u_char timeout_; - // Did we take an error because of an IO operation timeout? - - ACE_Time_Value recv_timeout_value_; - ACE_Time_Value *recv_timeout_; - // We want to allow the user to provide Time_Value pointers to - // prevent infinite blocking while waiting to receive data. - - int syncin (void); - // syncin is called when the input needs to be synced with the - // source file. In a filebuf, this results in the seek() system - // call being used. We can't do that on socket-like connections, so - // this does basically nothing. That's safe because we have a - // separate read buffer to maintain the already-read data. In a - // filebuf, the single common buffer is used forcing the seek() - // call. - - int syncout (void); - // syncout is called when the output needs to be flushed. This is - // easily done by calling the peer's send_n function. - - int flushbuf (void); - // flushbuf is the worker of syncout. It is a separate function - // because it gets used sometimes in different context. - - int fillbuf (void); - // fillbuf is called in a couple of places. This is the worker of - // underflow. It will attempt to fill the read buffer from the - // peer. - - virtual int get_one_byte (void); - // Used by fillbuf and others to get exactly one byte from the peer. - // recv_n is used to be sure we block until something is available. - // It is virtual because we really need to override it for - // datagram-derived objects. - - virtual ssize_t send (char *buf, - ssize_t len) = 0; - virtual ssize_t recv (char *buf, - ssize_t len, - ACE_Time_Value *tv = NULL) = 0; - virtual ssize_t recv (char *buf, - ssize_t len, - int flags, - ACE_Time_Value *tv = NULL) = 0; - virtual ssize_t recv_n (char *buf, - ssize_t len, - int flags = 0, - ACE_Time_Value *tv = NULL) = 0; - // Stream connections and "unconnected connections" (ie -- - // datagrams) need to work just a little differently. We derive - // custom Streambuf objects for them and provide these functions at - // that time. - - virtual ACE_HANDLE get_handle (void); - -#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) - char *base (void) const - { - return cur_mode_ == get_mode_ ? eback_saved_ - : cur_mode_ == put_mode_ ? pbase_saved_ - : 0; - } - char *ebuf (void) const - { - return cur_mode_ == 0 ? 0 : base() + streambuf_size_; - } - - int blen (void) const - { - return streambuf_size_; - } - - void setb (char* b, char* eb, int a=0) - { - setbuf (b, (eb - b)); - } - - int out_waiting (void) - { - return pptr () - pbase (); - } -#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ -}; - -/////////////////////////////////////////////////////////////////////////// - -// These typedefs are provided by G++ (on some systems?) without the -// trailing '_'. Since we can't count on 'em, I've defined them to -// what GNU wants here. -// -typedef ios& (*__manip_)(ios&); -typedef istream& (*__imanip_)(istream&); -typedef ostream& (*__omanip_)(ostream&); - -// Trying to do something like is shown below instead of using the -// __*manip typedefs causes Linux do segfault when "<> (DT v) -#define GET_CODE { \ - if (ipfx (0)) \ - { \ - iostream::operator>> (v); \ - } \ - isfx (); \ - return *this; \ - } -#define GET_PROT(MT,DT,CODE) GET_SIG(MT,DT) CODE -#define GET_FUNC(MT,DT) GET_PROT(MT,DT,GET_CODE) - -// This macro defines the put operator for class MT into datatype DT. -// We will use it below to quickly override most (all?) iostream put -// operators. Notice how the opfx() and osfx() functions are used. - -#define PUT_SIG(MT,DT) inline virtual MT& operator<< (DT v) -#define PUT_CODE { \ - if (opfx ()) \ - { \ - iostream::operator<< (v); \ - } \ - osfx (); \ - return *this; \ - } -#define PUT_PROT(MT,DT,CODE) PUT_SIG(MT,DT) CODE -#define PUT_FUNC(MT,DT) PUT_PROT(MT,DT,PUT_CODE) - - -// These are necessary in case somebody wants to derive from us and -// override one of these with a custom approach. - -#define GET_FUNC_SET0(MT,CODE,CODE2) \ - GET_PROT(MT,short &,CODE) \ - GET_PROT(MT,u_short &,CODE) \ - GET_PROT(MT,int &,CODE) \ - GET_PROT(MT,u_int &,CODE) \ - GET_PROT(MT,long &,CODE) \ - GET_PROT(MT,u_long &,CODE) \ - GET_PROT(MT,float &,CODE) \ - GET_PROT(MT,double &,CODE) \ - GET_PROT(MT,char &,CODE) \ - GET_PROT(MT,u_char &,CODE) \ - GET_PROT(MT,char *,CODE) \ - GET_PROT(MT,u_char *,CODE) \ - inline virtual MT& operator>>(__omanip_ func) CODE2 \ - inline virtual MT& operator>>(__manip_ func) CODE2 - -#define PUT_FUNC_SET0(MT,CODE,CODE2) \ - PUT_PROT(MT,short,CODE) \ - PUT_PROT(MT,u_short,CODE) \ - PUT_PROT(MT,int,CODE) \ - PUT_PROT(MT,u_int,CODE) \ - PUT_PROT(MT,long,CODE) \ - PUT_PROT(MT,u_long,CODE) \ - PUT_PROT(MT,float,CODE) \ - PUT_PROT(MT,double,CODE) \ - PUT_PROT(MT,char,CODE) \ - PUT_PROT(MT,u_char,CODE) \ - PUT_PROT(MT,const char *,CODE) \ - PUT_PROT(MT,u_char *,CODE) \ - PUT_PROT(MT,void *,CODE) \ - inline virtual MT& operator<<(__omanip_ func) CODE2 \ - inline virtual MT& operator<<(__manip_ func) CODE2 - -#if defined (ACE_LACKS_SIGNED_CHAR) - #define GET_FUNC_SET1(MT,CODE,CODE2) GET_FUNC_SET0(MT,CODE,CODE2) - #define PUT_FUNC_SET1(MT,CODE,CODE2) PUT_FUNC_SET0(MT,CODE,CODE2) -#else - #define GET_FUNC_SET1(MT,CODE,CODE2) \ - GET_PROT(MT,signed char &,CODE) \ - GET_PROT(MT,signed char *,CODE) \ - GET_FUNC_SET0(MT,CODE,CODE2) - - #define PUT_FUNC_SET1(MT,CODE,CODE2) \ - PUT_FUNC(MT,signed char) \ - PUT_FUNC(MT,const signed char *) \ - PUT_FUNC_SET0(MT,CODE,CODE2) -#endif /* ACE_LACKS_SIGNED_CHAR */ - -#define GET_MANIP_CODE { if( ipfx() ) { (*func)(*this); } isfx(); return *this; } -#define PUT_MANIP_CODE { if( opfx() ) { (*func)(*this); } osfx(); return *this; } - -#define GET_FUNC_SET(MT) GET_FUNC_SET1(MT,GET_CODE,GET_MANIP_CODE) -#define PUT_FUNC_SET(MT) PUT_FUNC_SET1(MT,PUT_CODE,PUT_MANIP_CODE) -#define GETPUT_FUNC_SET(MT) GET_FUNC_SET(MT) PUT_FUNC_SET(MT) - -#define GET_SIG_SET(MT) GET_FUNC_SET1(MT,= 0;,= 0;) -#define PUT_SIG_SET(MT) PUT_FUNC_SET1(MT,= 0;,= 0;) -#define GETPUT_SIG_SET(MT) GET_SIG_SET(MT) PUT_SIG_SET(MT) - -// Include the templates here. -#include "ace/IOStream_T.h" -#endif /* !ACE_LACKS_ACE_IOSTREAM */ -#endif /* ACE_IOSTREAM_H */ diff --git a/ace/IOStream_T.cpp b/ace/IOStream_T.cpp deleted file mode 100644 index 81aea906eae..00000000000 --- a/ace/IOStream_T.cpp +++ /dev/null @@ -1,200 +0,0 @@ -// $Id$ - -#if !defined (ACE_IOSTREAM_T_C) -#define ACE_IOSTREAM_T_C - -#define ACE_BUILD_DLL - -#include "ace/IOStream_T.h" - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -#if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION) && defined (__GNUG__) -# if !defined (ACE_IOSTREAM_T_H) - // _Only_ define this when compiling this .cpp file standalone, not - // when instantiating templates. Its purpose is to provide something - // for global constructors and destructors to be tied to. Without it, - // they would be tied to the file(name). With Cygnus g++ 2.7.2/VxWorks, - // that name is used directly in variable names in the munched ctor/dtor - // file. That name contains a ".", so it's not a legal C variable name. - // The root of all this trouble is a static instance (of Iostream_init) - // declared in the iostream.h header file. - int ACE_IOStream_global_of_builtin_type_to_avoid_munch_problems = 0; -# endif /* ! ACE_IOSTREAM_T_H */ -#endif /* ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION && __GNUG__ */ - -#if !defined (__ACE_INLINE__) -#include "ace/IOStream_T.i" -#endif /* !__ACE_INLINE__ */ - -// We will be given a STREAM by the iostream object which creates us. -// See the ACE_IOStream template for how that works. Like other -// streambuf objects, we can be input-only, output-only or both. - -template -ACE_Streambuf_T::ACE_Streambuf_T (STREAM *peer, - u_int streambuf_size, - int io_mode) - : ACE_Streambuf (streambuf_size, io_mode), - peer_ (peer) -{ - // A streambuf allows for unbuffered IO where every character is - // read as requested and written as provided. To me, this seems - // terribly inefficient for socket-type operations, so I've disabled - // it. All of the work would be done by the underflow/overflow - // functions anyway and I haven't implemented anything there to - // support unbuffered IO. - -#if !defined (ACE_LACKS_UNBUFFERED_STREAMBUF) - this->unbuffered (0); -#endif /* ! ACE_LACKS_UNBUFFERED_STREAMBUF */ - - // Linebuffered is similar to unbuffered. Again, I don't have any - // need for this and I don't see the advantage. I believe this - // would have to be supported by underflow/overflow to be effective. -#if !defined (ACE_LACKS_LINEBUFFERED_STREAMBUF) - this->linebuffered (0); -#endif /* ! ACE_LACKS_LINEBUFFERED_STREAMBUF */ -} - -// The typical constructor. This will initiailze your STREAM and then -// setup the iostream baseclass to use a custom streambuf based on -// STREAM. - -template -ACE_IOStream::ACE_IOStream (STREAM &stream, - u_int streambuf_size) - : iostream (streambuf_ = new ACE_Streambuf_T ((STREAM *) this, streambuf_size)), - STREAM (stream) -{ - iostream::init (this->streambuf_); -} - -template -ACE_IOStream::ACE_IOStream (u_int streambuf_size) - : iostream (streambuf_ = new ACE_Streambuf_T ((STREAM *) this, streambuf_size)) -{ - iostream::init (this->streambuf_); -} - -// We have to get rid of the streambuf_ ourselves since we gave it to -// iostream () - -template -ACE_IOStream::~ACE_IOStream (void) -{ - delete this->streambuf_; -} - -// The only ambituity in the multiple inheritance is the close () -// function. - -template int -ACE_IOStream::close (void) -{ - return STREAM::close (); -} - -template ACE_IOStream & -ACE_IOStream::operator>> (ACE_Time_Value *&tv) -{ - ACE_Time_Value *old_tv = this->streambuf_->recv_timeout (tv); - tv = old_tv; - return *this; -} - -#if defined (ACE_HAS_STRING_CLASS) - -// A simple string operator. The base iostream has 'em for char* but -// that isn't always the best thing for a String. If we don't provide -// our own here, we may not get what we want. - -template ACE_IOStream & -ACE_IOStream::operator>> (ACE_IOStream_String &v) -{ - if (ipfx0 ()) - { - char c; - this->get (c); - - for (v = c; - this->get (c) && !isspace (c); - v += c) - continue; - } - - isfx (); - - return *this; -} - -template ACE_IOStream & -ACE_IOStream::operator<< (ACE_IOStream_String &v) -{ - if (opfx ()) - { -#if defined (ACE_WIN32) - for (int i = 0; i < v.GetLength (); ++i) -#else - for (u_int i = 0; i < (u_int) v.length (); ++i) -#endif /* ACE_WIN32 */ - this->put (v[i]); - } - - osfx (); - - return *this; -} - -// A more clever put operator for strings that knows how to deal with -// quoted strings containing back-quoted quotes. - -template STREAM & -operator>> (STREAM &stream, - ACE_Quoted_String &str) -{ - char c; - - if (!(stream >> c)) // eat space up to the first char - // stream.set (ios::eofbit|ios::failbit); - return stream; - - str = ""; // Initialize the string - - // if we don't have a quote, append until we see space - if (c != '"') - for (str = c; stream.get (c) && !isspace (c); str += c) - continue; - else - for (; stream.get (c) && c != '"'; str += c) - if (c == '\\') - { - stream.get (c); - if (c != '"') - str += '\\'; - } - - return stream; -} - -template STREAM & -operator<< (STREAM &stream, - ACE_Quoted_String &str) -{ - stream.put ('"'); - - for (u_int i = 0; i < str.length (); ++i) - { - if (str[i] == '"') - stream.put ('\\'); - stream.put (str[i]); - } - - stream.put ('"'); - - return stream; -} - -#endif /* ACE_HAS_STRING_CLASS */ -#endif /* ACE_LACKS_ACE_IOSTREAM */ -#endif /* ACE_IOSTREAM_T_C */ diff --git a/ace/IOStream_T.h b/ace/IOStream_T.h deleted file mode 100644 index 2a35aa27697..00000000000 --- a/ace/IOStream_T.h +++ /dev/null @@ -1,273 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// IOStream_T.h -// -// = AUTHOR -// James CE Johnson and Jim Crossley -// -// = NOTE -// This file should not be #included directly by application code. -// Instead, it should #include "ace/IOStream.h". That's because -// we only put some conditional compilations in that file. -// -// ============================================================================ - -#if !defined (ACE_IOSTREAM_T_H) -#define ACE_IOSTREAM_T_H - -#include "ace/IOStream.h" - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -#if defined (ACE_HAS_STRING_CLASS) -template STREAM & operator>> (STREAM &stream, ACE_Quoted_String &str); -template STREAM & operator<< (STREAM &stream, ACE_Quoted_String &str); -#endif /* defined (ACE_HAS_STRING_CLASS) */ - -template -class ACE_Streambuf_T : public ACE_Streambuf -{ -public: - ACE_Streambuf_T (STREAM *peer, - u_int streambuf_size = ACE_STREAMBUF_SIZE, - int io_mode = ios::in | ios::out); - // We will be given a STREAM by the iostream object which creates - // us. See the ACE_IOStream template for how that works. Like - // other streambuf objects, we can be input-only, output-only or - // both. - - virtual ssize_t send (char *buf, ssize_t len); - - virtual ssize_t recv (char *buf, - ssize_t len, - ACE_Time_Value *tv = NULL); - - virtual ssize_t recv (char *buf, - ssize_t len, - int flags, - ACE_Time_Value * tv = NULL); - - virtual ssize_t recv_n (char *buf, - ssize_t len, - int flags = 0, - ACE_Time_Value *tv = NULL); - -protected: - virtual ACE_HANDLE get_handle (void); - - STREAM *peer_; - // This will be our ACE_SOCK_Stream or similar object. -}; - -template -class ACE_IOStream : public iostream, public STREAM -{ - // = TITLE - // A template adapter for creating an iostream-like object using - // an ACE IPC Stream for the actual I/O. Iostreams use an - // underlying streambuf object for the IO interface. The - // iostream class and derivatives provide you with a host of - // convenient operators that access the streambuf. - // - // = DESCRIPTION - // We inherit all characteristics of iostream and your - // class. When you create a new class from this template, you - // can use it anywhere you would have used your original - // class. - // - // To create an iostream for your favorite ACE IPC class (e.g., - // ), feed that class to this template's - // parameter, e.g., - // - // typedef ACE_Svc_Handler - // Service_Handler; - // - // Because the operators in the iostream class are not virtual, - // you cannot easily provide overloads in your custom - // ACE_IOStream classes. To make these things work correctly, - // you need to overload ALL operators of the ACE_IOStream you - // create. I've attempted to do that here to make things easier - // for you but there are no guarantees. - // - // In the iostream.cpp file is an example of why it is necessary - // to overload all of the get/put operators when you want to - // customize only one or two. -public: - // = Initialization and termination methods. - ACE_IOStream (STREAM &stream, - u_int streambuf_size = ACE_STREAMBUF_SIZE); - - ACE_IOStream (u_int streambuf_size = ACE_STREAMBUF_SIZE); - // The default constructor. This will initiailze your STREAM and - // then setup the iostream baseclass to use a custom streambuf based - // on STREAM. - - virtual ~ACE_IOStream (void); - // We have to get rid of the ourselves since we gave it - // to the base class; - - virtual int close (void); - // The only ambituity in the multiple inheritance is the - // function. - - int eof (void) const; - // Returns 1 if we're at the end of the , i.e., if the - // connection has closed down or an error has occurred, else 0. - // Under the covers, eof() calls the streambuf's timeout() function - // which will reset the timeout flag. As as result, you should save - // the return of eof() and check it instead of calling eof() - // successively. - -#if defined (ACE_HAS_STRING_CLASS) - virtual ACE_IOStream &operator>> (ACE_IOStream_String &v); - // A simple string operator. The base has them for char* - // but that isn't always the best thing for a . If we don't - // provide our own here, we may not get what we want. - - virtual ACE_IOStream &operator<< (ACE_IOStream_String &v); - // The converse of the operator. - -#endif /* ACE_HAS_STRING_CLASS */ - // = Using the macros to provide get/set operators. - GETPUT_FUNC_SET (ACE_IOStream) - -#if defined (ACE_LACKS_IOSTREAM_FX) - virtual int ipfx (int noskip = 0) - { - if (good()) - { - if (tie() != 0) - tie()->flush(); - if (!noskip && flags() & skipws) - { - int ch; - while (isspace(ch = rdbuf()->sbumpc())) - ; - if (ch != EOF) - rdbuf()->sputbackc(ch); - } - if (good()) - return (1); - } -#if !defined (ACE_WIN32) /* MS VC++ 5.0 doesn't declare setstate */ - setstate(failbit); -#endif /* !ACE_WIN32 */ - return (0); - } - virtual int ipfx0(void) { return ipfx (0); } // Optimized ipfx(0) - virtual int ipfx1(void) // Optimized ipfx(1) - { - if (good()) - { - if (tie() != 0) - tie()->flush(); - if (good()) - return (1); - } -#if !defined (ACE_WIN32) /* MS VC++ 5.0 doesn't declare setstate */ - setstate(failbit); -#endif /* !ACE_WIN32 */ - return (0); - } - virtual void isfx (void) { return; } - virtual int opfx (void) - { - if (good() && tie() != 0) - tie()->flush(); - return (good()); - } - virtual void osfx (void) { if (flags() & unitbuf) flush(); } -#else -#if defined (__GNUC__) - virtual int ipfx0(void) { return iostream::ipfx0 (); } // Optimized ipfx(0) - virtual int ipfx1(void) { return iostream::ipfx1(); } // Optimized ipfx(1) -#else - virtual int ipfx0(void) { return iostream::ipfx (0); } - virtual int ipfx1(void) { return iostream::ipfx (1); } -#endif /* __GNUC__ */ - virtual int ipfx (int need = 0) { return iostream::ipfx (need); } - virtual void isfx (void) { iostream::isfx (); return; } - virtual int opfx (void) { return iostream::opfx (); } - virtual void osfx (void) { iostream::osfx (); return; } -#endif /* ACE_LACKS_IOSTREAM_FX */ - - ACE_IOStream & operator>> (ACE_Time_Value *&tv); - // Allow the programmer to provide a timeout for read operations. - // Give it a pointer to NULL to block forever. - -protected: - ACE_Streambuf_T *streambuf_; - // This is where all of the action takes place. The streambuf_ is - // the interface to the underlying STREAM. - -private: - // = Private methods. - - // We move these into the private section so that they cannot be - // used by the application programmer. This is necessary because - // streambuf_ will be buffering IO on the STREAM object. If these - // functions were used in your program, there is a danger of getting - // the datastream out of sync. - ACE_UNIMPLEMENTED_FUNC (ssize_t send (...)) - ACE_UNIMPLEMENTED_FUNC (ssize_t recv (...)) - ACE_UNIMPLEMENTED_FUNC (ssize_t send_n (...)) - ACE_UNIMPLEMENTED_FUNC (ssize_t recv_n (...)) -}; - -template -class ACE_SOCK_Dgram_SC : public STREAM -{ - // = TITLE - // "Dgram_SC" is short for "Datagram Self-Contained." - // - // = DESCRIPTION - // Datagrams don't have the notion of a "peer". Each send and - // receive on a datagram can go to a different peer if you want. - // If you're using datagrams for stream activity, you probably - // want 'em all to go to (and come from) the same place. That's - // what this class is for. Here, we keep an address object so - // that we can remember who last sent us data. When we write - // back, we're then able to write back to that same address. -public: - ACE_SOCK_Dgram_SC (void); - ACE_SOCK_Dgram_SC (STREAM &source, - ACE_INET_Addr &dest); - ssize_t send_n (char *buf, ssize_t len); - ssize_t recv (char *buf, - ssize_t len, - ACE_Time_Value *tv = NULL); - ssize_t recv (char *buf, - ssize_t len, - int flags, - ACE_Time_Value *tv = NULL); - ssize_t recv_n (char *buf, - ssize_t len, - int flags = 0, - ACE_Time_Value *tv = NULL); - int get_remote_addr (ACE_INET_Addr &addr) const; - -protected: - ACE_INET_Addr peer_; -}; - -#if defined (__ACE_INLINE__) -#include "ace/IOStream_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/IOStream_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("IOStream_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ -#endif /* ACE_LACKS_ACE_IOSTREAM */ -#endif /* ACE_IOSTREAM_T_H */ diff --git a/ace/IOStream_T.i b/ace/IOStream_T.i deleted file mode 100644 index 9ae8f0017af..00000000000 --- a/ace/IOStream_T.i +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- C++ -*- */ - -template ssize_t -ACE_Streambuf_T::send (char *buf, ssize_t len) -{ - return peer_->send_n (buf,len); -} - -template ssize_t -ACE_Streambuf_T::recv (char *buf, - ssize_t len, - ACE_Time_Value *tv) -{ - return this->recv (buf, len, 0, tv); -} - -template ssize_t -ACE_Streambuf_T::recv (char *buf, - ssize_t len, - int flags, - ACE_Time_Value * tv) -{ - ssize_t rval = peer_->recv (buf, len, flags, tv); - return rval; -} - -template ssize_t -ACE_Streambuf_T::recv_n (char *buf, - ssize_t len, - int flags, - ACE_Time_Value *tv) -{ - ssize_t rval = peer_->recv_n (buf, len, flags, tv); - return rval; -} - -template ACE_HANDLE -ACE_Streambuf_T::get_handle (void) -{ - return peer_ ? peer_->get_handle () : 0; -} - -template ACE_INLINE int -ACE_IOStream::eof (void) const -{ -#if 0 - char c; - return ACE_OS::recv (this->get_handle (), - &c, - sizeof c, - MSG_PEEK) <= 0; -#endif /* 0 */ - // Get the timeout value of the streambuf - ACE_Time_Value *timeout = this->streambuf_->recv_timeout (0); - - // Reset the timeout value of the streambuf. - (void) this->streambuf_->recv_timeout (timeout); - - char c; - int rval = this->streambuf_->recv_n (&c, - sizeof c, - MSG_PEEK, - timeout); - - // If recv_n() didn't fail or failed because of timeout we're not at - // EOF. - return rval != -1 && ! this->streambuf_->timeout (); -} - -template ACE_INLINE -ACE_SOCK_Dgram_SC::ACE_SOCK_Dgram_SC (void) -{ -} - -template ACE_INLINE -ACE_SOCK_Dgram_SC::ACE_SOCK_Dgram_SC (STREAM &source, - ACE_INET_Addr &dest) - : STREAM (source), - peer_ (dest) -{ -} - -template ACE_INLINE ssize_t -ACE_SOCK_Dgram_SC::send_n (char *buf, - ssize_t len) -{ - return STREAM::send (buf, len, peer_); -} - -template ACE_INLINE ssize_t -ACE_SOCK_Dgram_SC::recv (char *buf, - ssize_t len, - ACE_Time_Value *tv) -{ - return recv (buf, len, 0, tv); -} - -template ACE_INLINE ssize_t -ACE_SOCK_Dgram_SC::recv (char *buf, - ssize_t len, - int flags, - ACE_Time_Value *tv) -{ - if (tv != 0) - { - ACE_HANDLE handle = this->get_handle (); - ACE_Handle_Set handle_set; - - handle_set.set_bit (handle); - - switch (ACE_OS::select (int (handle) + 1, - (fd_set *) handle_set, // read_fds. - (fd_set *) 0, // write_fds. - (fd_set *) 0, // exception_fds. - tv)) - { - case 0: - errno = ETIME; - case -1: - return -1; - default: - ; // Do the 'recv' below - } - } - - int rval = STREAM::recv (buf, len, peer_, flags); -#if defined (ACE_WIN32) - if (rval == SOCKET_ERROR) - if (::WSAGetLastError () == WSAEMSGSIZE) - if (ACE_BIT_ENABLED (flags, MSG_PEEK)) - rval = len; -#endif /* ACE_WIN32 */ - return rval < len ? rval : len; -} - -template ACE_INLINE ssize_t -ACE_SOCK_Dgram_SC::recv_n (char *buf, - ssize_t len, - int flags, - ACE_Time_Value *tv) -{ - int rval = this->recv (buf, len, flags, tv); - return rval; -} - -template ACE_INLINE int -ACE_SOCK_Dgram_SC::get_remote_addr (ACE_INET_Addr &addr) const -{ - addr = peer_; - return 0; -} diff --git a/ace/IO_Cntl_Msg.cpp b/ace/IO_Cntl_Msg.cpp deleted file mode 100644 index ff27954a2aa..00000000000 --- a/ace/IO_Cntl_Msg.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// IO_Cntl_Msg.cpp -// $Id$ - -#if 0 -// This is not meant to be used, it's just a place holder... - -// Forward decl -template class ACE_Module; - - -class ACE_Module_Link -{ - // = TITLE - // Data structure used to link two modules together - // - // = DESCRIPTION - // -public: - ACE_Module_Link (ACE_Module *m1, ACE_Module *m2): mod_upper_ (m1), mod_lower_ (m2), count_ (0) {} - - ACE_Module *upper (void) { return this->mod_upper_; } - void upper (ACE_Module *u) { this->mod_upper_ = u; } - - ACE_Module *lower (void) { return this->mod_lower_; } - void lower (ACE_Module *l) { this->mod_lower_ = l; } - - int count (void) { return this->count_; } - void count (int c) { this->count_ = c; } - -private: - ACE_Module *mod_upper_; - ACE_Module *mod_lower_; - int count_; -}; -#endif - diff --git a/ace/IO_Cntl_Msg.h b/ace/IO_Cntl_Msg.h deleted file mode 100644 index 894eb34c746..00000000000 --- a/ace/IO_Cntl_Msg.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// IO_Cntl_Msg.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_IO_CNTL_MSG_H) -#define ACE_IO_CNTL_MSG_H - -class ACE_Export ACE_IO_Cntl_Msg -{ - // = TITLE - // Data format for IOCTL messages -public: - enum ACE_IO_Cntl_Cmds - { - SET_LWM = 1, // Set the low water mark. - GET_LWM = 2, // Get the low water mark. - SET_HWM = 3, // Set the high water mark. - GET_HWM = 4, // Get the high water mark. - MOD_LINK = 5, // Link modules - MOD_UNLINK = 6 // Unlink modules - }; - - // = Initialization method. - ACE_IO_Cntl_Msg (ACE_IO_Cntl_Cmds c) { this->cmd_ = c; } - // Initialize the control message. - - // = Get/set methods - - ACE_IO_Cntl_Cmds cmd (void) { return this->cmd_; } - // Get command. - - void cmd (ACE_IO_Cntl_Cmds c) { this->cmd_ = c; } - // Set command. - - size_t count (void) { return this->count_; } - // Get count. - - void count (size_t c) { this->count_ = c; } - // Set count. - - int error (void) { return this->error_; } - // Get error. - - void error (int e) { this->error_ = e; } - // Set error. - - int rval (void) { return this->rval_; } - // Get return value. - - void rval (int r) { this->rval_ = r; } - // Set return value. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_IO_Cntl_Cmds cmd_; - // Command. - - size_t count_; - // Count. - - int error_; - // Error. - - int rval_; - // Return value -}; - -#endif /* ACE_IO_CNTL_MSG_H */ diff --git a/ace/IO_Cntl_Msg.i b/ace/IO_Cntl_Msg.i deleted file mode 100644 index 8ab50e712bb..00000000000 --- a/ace/IO_Cntl_Msg.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// IO_Cntl_Msg.i diff --git a/ace/IO_SAP.cpp b/ace/IO_SAP.cpp deleted file mode 100644 index 529fcb0e98f..00000000000 --- a/ace/IO_SAP.cpp +++ /dev/null @@ -1,136 +0,0 @@ -// IO_SAP.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/IO_SAP.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_IO_SAP) - -// This is the do-nothing constructor. It does not perform a -// ACE_OS::open system call. - -ACE_IO_SAP::ACE_IO_SAP (void) - : handle_ (ACE_INVALID_HANDLE) -{ - ACE_TRACE ("ACE_IO_SAP::ACE_IO_SAP"); -} - -void -ACE_IO_SAP::dump (void) const -{ - ACE_TRACE ("ACE_IO_SAP::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "handle_ = %d", this->handle_)); - ACE_DEBUG ((LM_DEBUG, "\npid_ = %d", this->pid_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Cache for the process ID. -pid_t ACE_IO_SAP::pid_ = 0; - -// Make the HANDLE_ available for asynchronous I/O (SIGIO), urgent -// data (SIGURG), or non-blocking I/O (ACE_NONBLOCK). - -int -ACE_IO_SAP::enable (int signum) const -{ - ACE_TRACE ("ACE_IO_SAP::enable"); - /* First-time in initialization. */ - if (ACE_IO_SAP::pid_ == 0) - ACE_IO_SAP::pid_ = ACE_OS::getpid (); - -#if !defined(ACE_WIN32) && !defined (VXWORKS) - - switch (signum) - { -#if defined (SIGURG) - case SIGURG: -#if defined (F_SETOWN) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, ACE_IO_SAP::pid_) < 0) - return ACE_IO_SAP::INVALID_HANDLE; - break; -#else - return ACE_IO_SAP::INVALID_HANDLE; -#endif /* F_SETOWN */ -#endif /* SIGURG */ -#if defined (SIGIO) // <== - case SIGIO: -#if defined (F_SETOWN) && defined (FASYNC) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, ACE_IO_SAP::pid_) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; - if (ACE::set_flags (this->handle_, FASYNC) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; -#else - return ACE_IO_SAP::INVALID_HANDLE; -#endif /* F_SETOWN && FASYNC */ -#else // <== - return ACE_IO_SAP::INVALID_HANDLE; // <== -#endif /* SIGIO <== */ - break; - - case ACE_NONBLOCK: - if (ACE::set_flags (this->handle_, ACE_NONBLOCK) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; - break; - default: - return ACE_IO_SAP::INVALID_HANDLE; - } - -#else - ACE_UNUSED_ARG(signum); -#endif /* !ACE_WIN32 */ - - return 0; -} - -// Restore the IO_SAP by turning off synchronous I/O or urgent delivery. - -int -ACE_IO_SAP::disable (int signum) const -{ - ACE_TRACE ("ACE_IO_SAP::disable"); - -#if !defined(ACE_WIN32) && !defined (VXWORKS) - - switch (signum) - { -#if defined (SIGURG) - case SIGURG: -#if defined (F_SETOWN) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, 0) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; -#else - return ACE_IO_SAP::INVALID_HANDLE; -#endif /* F_SETOWN */ - break; -#endif /* SIGURG */ -#if defined (SIGIO) // <== - case SIGIO: -#if defined (F_SETOWN) && defined (FASYNC) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, 0) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; - if (ACE::clr_flags (this->handle_, FASYNC) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; -#else - return ACE_IO_SAP::INVALID_HANDLE; -#endif /* F_SETOWN && FASYNC */ -#else // <== - return ACE_IO_SAP::INVALID_HANDLE; // <== -#endif /* SIGIO <== */ - break; - case ACE_NONBLOCK: - if (ACE::clr_flags (this->handle_, ACE_NONBLOCK) == ACE_IO_SAP::INVALID_HANDLE) - return ACE_IO_SAP::INVALID_HANDLE; - break; - default: - return ACE_IO_SAP::INVALID_HANDLE; - } - -#else - ACE_UNUSED_ARG(signum); -#endif /* !ACE_WIN32 */ - - return 0; -} - diff --git a/ace/IO_SAP.h b/ace/IO_SAP.h deleted file mode 100644 index 1d94073fcc0..00000000000 --- a/ace/IO_SAP.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// IO_SAP.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_IO_SAP_H) -#define ACE_IO_SAP_H - -#include "ace/ACE.h" - -class ACE_Export ACE_IO_SAP -{ - // = TITLE - // Defines the member functions for the base class of the ACE_IO_SAP - // abstraction. -public: - enum - { - INVALID_HANDLE = -1 // Be consistent with Winsock - }; - - int control (int cmd, void *) const; - // Interface for ioctl. - - // = Methods for manipulating common I/O descriptor options related to - // files. - int enable (int signum) const; - // Enable signal . - int disable (int signum) const; - // Disable signal . - - ACE_HANDLE get_handle (void) const; - // Get the underlying descriptor. - - void set_handle (ACE_HANDLE handle); - // Set the underlying descriptor. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - ACE_IO_SAP (void); - // Ensure that ACE_IO_SAP is an abstract base class. - -private: - ACE_HANDLE handle_; - // Underlying I/O descriptor. - - static pid_t pid_; - // Cache the process ID. -}; - -#include "ace/IO_SAP.i" - -#endif /* ACE_IO_SAP_H */ diff --git a/ace/IO_SAP.i b/ace/IO_SAP.i deleted file mode 100644 index f13fe9db8d7..00000000000 --- a/ace/IO_SAP.i +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// IO_SAP.i - -// Used to return the underlying handle_. - -inline ACE_HANDLE -ACE_IO_SAP::get_handle (void) const -{ - ACE_TRACE ("ACE_IO_SAP::get_handle"); - return this->handle_; -} - -// Used to set the underlying handle_. - -inline void -ACE_IO_SAP::set_handle (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_IO_SAP::set_handle"); - this->handle_ = handle; -} - -// Provides access to the ACE_OS::ioctl system call. - -inline int -ACE_IO_SAP::control (int cmd, void *arg) const -{ - ACE_TRACE ("ACE_IO_SAP::control"); - return ACE_OS::ioctl (this->handle_, cmd, arg); -} - - diff --git a/ace/IPC_SAP.cpp b/ace/IPC_SAP.cpp deleted file mode 100644 index 421f0d67672..00000000000 --- a/ace/IPC_SAP.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/IPC_SAP.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_IPC_SAP) - -void -ACE_IPC_SAP::dump (void) const -{ - ACE_TRACE ("ACE_IPC_SAP::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "handle_ = %d", this->handle_)); - ACE_DEBUG ((LM_DEBUG, "\npid_ = %d", this->pid_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Cache for the process ID. -pid_t ACE_IPC_SAP::pid_ = 0; - -// This is the do-nothing constructor. It does not perform a -// ACE_OS::socket system call. - -ACE_IPC_SAP::ACE_IPC_SAP (void) - : handle_ (ACE_INVALID_HANDLE) -{ -// ACE_TRACE ("ACE_IPC_SAP::ACE_IPC_SAP"); -} - -// Make the HANDLE_ available for asynchronous I/O (SIGIO), urgent -// data (SIGURG), or non-blocking I/O (ACE_NONBLOCK). - -int -ACE_IPC_SAP::enable (int signum) const -{ - ACE_TRACE ("ACE_IPC_SAP::enable"); - - // First-time in initialization. - if (ACE_IPC_SAP::pid_ == 0) - ACE_IPC_SAP::pid_ = ACE_OS::getpid (); - -#if defined (ACE_WIN32) || defined (VXWORKS) - switch (signum) - { - case ACE_NONBLOCK: - // nonblocking argument (1) - // blocking: (0) - { - u_long nonblock = 1; - return ACE_OS::ioctl (this->handle_, FIONBIO, &nonblock); - } - default: - ACE_NOTSUP_RETURN (-1); - } -#else /* ! ACE_WIN32 && ! VXWORKS */ - switch (signum) - { -#if defined (SIGURG) - case SIGURG: -#if defined (F_SETOWN) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, ACE_IPC_SAP::pid_) < 0) - return -1; -#else - return -1; -#endif /* F_SETOWN */ - break; -#endif /* SIGURG */ -#if defined (SIGIO) // <== - case SIGIO: -#if defined (F_SETOWN) && defined (FASYNC) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, ACE_IPC_SAP::pid_) == -1) - return -1; - if (ACE::set_flags (this->handle_, FASYNC) == -1) - return -1; -#else - return -1; -#endif /* F_SETOWN && FASYNC */ -#else // <== - return -1; // <== -#endif /* SIGIO <== */ - break; - case ACE_NONBLOCK: - if (ACE::set_flags (this->handle_, ACE_NONBLOCK) == ACE_INVALID_HANDLE) - return -1; - break; - default: - return -1; - } - return 0; -#endif /* ! ACE_WIN32 && ! VXWORKS */ -} - -// Restore the IPC_SAPet by turning off synchronous I/O or urgent -// delivery. - -int -ACE_IPC_SAP::disable (int signum) const -{ - ACE_TRACE ("ACE_IPC_SAP::disable"); - -#if defined (ACE_WIN32) || defined (VXWORKS) - switch (signum) - { - case ACE_NONBLOCK: - // nonblocking argument (1) - // blocking: (0) - { - u_long nonblock = 0; - return ACE_OS::ioctl (this->handle_, FIONBIO, &nonblock); - } - default: - ACE_NOTSUP_RETURN (-1); - } -#else /* ! ACE_WIN32 && ! VXWORKS */ - switch (signum) - { -#if defined (SIGURG) - case SIGURG: -#if defined (F_SETOWN) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, 0) == -1) - return -1; - break; -#else - return -1; -#endif /* F_SETOWN */ -#endif /* SIGURG */ -#if defined (SIGIO) // <== - case SIGIO: -#if defined (F_SETOWN) && defined (FASYNC) - if (ACE_OS::fcntl (this->handle_, F_SETOWN, 0) == -1) - return -1; - if (ACE::clr_flags (this->handle_, FASYNC) == -1) - return -1; - break; -#else - return -1; -#endif /* F_SETOWN && FASYNC */ -#else // <== - return -1; // <== -#endif /* SIGIO <== */ - case ACE_NONBLOCK: - if (ACE::clr_flags (this->handle_, ACE_NONBLOCK) == -1) - return -1; - break; - default: - return -1; - } - return 0; -#endif /* ! ACE_WIN32 && ! VXWORKS */ -} diff --git a/ace/IPC_SAP.h b/ace/IPC_SAP.h deleted file mode 100644 index 5149810cf4c..00000000000 --- a/ace/IPC_SAP.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// IPC_SAP.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_IPC_SAP_H) -#define ACE_IPC_SAP_H - -#include "ace/ACE.h" - -class ACE_Export ACE_IPC_SAP -{ - // = TITLE - // Defines the member functions for the base class of the - // ACE_IPC_SAP abstraction. -public: - int control (int cmd, void *) const; - // Interface for ioctl. - - // = Common I/O descriptor options related to sockets. - int enable (int signum) const; - // Enable signal . - - int disable (int signum) const; - // Disable signal . - - ACE_HANDLE get_handle (void) const; - // Get the underlying descriptor. - - void set_handle (ACE_HANDLE handle); - // Set the underlying descriptor. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Ensure that ACE_IPC_SAP is an abstract base class. - ACE_IPC_SAP (void); - // Default constructor. - -private: - ACE_HANDLE handle_; - // Underlying I/O descriptor. - - static pid_t pid_; - // Cache the process ID. -}; - -#include "ace/IPC_SAP.i" - -#endif /* ACE_IPC_SAP_H */ diff --git a/ace/IPC_SAP.i b/ace/IPC_SAP.i deleted file mode 100644 index 930be9c991e..00000000000 --- a/ace/IPC_SAP.i +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// IPC_SAP.i - -// Used to return the underlying handle_. - -inline ACE_HANDLE -ACE_IPC_SAP::get_handle (void) const -{ - ACE_TRACE ("ACE_IPC_SAP::get_handle"); - return this->handle_; -} - -// Used to set the underlying handle_. - -inline void -ACE_IPC_SAP::set_handle (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_IPC_SAP::set_handle"); - this->handle_ = handle; -} - -// Provides access to the ACE_OS::ioctl system call. - -inline int -ACE_IPC_SAP::control (int cmd, void *arg) const -{ - ACE_TRACE ("ACE_IPC_SAP::control"); - return ACE_OS::ioctl (this->handle_, cmd, arg); -} diff --git a/ace/LOCK_SOCK_Acceptor.cpp b/ace/LOCK_SOCK_Acceptor.cpp deleted file mode 100644 index f6408e52d8a..00000000000 --- a/ace/LOCK_SOCK_Acceptor.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// $Id$ - -#if !defined (ACE_LOCK_SOCK_ACCEPTOR_CPP) -#define ACE_LOCK_SOCK_ACCEPTOR_CPP - -#include /**/ "ace/Synch.h" - -template int -ACE_LOCK_SOCK_Acceptor::accept (ACE_SOCK_Stream &stream, - ACE_Addr *remote_address, - ACE_Time_Value *timeout, - int restart, - int reset_new_handle) const -{ - ACE_GUARD_RETURN (ACE_LOCK, ace_mon, (ACE_LOCK &) this->lock_, -1); - - return ACE_SOCK_Acceptor::accept (stream, - remote_address, - timeout, - restart, - reset_new_handle); -} - -template ACE_LOCK & -ACE_LOCK_SOCK_Acceptor::lock (void) -{ - return this->lock_; -} - -#endif /* ACE_LOCK_SOCK_ACCEPTOR_CPP */ diff --git a/ace/LOCK_SOCK_Acceptor.h b/ace/LOCK_SOCK_Acceptor.h deleted file mode 100644 index 8517992c600..00000000000 --- a/ace/LOCK_SOCK_Acceptor.h +++ /dev/null @@ -1,57 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LOCK_SOCK_Acceptor.h -// -// = AUTHOR -// James Hu and Irfan Pyarali -// -// ============================================================================ - -#if !defined (ACE_LOCK_SOCK_ACCEPTOR_H) -#define ACE_LOCK_SOCK_ACCEPTOR_H - -#include "ace/SOCK_Acceptor.h" - -template -class ACE_LOCK_SOCK_Acceptor : public ACE_SOCK_Acceptor -{ - // = TITLE - // Specialize to lock around ; - // - // = DESCRIPTION - // This class is necessary since some OS platforms (e.g., - // Solaris 2.5) do not allow multiple threads/processes to - // simultaneously call on the same listen-mode - // port/socket. Thus, we need to protect against multiple - // concurrent accesses by using the appropriate type of lock. -public: - int accept (ACE_SOCK_Stream &new_stream, - ACE_Addr *remote_addr = 0, - ACE_Time_Value *timeout = 0, - int restart = 1, - int reset_new_handle = 0) const; - // Accept the connection under the control of the . - - ACE_LOCK &lock (void); - // Return a reference to the lock. - -protected: - ACE_LOCK lock_; - // Type of locking mechanism. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "LOCK_SOCK_Acceptor.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("LOCK_SOCK_Acceptor.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_LOCK_SOCK_ACCEPTOR_H */ diff --git a/ace/LSOCK.cpp b/ace/LSOCK.cpp deleted file mode 100644 index f65035e5607..00000000000 --- a/ace/LSOCK.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/LSOCK.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK) - -void -ACE_LSOCK::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "aux_handle_ = %d", this->aux_handle_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -#if defined (ACE_HAS_MSG) -// This routine sends an open file descriptor to handle_>. - -int -ACE_LSOCK::send_handle (const ACE_HANDLE handle) const -{ - ACE_TRACE ("ACE_LSOCK::send_handle"); - unsigned char a[2]; - iovec iov; - msghdr send_msg; -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - char cmsgbuf[ACE_BSD_CONTROL_MSG_LEN]; - cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - a[0] = 0xab; - a[1] = 0xcd; - iov.iov_base = (char *) a; - iov.iov_len = sizeof a; - send_msg.msg_iov = &iov; - send_msg.msg_iovlen = 1; - send_msg.msg_name = 0; - send_msg.msg_namelen = 0; - -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - cmsgptr->cmsg_level = SOL_SOCKET; - cmsgptr->cmsg_type = SCM_RIGHTS; - cmsgptr->cmsg_len = sizeof cmsgbuf; - send_msg.msg_control = cmsgbuf; - send_msg.msg_controllen = sizeof cmsgbuf; - *(ACE_HANDLE *) CMSG_DATA (cmsgptr) = handle; - send_msg.msg_flags = 0; -#else - send_msg.msg_accrights = (char *) &handle; - send_msg.msg_accrightslen = sizeof handle; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - return ACE_OS::sendmsg (this->get_handle (), &send_msg, 0); -} - -// This file receives an open file descriptor from handle_>. -// Note, this routine returns -1 if problems occur, 0 if we recv a -// message that does not have file descriptor in it, and 1 otherwise. - -int -ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, int *len) const -{ - ACE_TRACE ("ACE_LSOCK::recv_handle"); - unsigned char a[2]; - iovec iov; - msghdr recv_msg; - -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - char cmsgbuf[ACE_BSD_CONTROL_MSG_LEN]; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - if (pbuf != 0 && len != 0) - { - iov.iov_base = pbuf; - iov.iov_len = *len; - } - else - { - iov.iov_base = (char *) a; - iov.iov_len = sizeof a; - } - - recv_msg.msg_iov = &iov; - recv_msg.msg_iovlen = 1; - recv_msg.msg_name = 0; - recv_msg.msg_namelen = 0; -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - recv_msg.msg_control = cmsgbuf; - recv_msg.msg_controllen = sizeof cmsgbuf; -#else - recv_msg.msg_accrights = (char *) &handle; - recv_msg.msg_accrightslen = sizeof handle; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - -#if defined (ACE_HAS_STREAMS) -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - ACE_UNUSED_ARG (handle); -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - ssize_t nbytes = ACE_OS::recvmsg (this->get_handle (), &recv_msg, 0); - - if (nbytes != ACE_INVALID_HANDLE) - { - if (len != 0) - *len = nbytes; - - if (nbytes == sizeof a - && ((unsigned char *) iov.iov_base)[0] == 0xab - && ((unsigned char *) iov.iov_base)[1] == 0xcd) - return 1; - else - return 0; - } -#else - ssize_t nbytes = ACE_OS::recvmsg (this->get_handle (), &recv_msg, MSG_PEEK); - - if (nbytes != ACE_INVALID_HANDLE) - { - if (nbytes == sizeof a - && ((unsigned char *) iov.iov_base)[0] == 0xab - && ((unsigned char *) iov.iov_base)[1] == 0xcd) - { -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - recv_msg.msg_control = cmsgbuf; - recv_msg.msg_controllen = sizeof cmsgbuf; -#else - recv_msg.msg_accrights = (char *) &handle; - recv_msg.msg_accrightslen = sizeof handle; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - if (ACE_OS::recvmsg (this->get_handle (), - &recv_msg, 0) == ACE_INVALID_HANDLE) - return ACE_INVALID_HANDLE; - else - { -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf; - handle = *(ACE_HANDLE *) CMSG_DATA (cmsgptr) ; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - return 1; - } - } - else - { - if (len != 0) - *len = nbytes; - return 0; - } - } -#endif /* ACE_HAS_STREAMS */ - else - return ACE_INVALID_HANDLE; -} -#endif /* ACE_HAS_MSG */ -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK.h b/ace/LSOCK.h deleted file mode 100644 index 9d5999f5426..00000000000 --- a/ace/LSOCK.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_H) -#define ACE_LOCAL_SOCK_H - -#include "ace/SOCK.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK -{ - // = TITLE - // Create a Local ACE_SOCK, which is used for passing file - // descriptors. -public: -#if defined (ACE_HAS_MSG) - int send_handle (const ACE_HANDLE handle) const; - // Send an open FD to another process. - - int recv_handle (ACE_HANDLE &handles, - char *pbuf = 0, - int *len = 0) const; - // Recv an open FD from another process. -#endif /* ACE_HAS_MSG */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Ensure that ACE_LSOCK is an abstract base class - - ACE_LSOCK (void); - // Default constructor. - - ACE_LSOCK (ACE_HANDLE handle); - // Initialize based on - - ACE_HANDLE get_handle (void) const; - // Get handle. - - void set_handle (ACE_HANDLE handle); - // Set handle. - -private: - ACE_HANDLE aux_handle_; - // An auxiliary handle used to avoid virtual base classes... -}; - -#include "ace/LSOCK.i" - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_H */ diff --git a/ace/LSOCK.i b/ace/LSOCK.i deleted file mode 100644 index cddc2db5812..00000000000 --- a/ace/LSOCK.i +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK.i - -// Simple-minded constructor. - -inline -ACE_LSOCK::ACE_LSOCK (void) -{ - ACE_TRACE ("ACE_LSOCK::ACE_LSOCK"); -} - -// Sets the underlying file descriptor. - -inline void -ACE_LSOCK::set_handle (ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_LSOCK::set_handle"); - this->aux_handle_ = handle; -} - -// Gets the underlying file descriptor. - -inline ACE_HANDLE -ACE_LSOCK::get_handle (void) const -{ - ACE_TRACE ("ACE_LSOCK::get_handle"); - return this->aux_handle_; -} - -// Sets the underlying file descriptor. - -inline -ACE_LSOCK::ACE_LSOCK (ACE_HANDLE handle) - : aux_handle_ (handle) -{ - ACE_TRACE ("ACE_LSOCK::ACE_LSOCK"); -} diff --git a/ace/LSOCK_Acceptor.cpp b/ace/LSOCK_Acceptor.cpp deleted file mode 100644 index 7a0f9d5883a..00000000000 --- a/ace/LSOCK_Acceptor.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// LSOCK_Acceptor.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/LSOCK_Acceptor.h" - -#if !defined (__ACE_INLINE__) -#include "ace/LSOCK_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK_Acceptor) - -// Return the local endpoint address. - -int -ACE_LSOCK_Acceptor::get_local_addr (ACE_Addr &a) const -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::get_local_addr"); - a = this->local_addr_; - return 0; -} - -void -ACE_LSOCK_Acceptor::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->local_addr_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Do nothing routine for constructor. - -ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor (void) -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor"); -} - -int -ACE_LSOCK_Acceptor::open (const ACE_Addr &remote_sap, - int reuse_addr, - int protocol_family, - int backlog, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::open"); - this->local_addr_ = *((ACE_UNIX_Addr *) &remote_sap); // This is a gross hack... - return ACE_SOCK_Acceptor::open (remote_sap, reuse_addr, - protocol_family, backlog, protocol); -} - -// General purpose routine for performing server ACE_SOCK creation. - -ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor (const ACE_Addr &remote_sap, - int reuse_addr, - int protocol_family, - int backlog, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor"); - if (this->open (remote_sap, reuse_addr, - protocol_family, backlog, protocol) == -1) - ACE_ERROR ((LM_ERROR, "ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor")); -} - -// General purpose routine for accepting new connections. - -int -ACE_LSOCK_Acceptor::accept (ACE_LSOCK_Stream &new_local_ipc_sap, - ACE_Addr *remote_addr, - ACE_Time_Value *timeout, - int restart, - int reset_new_handle) const -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::accept"); - ACE_HANDLE new_handle = - ACE_SOCK_Acceptor::shared_accept (remote_addr, timeout, restart, reset_new_handle); - new_local_ipc_sap.set_handle (new_handle); - return new_handle == ACE_INVALID_HANDLE ? -1 : 0; -} - -// Close down the UNIX domain stream and remove the rendezvous point -// from the file system. - -int -ACE_LSOCK_Acceptor::remove (void) -{ - ACE_TRACE ("ACE_LSOCK_Acceptor::remove"); - int result = this->close (); - return ACE_OS::unlink (this->local_addr_.get_path_name ()) == -1 - || result == -1 ? -1 : 0; -} - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK_Acceptor.h b/ace/LSOCK_Acceptor.h deleted file mode 100644 index a4ec2a9d5e2..00000000000 --- a/ace/LSOCK_Acceptor.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK_Aceeptor.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_ACCEPTOR_H) -#define ACE_LOCAL_SOCK_ACCEPTOR_H - -#include "ace/SOCK_Acceptor.h" -#include "ace/UNIX_Addr.h" -#include "ace/LSOCK_Stream.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK_Acceptor : public ACE_SOCK_Acceptor -{ - // = TITLE - // Defines the format and interface for the acceptor side of the - // local ACE_SOCK ACE_Stream. -public: - // = Initialization methods. - ACE_LSOCK_Acceptor (void); - // Default constructor. - - ACE_LSOCK_Acceptor (const ACE_Addr &local_sap, - int reuse_addr = 0, - int protocol_family = PF_UNIX, - int backlog = 5, - int protocol = 0); - // Initiate a passive mode socket. - - int open (const ACE_Addr &local_sap, - int reuse_addr = 0, - int protocol_family = PF_UNIX, - int backlog = 5, - int protocol = 0); - // Initiate a passive mode socket. - - int accept (ACE_LSOCK_Stream &new_ipc_sap, - ACE_Addr * = 0, - ACE_Time_Value *timeout = 0, - int restart = 1, - int reset_new_handle = 0) const; - // Accept a new data transfer connection. - - int remove (void); - // Close down the ACE_LSOCK and remove the rendezvous point from the - // file system. - - int get_local_addr (ACE_Addr &) const; - // Return the local endpoint address. - - // = Meta-type info - typedef ACE_UNIX_Addr PEER_ADDR; - typedef ACE_LSOCK_Stream PEER_STREAM; - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_UNIX_Addr local_addr_; - // Address of our rendezvous point. -}; - -#if defined (__ACE_INLINE__) -#include "ace/LSOCK_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_ACCEPTOR_H */ diff --git a/ace/LSOCK_Acceptor.i b/ace/LSOCK_Acceptor.i deleted file mode 100644 index e873fd02822..00000000000 --- a/ace/LSOCK_Acceptor.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK_Acceptor.i diff --git a/ace/LSOCK_CODgram.cpp b/ace/LSOCK_CODgram.cpp deleted file mode 100644 index 7fa0d7f43dc..00000000000 --- a/ace/LSOCK_CODgram.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// LSOCK_CODgram.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/LSOCK_CODgram.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK_CODgram) - -void -ACE_LSOCK_CODgram::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK_CODgram::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_SOCK_CODgram::dump (); - ACE_LSOCK::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -/* Here's the general-purpose open routine. */ - -int -ACE_LSOCK_CODgram::open (const ACE_Addr &remote, - const ACE_Addr &local, - int protocol_family, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_CODgram::open"); - if (ACE_SOCK_CODgram::open (remote, local, protocol_family, - protocol) == -1) - return -1; - ACE_LSOCK::set_handle (this->get_handle ()); - return 0; -} - -/* Create a local ACE_SOCK datagram. */ - -ACE_LSOCK_CODgram::ACE_LSOCK_CODgram (const ACE_Addr &remote, - const ACE_Addr &local, - int protocol_family, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_CODgram::ACE_LSOCK_CODgram"); - if (this->open (remote, local, protocol_family, - protocol) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_LSOCK_CODgram")); -} -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK_CODgram.h b/ace/LSOCK_CODgram.h deleted file mode 100644 index 22003a3dc2e..00000000000 --- a/ace/LSOCK_CODgram.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK_CODgram.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_CODGRAM_H) -#define ACE_LOCAL_SOCK_CODGRAM_H - -#include "ace/LSOCK.h" -#include "ace/SOCK_CODgram.h" -#include "ace/Addr.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK_CODgram : public ACE_SOCK_CODgram, public ACE_LSOCK -{ - // = TITLE - // Defines the member functions for the connected - // datagram abstraction. -public: - // = Initialization methods. - ACE_LSOCK_CODgram (void); - // Default constructor. - - ACE_LSOCK_CODgram (const ACE_Addr &remote_sap, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int protocol_family = PF_UNIX, - int protocol = 0); - // Initiate a connected-datagram. - - int open (const ACE_Addr &remote_sap, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int protocol_family = PF_UNIX, - int protocol = 0); - // Initiate a connected-datagram. - - ACE_HANDLE get_handle (void) const; - // Get underlying handle. - - void set_handle (ACE_HANDLE); - // Set underlying handle. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/LSOCK_CODgram.i" - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_CODGRAM_H */ diff --git a/ace/LSOCK_CODgram.i b/ace/LSOCK_CODgram.i deleted file mode 100644 index 40b2330cdcd..00000000000 --- a/ace/LSOCK_CODgram.i +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK_CODgram.i - -// Do nothing constructor. - -inline -ACE_LSOCK_CODgram::ACE_LSOCK_CODgram (void) -{ - ACE_TRACE ("ACE_LSOCK_CODgram::ACE_LSOCK_CODgram"); -} - -inline void -ACE_LSOCK_CODgram::set_handle (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_LSOCK_CODgram::set_handle"); - this->ACE_SOCK_CODgram::set_handle (h); - this->ACE_LSOCK::set_handle (h); -} - -inline ACE_HANDLE -ACE_LSOCK_CODgram::get_handle (void) const -{ - ACE_TRACE ("ACE_LSOCK_CODgram::get_handle"); - return this->ACE_SOCK_CODgram::get_handle (); -} diff --git a/ace/LSOCK_Connector.cpp b/ace/LSOCK_Connector.cpp deleted file mode 100644 index 07c1317d341..00000000000 --- a/ace/LSOCK_Connector.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// LSOCK_Connector.cpp -// $Id$ - -/* Defines the format and interface for the connector side of the - local ACE_SOCK ACE_Stream. */ - -#define ACE_BUILD_DLL -#include "ace/LSOCK_Connector.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK_Connector) - -void -ACE_LSOCK_Connector::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK_Connector::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_LSOCK_Connector::ACE_LSOCK_Connector (void) -{ - ACE_TRACE ("ACE_LSOCK_Connector::ACE_LSOCK_Connector"); -} - -// Establish a connection. -ACE_LSOCK_Connector::ACE_LSOCK_Connector (ACE_LSOCK_Stream &new_stream, - const ACE_UNIX_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &local_sap, - int reuse_addr, - int flags, - int perms, - int protocol_family, - int protocol) - : ACE_SOCK_Connector (new_stream, remote_sap, timeout, - local_sap, reuse_addr, flags, perms, - protocol_family, protocol) -{ - ACE_TRACE ("ACE_LSOCK_Connector::ACE_LSOCK_Connector"); - // This is necessary due to the weird inheritance relationships of - // ACE_LSOCK_Stream. - new_stream.set_handle (new_stream.get_handle ()); -} - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK_Connector.h b/ace/LSOCK_Connector.h deleted file mode 100644 index 8ce18b2b0e2..00000000000 --- a/ace/LSOCK_Connector.h +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK_Connector.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_CONNECTOR_H) -#define ACE_LOCAL_SOCK_CONNECTOR_H - -#include "ace/SOCK_Connector.h" -#include "ace/LSOCK_Stream.h" -#include "ace/UNIX_Addr.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK_Connector : public ACE_SOCK_Connector -{ - // = TITLE - // Defines the format and interface for the connector side of - // the . -public: - // = Initialization methods. - ACE_LSOCK_Connector (void); - // Default constructor. - - ACE_LSOCK_Connector (ACE_LSOCK_Stream &new_stream, - const ACE_UNIX_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = 0, - int perms = 0, - int protocol_family = PF_UNIX, - int protocol = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - - int connect (ACE_LSOCK_Stream &new_stream, - const ACE_UNIX_Addr &remote_sap, - ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = 0, - int perms = 0, - int protcol_family = PF_UNIX, - int protocol = 0); - // Actively connect and produce a if things go well. - // The is the address that we are trying to connect - // with. The is the amount of time to wait to connect. - // If it's 0 then we block indefinitely. If *timeout == {0, 0} then - // the connection is done using non-blocking mode. In this case, if - // the connection can't be made immediately the value of -1 is - // returned with . If *timeout > {0, 0} then - // this is the amount of time to wait before timing out. If the - // time expires before the connection is made . The - // is the value of local address to bind to. If it's - // the default value of then the user is letting - // the OS do the binding. If == 1 then the - // is reused, even if it hasn't been cleanedup yet. - - // = Meta-type info - typedef ACE_UNIX_Addr PEER_ADDR; - typedef ACE_LSOCK_Stream PEER_STREAM; - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/LSOCK_Connector.i" - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_CONNECTOR_H */ diff --git a/ace/LSOCK_Connector.i b/ace/LSOCK_Connector.i deleted file mode 100644 index fdd9834a444..00000000000 --- a/ace/LSOCK_Connector.i +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK_Connector.i - -// Establish a connection. - -inline int -ACE_LSOCK_Connector::connect (ACE_LSOCK_Stream &new_stream, - const ACE_UNIX_Addr &remote_sap, - ACE_Time_Value *timeout, - const ACE_Addr &local_sap, - int reuse_addr, - int flags, - int perms, - int protocol_family, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_Connector::connect"); - int result = ACE_SOCK_Connector::connect (new_stream, remote_sap, - timeout, local_sap, - reuse_addr, flags, perms, - protocol_family, protocol); - if (result != -1) - // This is necessary due to the weird inheritance relationships of ACE_LSOCK_Stream. - new_stream.set_handle (new_stream.get_handle ()); - return result; -} - diff --git a/ace/LSOCK_Dgram.cpp b/ace/LSOCK_Dgram.cpp deleted file mode 100644 index 7699b1f1e8b..00000000000 --- a/ace/LSOCK_Dgram.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// LSOCK_Dgram.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/LSOCK_Dgram.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK_Dgram) - -void -ACE_LSOCK_Dgram::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK_Dgram::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_SOCK_Dgram::dump (); - ACE_LSOCK::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -/* The "do nothing" constructor. */ - -ACE_LSOCK_Dgram::ACE_LSOCK_Dgram (void) -{ - ACE_TRACE ("ACE_LSOCK_Dgram::ACE_LSOCK_Dgram"); -} - -/* Here's the general-purpose open routine. */ - -int -ACE_LSOCK_Dgram::open (const ACE_Addr &local, - int protocol_family, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_Dgram::open"); - if (ACE_SOCK_Dgram::open (local, protocol_family, - protocol) == -1) - return -1; - ACE_LSOCK::set_handle (this->ACE_SOCK_Dgram::get_handle ()); - return 0; -} - -/* Create a local ACE_SOCK datagram. */ - -ACE_LSOCK_Dgram::ACE_LSOCK_Dgram (const ACE_Addr &local, - int protocol_family, - int protocol) -{ - ACE_TRACE ("ACE_LSOCK_Dgram::ACE_LSOCK_Dgram"); - if (this->open (local, protocol_family, - protocol) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_LSOCK_Dgram")); -} - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK_Dgram.h b/ace/LSOCK_Dgram.h deleted file mode 100644 index 953213b3b85..00000000000 --- a/ace/LSOCK_Dgram.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK_Dgram.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_DGRAM_H) -#define ACE_LOCAL_SOCK_DGRAM_H - -#include "ace/SOCK_Dgram.h" -#include "ace/LSOCK.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK_Dgram : public ACE_SOCK_Dgram, public ACE_LSOCK -{ - // = TITLE - // Create a Local ACE_SOCK datagram. -public: - // = Initialization methods. - ACE_LSOCK_Dgram (void); - // Default constructor. - - ACE_LSOCK_Dgram (const ACE_Addr &local, - int protocol_family = PF_UNIX, - int protocol = 0); - // Initiate a local dgram. - - int open (const ACE_Addr &local, - int protocol_family = PF_UNIX, - int protocol = 0); - // Initiate a local dgram. - - ACE_HANDLE get_handle (void) const; - // Get handle. - - void set_handle (ACE_HANDLE); - // Set handle. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#include "ace/LSOCK_Dgram.i" - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_DGRAM_H */ diff --git a/ace/LSOCK_Dgram.i b/ace/LSOCK_Dgram.i deleted file mode 100644 index 51b03bb8c89..00000000000 --- a/ace/LSOCK_Dgram.i +++ /dev/null @@ -1,20 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK_Dgram.i - -inline void -ACE_LSOCK_Dgram::set_handle (ACE_HANDLE h) -{ - ACE_TRACE ("ACE_LSOCK_Dgram::set_handle"); - this->ACE_SOCK_Dgram::set_handle (h); - this->ACE_LSOCK::set_handle (h); -} - -inline ACE_HANDLE -ACE_LSOCK_Dgram::get_handle (void) const -{ - ACE_TRACE ("ACE_LSOCK_Dgram::get_handle"); - return this->ACE_SOCK_Dgram::get_handle (); -} - diff --git a/ace/LSOCK_Stream.cpp b/ace/LSOCK_Stream.cpp deleted file mode 100644 index ede35683ee1..00000000000 --- a/ace/LSOCK_Stream.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// LSOCK_Stream.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/LSOCK_Stream.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -ACE_ALLOC_HOOK_DEFINE(ACE_LSOCK_Stream) - -int -ACE_LSOCK_Stream::get_remote_addr (ACE_Addr &a) const -{ - ACE_TRACE ("ACE_LSOCK_Stream::get_remote_addr"); - return ACE_SOCK_Stream::get_remote_addr (a); -} - -void -ACE_LSOCK_Stream::dump (void) const -{ - ACE_TRACE ("ACE_LSOCK_Stream::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_SOCK_Stream::dump (); - ACE_LSOCK::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -#if defined (ACE_HAS_MSG) - -// Send a readv-style vector of buffers, along with an open I/O -// handle. - -ssize_t -ACE_LSOCK_Stream::send_msg (const iovec iov[], - size_t n, - ACE_HANDLE handle) -{ - ACE_TRACE ("ACE_LSOCK_Stream::send_msg"); - msghdr send_msg; -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - char cmsgbuf[ACE_BSD_CONTROL_MSG_LEN]; - cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - send_msg.msg_iov = (iovec *) iov; - send_msg.msg_iovlen = n; - send_msg.msg_name = 0; - send_msg.msg_namelen = 0; - -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - cmsgptr->cmsg_level = SOL_SOCKET; - cmsgptr->cmsg_type = SCM_RIGHTS; - cmsgptr->cmsg_len = sizeof cmsgbuf; - send_msg.msg_control = cmsgbuf; - send_msg.msg_controllen = sizeof cmsgbuf; - *(ACE_HANDLE *) CMSG_DATA (cmsgptr) = handle; - send_msg.msg_flags = 0 ; -#else - send_msg.msg_accrights = (char *) &handle; - send_msg.msg_accrightslen = sizeof handle; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - return ACE_OS::sendmsg (this->ACE_SOCK_Stream::get_handle (), - &send_msg, 0); -} - -// Read a readv-style vector of buffers, along with an open I/O -// handle. - -ssize_t -ACE_LSOCK_Stream::recv_msg (iovec iov[], - size_t n, - ACE_HANDLE &handle) -{ - ACE_TRACE ("ACE_LSOCK_Stream::recv_msg"); - msghdr recv_msg; -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - char cmsgbuf[ACE_BSD_CONTROL_MSG_LEN]; - cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf; -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - - recv_msg.msg_iov = (iovec *) iov; - recv_msg.msg_iovlen = n; - recv_msg.msg_name = 0; - recv_msg.msg_namelen = 0; - -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) - recv_msg.msg_control = cmsgbuf; - recv_msg.msg_controllen = sizeof cmsgbuf; - ssize_t result = ACE_OS::recvmsg (this->ACE_SOCK_Stream::get_handle (), - &recv_msg, 0); - handle = *(ACE_HANDLE*) CMSG_DATA (cmsgptr) ; - return result; -#else - recv_msg.msg_accrights = (char *) &handle; - recv_msg.msg_accrightslen = sizeof handle; - - return ACE_OS::recvmsg (this->ACE_SOCK_Stream::get_handle (), - &recv_msg, 0); -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ -} -#endif /* ACE_HAS_MSG */ -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ diff --git a/ace/LSOCK_Stream.h b/ace/LSOCK_Stream.h deleted file mode 100644 index 3957df2415a..00000000000 --- a/ace/LSOCK_Stream.h +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// LSOCK_Stream.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOCAL_SOCK_STREAM_H) -#define ACE_LOCAL_SOCK_STREAM_H - -#include "ace/SOCK_Stream.h" -#include "ace/UNIX_Addr.h" -#include "ace/LSOCK.h" - -#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) - -class ACE_Export ACE_LSOCK_Stream : public ACE_SOCK_Stream, public ACE_LSOCK -{ - // = TITLE - // Create a Local ACE_SOCK stream. -public: - // = Send/recv methods. - ssize_t send_msg (const iovec iov[], - size_t n, - ACE_HANDLE handle); - // Send iovecs via <::writev>. - - ssize_t recv_msg (iovec iov[], - size_t n, - ACE_HANDLE &handle); - // Send iovecs via <::writev>. - - ACE_HANDLE get_handle (void) const; - // Get handle. - - void set_handle (ACE_HANDLE fd); - // Overrides set_handle from the base classes. - - // = Meta-type info - typedef ACE_UNIX_Addr PEER_ADDR; - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - - int get_remote_addr (ACE_Addr &) const; - // This method simply returns the "local" addr (since they are the - // same for UNIX domain sockets). -}; - -#include "ace/LSOCK_Stream.i" - -#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */ -#endif /* ACE_LOCAL_SOCK_STREAM_H */ diff --git a/ace/LSOCK_Stream.i b/ace/LSOCK_Stream.i deleted file mode 100644 index e76afa8d240..00000000000 --- a/ace/LSOCK_Stream.i +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// LSOCK_Stream.i - -// Sets both the file descriptors... Overrides handle from the base -// classes. - -inline void -ACE_LSOCK_Stream::set_handle (ACE_HANDLE fd) -{ - ACE_TRACE ("ACE_LSOCK_Stream::set_handle"); - this->ACE_SOCK_Stream::set_handle (fd); - this->ACE_LSOCK::set_handle (fd); -} - -inline ACE_HANDLE -ACE_LSOCK_Stream::get_handle (void) const -{ - ACE_TRACE ("ACE_LSOCK_Stream::get_handle"); - return this->ACE_SOCK_Stream::get_handle (); -} - - - diff --git a/ace/Local_Name_Space.cpp b/ace/Local_Name_Space.cpp deleted file mode 100644 index 82bbfc2b186..00000000000 --- a/ace/Local_Name_Space.cpp +++ /dev/null @@ -1,199 +0,0 @@ -// Local_Name_Space.cpp -// $Id$ - -#if !defined (ACE_LOCAL_NAME_SPACE_C) -#define ACE_LOCAL_NAME_SPACE_C - -#define ACE_BUILD_DLL -#include "ace/ACE.h" -#include "ace/Local_Name_Space.h" - -ACE_USHORT16 * -ACE_NS_String::fast_rep (void) const -{ - ACE_TRACE ("ACE_NS_String::fast_rep"); - return this->rep_; -} - -ACE_NS_String::operator ACE_WString () const -{ - ACE_TRACE ("ACE_NS_String::operator ACE_WString"); - return ACE_WString (this->rep_, (this->len_ / sizeof (ACE_USHORT16)) - 1); -} - -size_t -ACE_NS_String::len (void) const -{ - ACE_TRACE ("ACE_NS_String::len"); - return this->len_; -} - -char * -ACE_NS_String::char_rep (void) const -{ - ACE_TRACE ("ACE_NS_String::char_rep"); - ACE_WString w_string (this->rep_, (this->len_ / sizeof (ACE_USHORT16)) - 1); - return w_string.char_rep (); -} - -ACE_NS_String::ACE_NS_String (void) - : len_ (0), - rep_ (0) -{ - ACE_TRACE ("ACE_NS_String::ACE_NS_String"); -} - -ACE_NS_String::ACE_NS_String (const ACE_WString &s) - : len_ ((s.length () + 1) * sizeof (ACE_USHORT16)), - rep_ ((ACE_USHORT16 *) s.fast_rep ()) -{ - ACE_TRACE ("ACE_NS_String::ACE_NS_String"); -} - -int -ACE_NS_String::strstr (const ACE_NS_String &s) const -{ - ACE_TRACE ("ACE_NS_String::strstr"); - - if (this->len_ < s.len_) - // If they're larger than we are they can't be a substring of us! - return -1; - else if (this->len_ == s.len_) - // Check if we're equal. - return *this == s ? 0 : -1; - else - { - // They're smaller than we are... - size_t len = (this->len_ - s.len_) / sizeof (ACE_USHORT16); - size_t pat_len = s.len_ / sizeof (ACE_USHORT16) - 1; - - for (size_t i = 0; i <= len; i++) - { - size_t j; - - for (j = 0; j < pat_len; j++) - if (this->rep_[i + j] != s.rep_[j]) - break; - - if (j == pat_len) - // Found a match! Return the index. - return i; - } - - return -1; - } -} - -int -ACE_NS_String::operator == (const ACE_NS_String &s) const -{ - ACE_TRACE ("ACE_NS_String::operator =="); - return this->len_ == s.len_ - && ACE_OS::memcmp ((void *) this->rep_, - (void *) s.rep_, this->len_) == 0; -} - -int -ACE_NS_String::operator != (const ACE_NS_String &s) const -{ - ACE_TRACE ("ACE_NS_String::operator !="); - return !this->operator == (s); -} - -ACE_NS_String::ACE_NS_String (ACE_USHORT16 *dst, - const ACE_USHORT16 *src, - size_t bytes) - : len_ (bytes), - rep_ (dst) -{ - ACE_TRACE ("ACE_NS_String::ACE_NS_String"); - ACE_OS::memcpy (this->rep_, src, bytes); -} - -size_t -ACE_NS_String::hash (void) const -{ - return ACE::hash_pjw (this->rep_); -} - -ACE_NS_Internal::ACE_NS_Internal (void) -{ -} - -ACE_NS_Internal::ACE_NS_Internal (ACE_NS_String &value, const char *type) - : value_ (value), - type_ (type) -{ - ACE_TRACE ("ACE_NS_Internal::ACE_NS_Internal"); -} - -int -ACE_NS_Internal::operator == (const ACE_NS_Internal &s) const -{ - ACE_TRACE ("ACE_NS_Internal::operator =="); - return this->value_ == s.value_; -} - -ACE_NS_String -ACE_NS_Internal::value (void) -{ - ACE_TRACE ("ACE_NS_Internal::value"); - return this->value_; -} - -const char * -ACE_NS_Internal::type (void) -{ - ACE_TRACE ("ACE_NS_Internal::type"); - return this->type_; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#if (1) -template class ACE_Hash_Map_Manager; -template class ACE_Hash_Map_Iterator; -template class ACE_Hash_Map_Iterator_Base; -template class ACE_Hash_Map_Reverse_Iterator; -template class ACE_Hash_Map_Entry ; -#else -template class ACE_Map_Manager; -template class ACE_Map_Iterator_Base; -template class ACE_Map_Iterator; -template class ACE_Map_Reverse_Iterator; -template class ACE_Map_Entry ; -#endif -template class ACE_Unbounded_Set; -template class ACE_Unbounded_Set_Iterator; -template class ACE_Unbounded_Set; -template class ACE_Unbounded_Set_Iterator; -template class ACE_Node; -template class ACE_Node; -template class ACE_Guard; -template class ACE_Read_Guard; -template class ACE_Write_Guard; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#if (1) -#pragma instantiate ACE_Hash_Map_Manager -#pragma instantiate ACE_Hash_Map_Iterator -#pragma instantiate ACE_Hash_Map_Iterator_Base -#pragma instantiate ACE_Hash_Map_Reverse_Iterator -#pragma instantiate ACE_Hash_Map_Entry -#else -#pragma instantiate ACE_Map_Manager -#pragma instantiate ACE_Map_Iterator_Base -#pragma instantiate ACE_Map_Iterator -#pragma instantiate ACE_Map_Reverse_Iterator -#pragma instantiate ACE_Map_Entry -#endif -#pragma instantiate ACE_Unbounded_Set -#pragma instantiate ACE_Unbounded_Set_Iterator -#pragma instantiate ACE_Unbounded_Set -#pragma instantiate ACE_Unbounded_Set_Iterator -#pragma instantiate ACE_Node -#pragma instantiate ACE_Node -#pragma instantiate ACE_Guard -#pragma instantiate ACE_Read_Guard -#pragma instantiate ACE_Write_Guard -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - -#endif /* ACE_LOCAL_NAME_SPACE_C */ diff --git a/ace/Local_Name_Space.h b/ace/Local_Name_Space.h deleted file mode 100644 index 2ffdcfe1d09..00000000000 --- a/ace/Local_Name_Space.h +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Local_Name_Space.h -// -// = AUTHOR -// Prashant Jain (pjain@cs.wustl.edu), Irfan Pyarali -// (irfan@wuerl.wustl.edu), and Douglas C. Schmidt -// (schmidt@cs.wustl.edu). -// -// ============================================================================ - -#if !defined (ACE_LOCAL_NAME_SPACE_H) -#define ACE_LOCAL_NAME_SPACE_H - -#include "ace/SString.h" -#include "ace/Containers.h" -#include "ace/Malloc_T.h" -#include "ace/Synch.h" - -class ACE_Export ACE_NS_String -{ - // = TITLE - // This class and ACE_NS_Internal are used as Adapters to work - // with the Map_Manager. - // - // = DESCRIPTION - // In order to work correctly, this class must be able to - // convert back and forth with ACE_WStrings. Note that this - // class must not have a destructor since otherwise we'll have - // problems... -public: - // = Initialization. - ACE_NS_String (void); - // Default "no-op" constructor. - - ACE_NS_String (ACE_USHORT16 *dst, - const ACE_USHORT16 *src, - size_t len); - // Initialization method. - - ACE_NS_String (const ACE_WString &); - // Converts an ACE_WString to an ACE_NS_String; - - operator ACE_WString () const; - // Converts an ACE_NS_String to fresh copy of an ACE_WString; - - char *char_rep (void) const; - // Return the ASCII character representation. - - int strstr (const ACE_NS_String &) const; - // Matches on substrings. - - int operator == (const ACE_NS_String &) const; - // Compare an ACE_NS_String. - - int operator != (const ACE_NS_String &) const; - // Compare an ACE_NS_String. - - size_t len (void) const; - // Returns length of the string - - ACE_USHORT16 *fast_rep (void) const; - // Returns the underlying representation. - - size_t hash (void) const; - // Returns a hash value for this string. - -private: - size_t len_; - // Length of the string. - - ACE_USHORT16 *rep_; - // This actually points into shared/persistent memory. -}; - -class ACE_Export ACE_NS_Internal -{ - // = TITLE - // This class and ACE_NS_String are used as Adapters to work - // with the Map_Manager. -public: - ACE_NS_Internal (void); - // No-op constructor. - - ACE_NS_Internal (ACE_NS_String &value, const char *type); - // Constructor. - - int operator == (const ACE_NS_Internal &) const; - // Compare an ACE_NS_Internal - - ACE_NS_String value (void); - // Return value. - - const char *type (void); - // Return type. - -private: - ACE_NS_String value_; - // Contains the value of the string. - - const char *type_; - // Contains the type of the string. -}; - -// Include the ACE_Local_Name_Space templates stuff at this point. -#include "ace/Local_Name_Space_T.h" - -#endif /* ACE_LOCAL_NAME_SPACE_H */ diff --git a/ace/Local_Name_Space_T.cpp b/ace/Local_Name_Space_T.cpp deleted file mode 100644 index 2b7a6850d49..00000000000 --- a/ace/Local_Name_Space_T.cpp +++ /dev/null @@ -1,883 +0,0 @@ -// Local_Name_Space_T.cpp -// $Id$ - -#if !defined (ACE_LOCAL_NAME_SPACE_T_C) -#define ACE_LOCAL_NAME_SPACE_T_C - -#define ACE_BUILD_DLL -#include "ace/ACE.h" -#include "ace/Local_Name_Space.h" - -template -ACE_Name_Space_Map::ACE_Name_Space_Map (ALLOCATOR *alloc) - : MAP_MANAGER (alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::ACE_Name_Space_Map"); -} - -template int -ACE_Name_Space_Map::close (ALLOCATOR *alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::close"); - - this->allocator_ = alloc; - return this->close_i (); -} - -template int -ACE_Name_Space_Map::bind (const ACE_NS_String &ext_id, - const ACE_NS_Internal &int_id, - ALLOCATOR *alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::bind"); - - this->allocator_ = alloc; - return this->bind_i (ext_id, int_id); -} - -template int -ACE_Name_Space_Map::unbind (const ACE_NS_String &ext_id, - ACE_NS_Internal &int_id, - ALLOCATOR *alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::unbind"); - - this->allocator_ = alloc; - return this->unbind_i (ext_id, int_id); -} - -template int -ACE_Name_Space_Map::rebind (const ACE_NS_String &ext_id, - const ACE_NS_Internal &int_id, - ACE_NS_String &old_ext_id, - ACE_NS_Internal &old_int_id, - ALLOCATOR *alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::rebind"); - - this->allocator_ = alloc; - return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id); -} - -template int -ACE_Name_Space_Map::find (const ACE_NS_String &ext_id, - ACE_NS_Internal &int_id, - ALLOCATOR *alloc) -{ - ACE_TRACE ("ACE_Name_Space_Map::find"); - - this->allocator_ = alloc; - return this->find_i (ext_id, int_id); -} - -#if defined (ACE_WIN32) -template int -ACE_Local_Name_Space::remap (EXCEPTION_POINTERS *ep) -{ - ACE_TRACE ("ACE_Name_Space_Map::remap"); - - void *addr = (void *) ep->ExceptionRecord->ExceptionInformation[1]; - - // The following requires Memory Pool to have ::remap() - // defined. Thus currently this will only work for - // ACE_MMap_Memory_Pool. - if (this->allocator_->alloc ().memory_pool ().remap (addr) == -1) - // Kick it upstairs... - return (DWORD) EXCEPTION_CONTINUE_SEARCH; - -#if __X86__ - // This is 80x86-specific. - ep->ContextRecord->Edi = (DWORD) addr; -#elif __MIPS__ - ep->ContextRecord->IntA0 = - ep->ContextRecord->IntV0 = (DWORD) addr; - ep->ContextRecord->IntT5 = ep->ContextRecord->IntA0 + 3; -#endif /* __X86__ */ - // Resume execution at the original point of "failure." - return (DWORD) EXCEPTION_CONTINUE_EXECUTION; -} -#endif /* ACE_WIN32 */ - -template int -ACE_Local_Name_Space::shared_bind (const ACE_WString &name, - const ACE_WString &value, - const char *type, - int rebind) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->shared_bind_i (name, value, type, rebind); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space::shared_bind_i (const ACE_WString &name, - const ACE_WString &value, - const char *type, - int rebind) -{ - - ACE_TRACE ("ACE_Local_Name_Space::shared_bind"); - size_t name_len = (name.length () + 1) * sizeof (ACE_USHORT16); - size_t value_len = (value.length () + 1) * sizeof (ACE_USHORT16); - size_t type_len = ACE_OS::strlen (type) + 1; - size_t total_len = name_len + value_len + type_len; - char *ptr = (char *) this->allocator_->malloc (total_len); - - if (ptr == 0) - return -1; - else - { - // Note that the value_rep *must* come first to make sure we can - // retrieve this pointer later on in unbind(). - ACE_USHORT16 *value_rep = (ACE_USHORT16 *) (ptr); - ACE_USHORT16 *name_rep = (ACE_USHORT16 *) (ptr + value_len); - char *new_type = (char *) (ptr + value_len + name_len); - ACE_NS_String new_name (name_rep, name.fast_rep (), name_len); - ACE_NS_String new_value (value_rep, value.fast_rep (), value_len); - ACE_OS::strcpy (new_type, type); - ACE_NS_Internal new_internal (new_value, new_type); - int result = -1; - - if (rebind == 0) - { - // Do a normal bind. This will fail if there's already an - // with the same name. - result = this->name_space_map_->bind (new_name, new_internal, this->allocator_); - - if (result == 1) - { - // Entry already existed so bind failed. Free our dynamically allocated memory. - this->allocator_->free ((void *) ptr); - return result; - } - } - else - { - // Do a rebind. If there's already any entry, this will return the existing - // and and overwrite the existing name binding. - ACE_NS_String old_name; - ACE_NS_Internal old_internal; - - result = this->name_space_map_->rebind (new_name, new_internal, - old_name, old_internal, - this->allocator_); - if (result == 1) - { - // Free up the memory we allocated in shared_bind(). Note that this - // assumes that the "value" pointer comes first and that the value, - // name, and type are contiguously allocated (see above for details) - this->allocator_->free ((void *) (old_internal.value ()).fast_rep ()); - } - } - - if (result == -1) - // Free our dynamically allocated memory. - this->allocator_->free ((void *) ptr); - else - // If bind() or rebind() succeed, they will automatically sync - // up the map manager entry. However, we must sync up our - // name/value memory. - this->allocator_->sync (ptr, total_len); - - return result; - } -} - -template int -ACE_Local_Name_Space::unbind (const ACE_WString &name) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->unbind_i (name); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; - -} - -template int -ACE_Local_Name_Space::unbind_i (const ACE_WString &name) -{ - ACE_TRACE ("ACE_Local_Name_Space::unbind"); - - ACE_WRITE_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - ACE_NS_String ns_name (name); - ACE_NS_Internal ns_internal; - if (this->name_space_map_->unbind (ns_name, ns_internal, this->allocator_) != 0) - return -1; - else - { - // Free up the memory we allocated in shared_bind(). Note that - // this assumes that the "value" pointer comes first and that - // the value, name and type are contiguously allocated (see - // shared_bind() for details) - this->allocator_->free ((void *) (ns_internal.value ()).fast_rep ()); - return 0; - } -} - -template int -ACE_Local_Name_Space::bind (const ACE_WString &name, - const ACE_WString &value, - const char *type) -{ - ACE_TRACE ("ACE_Local_Name_Space::bind"); - ACE_WRITE_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - return this->shared_bind (name, value, type, 0); -} - -template int -ACE_Local_Name_Space::rebind (const ACE_WString &name, - const ACE_WString &value, - const char *type) -{ - ACE_TRACE ("ACE_Local_Name_Space::rebind"); - ACE_WRITE_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - return this->shared_bind (name, value, type, 1); -} - -template int -ACE_Local_Name_Space::resolve (const ACE_WString &name, - ACE_WString &value, - char *&type) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->resolve_i (name, value, type); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - - -template int -ACE_Local_Name_Space::resolve_i (const ACE_WString &name, - ACE_WString &value, - char *&type) -{ - ACE_TRACE ("ACE_Local_Name_Space::resolve"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - ACE_NS_String ns_name (name); - ACE_NS_Internal ns_internal; - ACE_NS_String nbc_string; // Note the classy variable name! :) - - if (this->name_space_map_->find (ns_name, - ns_internal, - this->allocator_) != 0) - return -1; - else - { - // Calls conversion operator and then calls the ACE_WString - // assignment operator to get a fresh copy. (*#*(@#&!*@!!*@&( - // HP compiler causes us to add an extra copy explicitly !! :) - nbc_string = ns_internal.value (); - value = nbc_string; - - // Gets type and then the actual reprsentation which is a - // ACE_USHORT16 - const char *temp = ns_internal.type (); - - size_t len = ACE_OS::strlen (ns_internal.type ()); - // Makes a copy here. Caller needs to call delete to free up - // memory. - char *new_type; - ACE_NEW_RETURN (new_type, char [len + 1], -1); - - ACE_OS::strncpy (new_type, temp, len); - new_type[len] = '\0'; // Null terminate the string - type = new_type; - return 0; - } -} - -template int -ACE_Local_Name_Space::open (ACE_Naming_Context::Context_Scope_Type scope_in) -{ - ACE_TRACE ("ACE_Local_Name_Space::open"); - this->ns_scope_ = scope_in; - - return this->create_manager (); -} - -template -ACE_Local_Name_Space::ACE_Local_Name_Space (void) - : allocator_ (0), - name_space_map_ (0), - name_options_ (0) -{ - ACE_TRACE ("ACE_Local_Name_Space::ACE_Local_Name_Space"); -} - -template -ACE_Local_Name_Space::ACE_Local_Name_Space (ACE_Naming_Context::Context_Scope_Type scope_in, - ACE_Name_Options *name_options) - : name_options_ (name_options) -{ - ACE_TRACE ("ACE_Local_Name_Space::ACE_Local_Name_Space"); - if (this->open (scope_in) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Local_Name_Space::ACE_Local_Name_Space")); -} - -template -ACE_Local_Name_Space::~ACE_Local_Name_Space (void) -{ - ACE_TRACE ("ACE_Local_Name_Space::~ACE_Local_Name_Space"); - - // Remove the map. - delete this->allocator_; - delete this->lock_; -} - -template int -ACE_Local_Name_Space::create_manager (void) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->create_manager_i (); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - - -template int -ACE_Local_Name_Space::create_manager_i (void) -{ - ACE_TRACE ("ACE_Local_Name_Space::create_manager"); - // Get directory name - LPCTSTR dir = this->name_options_->namespace_dir (); - LPCTSTR database = this->name_options_->database (); - - // Use process name as the file name. - size_t len = ACE_OS::strlen (dir); - len += ACE_OS::strlen (ACE_DIRECTORY_SEPARATOR_STR); - len += ACE_OS::strlen (database) + 1; - - if (len >= MAXNAMELEN + MAXPATHLEN) - { - errno = ENAMETOOLONG; - return -1; - } - - ACE_OS::strcpy (this->context_file_, dir); - ACE_OS::strcat (this->context_file_, ACE_DIRECTORY_SEPARATOR_STR); - ACE_OS::strcat (this->context_file_, database); - - ACE_MEM_POOL_OPTIONS options (this->name_options_->base_address ()); - - TCHAR lock_name_for_local_name_space [MAXNAMELEN + MAXPATHLEN]; - TCHAR lock_name_for_backing_store [MAXPATHLEN + MAXNAMELEN]; - LPCTSTR postfix = database; - - size_t length = 0; - length = sizeof lock_name_for_local_name_space / sizeof (TCHAR); - ACE_OS::strncpy (lock_name_for_local_name_space, - __TEXT ("name_space_"), - length); - ACE_OS::strncat (lock_name_for_local_name_space, - postfix, - length - ACE_OS::strlen (__TEXT ("name_space_"))); - - length = sizeof lock_name_for_backing_store / sizeof (TCHAR); - ACE_OS::strncpy (lock_name_for_backing_store, - __TEXT ("backing_store_"), - length); - ACE_OS::strncat (lock_name_for_backing_store, - postfix, - length - ACE_OS::strlen (__TEXT ("backing_store_"))); - - // Create the allocator with the appropriate options. - ACE_NEW_RETURN (this->allocator_, - ALLOCATOR (this->context_file_, - lock_name_for_backing_store, - &options), -1); - - if (ACE_LOG_MSG->op_status ()) - ACE_ERROR_RETURN ((LM_ERROR, "Allocator::Allocator\n"), -1); - - ACE_NEW_RETURN (this->lock_, ACE_LOCK (lock_name_for_local_name_space), -1); - - // Now check if the backing store has been created successfully - if (ACE_OS::access (this->context_file_, F_OK) != 0) - ACE_ERROR_RETURN ((LM_ERROR, "create_manager\n"), -1); - - void *ns_map = 0; - - // This is the easy case since if we find the Name Server Map - // Manager we know it's already initialized. - if (this->allocator_->find (ACE_NAME_SERVER_MAP, ns_map) == 0) - { - this->name_space_map_ = (ACE_Name_Space_Map *) ns_map; - ACE_DEBUG ((LM_DEBUG, "name_space_map_ = %d, ns_map = %d\n", - this->name_space_map_, ns_map)); - } - - // This is the hard part since we have to avoid potential race - // conditions... We will use the double check here - else - { - ACE_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - // This is the easy case since if we find the Name Server Map - // Manager we know it's already initialized. - if (this->allocator_->find (ACE_NAME_SERVER_MAP, ns_map) == 0) - { - this->name_space_map_ = (ACE_Name_Space_Map *) ns_map; - ACE_DEBUG ((LM_DEBUG, "name_space_map_ = %d, ns_map = %d\n", - this->name_space_map_, ns_map)); - } - else - { - size_t map_size = sizeof *this->name_space_map_; - ns_map = this->allocator_->malloc (map_size); - - // Initialize the map into its memory location (e.g., shared memory). - ACE_NEW_RETURN (this->name_space_map_, - (ns_map) ACE_Name_Space_Map (this->allocator_), - -1); - - if (this->allocator_->bind (ACE_NAME_SERVER_MAP, ns_map) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "create_manager\n"), -1); - } - - ACE_DEBUG ((LM_DEBUG, "name_space_map_ = %d, ns_map = %d\n", - this->name_space_map_, ns_map)); - } - - return 0; -} - -template int -ACE_Local_Name_Space::list_names_i (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_names"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - int result = 1; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance()) - { - if (map_entry->ext_id_.strstr (pattern) != -1) - { - ACE_WString entry (map_entry->ext_id_ ); - - if (set.insert (entry) == -1) - { - result = -1; - break; - } - else - result = 0; - } - } - - return result; -} - -template int -ACE_Local_Name_Space::list_values_i (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_values"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - int result = 1; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance ()) - { - if (map_entry->int_id_.value ().strstr (pattern) != -1) - { - ACE_WString entry (map_entry->int_id_.value ()); - - if (set.insert (entry) == -1) - { - result = -1; - break; - } - else - result = 0; - } - } - - return result; -} - -template int -ACE_Local_Name_Space::list_types_i (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_types"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - char *compiled_regexp = 0; - - // Note that char_rep() allocates memory so we need to delete it - char *pattern_rep = pattern.char_rep (); - - // Check for wildcard case first. - if (ACE_OS::strcmp ("", pattern_rep) == 0) - ACE_ALLOCATOR_RETURN (compiled_regexp, - ACE_OS::strdup (""), - -1); - else - // Compile the regular expression (the 0's cause ACE_OS::compile - // to allocate space). -#if defined (ACE_HAS_REGEX) - compiled_regexp = ACE_OS::compile (pattern_rep, 0, 0); -#else - // If we don't have regular expressions just use the pattern - // directly. - compiled_regexp = pattern_rep; -#endif /* ACE_HAS_REGEX */ - - int result = 1; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance ()) - { - // Get the type - const char *type = map_entry->int_id_.type (); - - // Everything matches the wildcard. - if (ACE_OS::strcmp ("", pattern_rep) == 0 -#if defined (ACE_HAS_REGEX) - || ACE_OS::step (type, compiled_regexp) != 0) -#else - // If we don't have regular expressions just use strstr() for - // substring matching. - || ACE_OS::strstr (type, compiled_regexp) != 0) -#endif /* ACE_HAS_REGEX */ - - { - ACE_WString entry (type); - - if (set.insert (entry) == -1) - { - result = -1; - break; - } - else - result = 0; - } - } -#if defined (ACE_HAS_REGEX) - if (compiled_regexp) - ACE_OS::free ((void *) compiled_regexp); -#endif /* ACE_HAS_REGEX */ - delete [] pattern_rep; // delete pattern_rep; - return result; -} - -template int -ACE_Local_Name_Space ::list_name_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_name_entries"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance()) - { - if (map_entry->ext_id_.strstr (pattern) != -1) - { - ACE_Name_Binding entry (map_entry->ext_id_, - map_entry->int_id_.value (), - map_entry->int_id_.type ()); - - if (set.insert (entry) == -1) - return -1; - } - } - - return 0; -} - -template int -ACE_Local_Name_Space::list_value_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_value_entries"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance ()) - { - if (map_entry->int_id_.value ().strstr (pattern) != -1) - { - ACE_Name_Binding entry (map_entry->ext_id_, - map_entry->int_id_.value (), - map_entry->int_id_.type ()); - - if (set.insert (entry) == -1) - return -1; - } - } - return 0; -} - -template int -ACE_Local_Name_Space::list_type_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - ACE_TRACE ("ACE_Local_Name_Space::list_type_entries"); - ACE_READ_GUARD_RETURN (ACE_RW_Process_Mutex, ace_mon, *this->lock_, -1); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - char *compiled_regexp = 0; - // Note that char_rep() allocates memory so we need to delete it - char *pattern_rep = pattern.char_rep (); - - // Check for wildcard case first. - if (ACE_OS::strcmp ("", pattern_rep) == 0) - compiled_regexp = ACE_OS::strdup (""); - else - // Compile the regular expression (the 0's cause ACE_OS::compile to allocate space). -#if defined (ACE_HAS_REGEX) - compiled_regexp = ACE_OS::compile (pattern_rep, 0, 0); -#else /* If we don't have regular expressions just the pattern directly. */ - compiled_regexp = pattern_rep; -#endif /* ACE_HAS_REGEX */ - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance ()) - { - // Get the type. - const char *type = map_entry->int_id_.type (); - - if (ACE_OS::strcmp ("", pattern_rep) == 0 // Everything matches the wildcard. -#if defined (ACE_HAS_REGEX) - || ACE_OS::step (type, compiled_regexp) != 0) -#else /* If we don't have regular expressions just use strstr() for substring matching. */ - || ACE_OS::strstr (type, compiled_regexp) != 0) -#endif /* ACE_HAS_REGEX */ - { - ACE_Name_Binding entry (map_entry->ext_id_, - map_entry->int_id_.value (), - map_entry->int_id_.type ()); - - if (set.insert (entry) == -1) - return -1; - } - } -#if defined (ACE_HAS_REGEX) - if (compiled_regexp) - ACE_OS::free ((void *) compiled_regexp); -#endif /* ACE_HAS_REGEX */ - delete [] pattern_rep; // delete pattern_rep; - return 0; -} - -template void -ACE_Local_Name_Space::dump_i (void) const -{ - ACE_TRACE ("ACE_Local_Name_Space::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - - MAP_ITERATOR map_iterator (*this->name_space_map_); - MAP_ENTRY *map_entry; - - for (map_entry = 0; - map_iterator.next (map_entry) != 0; - map_iterator.advance()) - { - char *key = map_entry->ext_id_.char_rep (); - char *value = map_entry->int_id_.value ().char_rep (); - const char *type = map_entry->int_id_.type (); - - ACE_DEBUG ((LM_DEBUG, "key=%s\nvalue=%s\ntype=%s\n", - key, value, type)); - // We need to delete key and value since char_rep allocates memory for them - delete [] key; - delete [] value; - } - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template int -ACE_Local_Name_Space::list_names (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_names_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space::list_values (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_values_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space::list_types (ACE_PWSTRING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_types_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space ::list_name_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_name_entries_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space::list_value_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_value_entries_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template int -ACE_Local_Name_Space::list_type_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - int result = 0; - ACE_SEH_TRY - { - result = this->list_type_entries_i (set, pattern); - } - ACE_SEH_EXCEPT (this->remap (GetExceptionInformation ())) - { - } - return result; -} - -template void -ACE_Local_Name_Space::dump (void) const -{ - // Note that we *must* use structured exception handling here - // because (1) we may need to commit virtual memory pages and (2) - // C++ exception handling doesn't support resumption. - - // This should really be a const cast - ACE_Local_Name_Space *fake_this = - (ACE_Local_Name_Space *) this; - ACE_UNUSED_ARG (fake_this); - - ACE_SEH_TRY - { - this->dump_i (); - } - ACE_SEH_EXCEPT (fake_this->remap (GetExceptionInformation ())) - { - } -} - -#endif /* ACE_LOCAL_NAME_SPACE_T_C */ diff --git a/ace/Local_Name_Space_T.h b/ace/Local_Name_Space_T.h deleted file mode 100644 index 1c1e437ff83..00000000000 --- a/ace/Local_Name_Space_T.h +++ /dev/null @@ -1,243 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Local_Name_Space_T.h -// -// = AUTHOR -// Prashant Jain (pjain@cs.wustl.edu), Irfan Pyarali -// (irfan@wuerl.wustl.edu), and Douglas C. Schmidt -// (schmidt@cs.wustl.edu). -// -// ============================================================================ - -#if !defined (ACE_LOCAL_NAME_SPACE_T_H) -#define ACE_LOCAL_NAME_SPACE_T_H - -#include "ace/Name_Space.h" -#include "ace/Naming_Context.h" -#include "ace/SString.h" -#include "ace/Local_Name_Space.h" - -// A short-hand name for our set of name/value/type tuples passed back -// to callers. -typedef ACE_Unbounded_Set ACE_WSTRING_SET; - -// Simplify later usage by defining typedefs. -#if (1) -#include "ace/Hash_Map_Manager.h" -typedef ACE_Hash_Map_Manager MAP_MANAGER; -typedef ACE_Hash_Map_Iterator MAP_ITERATOR; -typedef ACE_Hash_Map_Entry MAP_ENTRY; -#else -#include "ace/Map_Manager.h" -typedef ACE_Map_Manager MAP_MANAGER; -typedef ACE_Map_Iterator MAP_ITERATOR; -typedef ACE_Map_Entry MAP_ENTRY; -#endif /* 0 */ - -template -class ACE_Name_Space_Map : public MAP_MANAGER -{ - // = TITLE - // This class serves as a Proxy that ensures our process always - // has the appropriate allocator in place for every operation - // that accesses or updates the Map Manager. - // - // = DESCRIPTION - // We need this class because otherwise the ALLOCATOR - // pointer will be stored in the Map_Manager that resides within - // shared memory. Naturally, this will cause horrible problems - // since only the first process to set that pointer will be - // guaranteed the address of the ALLOCATOR is meaningful! -public: - ACE_Name_Space_Map (ALLOCATOR *alloc); - // Constructor. - - // = The following methods are Proxies to the underlying methods - // provided by . When they are called, they - // acquire the lock, set the allocator to the one specific to this - // process, and then call down to perform the intended operation. - int bind (const ACE_NS_String &, - const ACE_NS_Internal &, - ALLOCATOR *alloc); - - int unbind (const ACE_NS_String &, - ACE_NS_Internal &, - ALLOCATOR *alloc); - - int rebind (const ACE_NS_String &, - const ACE_NS_Internal &, - ACE_NS_String &, - ACE_NS_Internal &, - ALLOCATOR *alloc); - - int find (const ACE_NS_String &, - ACE_NS_Internal &, - ALLOCATOR *alloc); - - int close (ALLOCATOR *alloc); -}; - -template -class ACE_Local_Name_Space : public ACE_Name_Space -{ - // = TITLE - // Maintaining accesses Local Name Server Database. Allows to - // add NameBindings, change them, remove them and resolve - // NameBindings. - // - // = DESCRIPTION - // Manages a Naming Service for a local name space which - // includes bindings for node_local and host_local naming - // contexts. All strings are stored in wide character format. - // A Name Binding consists of a name (that's the key), a value - // string and an optional type string (no wide chars). -public: - // = Initialization and termination methods. - ACE_Local_Name_Space (void); - // "Do-nothing" constructor. - - ACE_Local_Name_Space (ACE_Naming_Context::Context_Scope_Type scope_in, - ACE_Name_Options *name_options); - // Specifies the scope of this namespace, opens and memory-maps the - // associated file (if accessible) or contacts the dedicated name - // server process for NET_LOCAL namespace. - - int open (ACE_Naming_Context::Context_Scope_Type scope_in); - // Specifies the scope of this namespace, opens and memory-maps the - // associated file (if accessible) or contacts the dedicated name - // server process for NET_LOCAL namespace. - - ~ACE_Local_Name_Space (void); - // destructor, do some cleanup :TBD: last dtor should "compress" - // file - - virtual int bind (const ACE_WString &name, - const ACE_WString &value, - const char *type = ""); - // Bind a new name to a naming context (Wide character strings). - - virtual int rebind (const ACE_WString &name, - const ACE_WString &value, - const char *type = ""); - // Overwrite the value or type of an existing name in a - // ACE_Local_Name_Space or bind a new name to the context, if it - // didn't exist yet. (Wide charcter strings interface). - - virtual int unbind (const ACE_WString &name); - virtual int unbind_i (const ACE_WString &name); - // Delete a name from a ACE_Local_Name_Space (Wide charcter strings - // Interface). - - virtual int resolve (const ACE_WString &name, - ACE_WString &value, - char *&type); - virtual int resolve_i (const ACE_WString &name, - ACE_WString &value, - char *&type); - // Get value and type of a given name binding (Wide chars). The - // caller is responsible for deleting ! - - virtual int list_names (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - virtual int list_names_i (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. - - virtual int list_values (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - virtual int list_values_i (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. - - virtual int list_types (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - virtual int list_types_i (ACE_WSTRING_SET &set, - const ACE_WString &pattern); - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. - - virtual int list_name_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern); - virtual int list_name_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern); - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_value_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern); - virtual int list_value_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern); - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_type_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern); - virtual int list_type_entries_i (ACE_BINDING_SET &set, - const ACE_WString &pattern); - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual void dump (void) const; - virtual void dump_i (void) const; - // Dump the state of the object - - // = I just know this is going to cause problems on some platform... - typedef ACE_Allocator_Adapter > ALLOCATOR; - -private: -#if defined (ACE_WIN32) - int remap (EXCEPTION_POINTERS *ep); - // Remap the backing store -#endif /* ACE_WIN32 */ - - int shared_bind (const ACE_WString &name, const ACE_WString &value, - const char *type, int rebind); - int shared_bind_i (const ACE_WString &name, const ACE_WString &value, - const char *type, int rebind); - // Factor out code from bind() and rebind(). - - int create_manager (void); - int create_manager_i (void); - // Allocate the appropriate type of map manager that stores the - // key/value binding. - - ALLOCATOR *allocator_; - // Pointer to the allocator - - ACE_Name_Space_Map *name_space_map_; - // Pointer to the allocated map manager. - - ACE_Naming_Context::Context_Scope_Type ns_scope_; - // Scope of this naming context (e.g., PROC_LOCAL, NODE_LOCAL, or NET_LOCAL). - - ACE_Name_Options *name_options_; - // Keep track of the options such as database name etc - - TCHAR context_file_[MAXPATHLEN + MAXNAMELEN]; - // Name of the file used as the backing store. - - ACE_LOCK *lock_; - // Synchronization variable. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Local_Name_Space_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Local_Name_Space_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_LOCAL_NAME_SPACE_T_H */ diff --git a/ace/Local_Tokens.cpp b/ace/Local_Tokens.cpp deleted file mode 100644 index 755ef5cb0cf..00000000000 --- a/ace/Local_Tokens.cpp +++ /dev/null @@ -1,1422 +0,0 @@ -// Local_Tokens.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Thread.h" -#include "ace/Local_Tokens.h" -#include "ace/Token_Manager.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Local_Tokens.i" -#endif /* __ACE_INLINE__ */ - -void -ACE_Tokens::dump (void) const -{ - ACE_TRACE ("ACE_Tokens::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_Tokens::dump:\n" - " reference_cont_ = %d\n" - " token_name_ = %s\n", - reference_count_, token_name_)); - ACE_DEBUG ((LM_DEBUG, "waiters_\n")); - this->waiters_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Tokens::ACE_Tokens (void) - : visited_ (0), - reference_count_ (0) -{ - ACE_TRACE ("ACE_Tokens::ACE_Tokens"); -} - -void -ACE_Tokens::make_owner (ACE_TPQ_Entry *caller) -{ - this->waiters_.remove (caller); - this->waiters_.enqueue (caller, 0); -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - - -void -ACE_TPQ_Entry::dump (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "ACE_TPQ_Entry::dump:\n" - " nesting_level_ = %d\n" - " client_id_ = %s\n", - nesting_level_, - client_id_)); - - if (next_ != 0) - { - ACE_DEBUG ((LM_DEBUG, "next:.\n")); - next_->dump (); - } - - ACE_DEBUG ((LM_DEBUG, "ACE_TPQ_Entry::dump end.\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_TPQ_Entry::ACE_TPQ_Entry (const ACE_Token_Proxy *new_proxy, - const char *client_id) - : cond_var_ (lock_), - next_ (0), - // This const typecast is safe. - proxy_ ((ACE_Token_Proxy *) new_proxy), - nesting_level_ (0), - sleep_hook_ (0) -{ - ACE_TRACE ("ACE_TPQ_Entry::ACE_TPQ_Entry"); - - if (client_id != 0) - this->client_id (client_id); - else - { - // Just make sure we have enough space. - char host_name[MAXHOSTNAMELEN]; - char name[(sizeof host_name / sizeof (char)) + 256]; - ACE_OS::hostname (host_name, sizeof host_name); - - ACE_OS::sprintf (name, - "/%s/%u/%u", - host_name, - ACE_OS::getpid (), - ACE_Thread::self ()); - - this->client_id (name); - } -} - -ACE_TPQ_Entry::ACE_TPQ_Entry (void) - : cond_var_ (lock_), - proxy_ (0), - nesting_level_ (0), - sleep_hook_ (0) -{ - ACE_TRACE ("ACE_TPQ_Entry::ACE_TPQ_Entry null const."); -} - -ACE_TPQ_Entry::ACE_TPQ_Entry (const ACE_TPQ_Entry &rhs) -: cond_var_ (lock_) -{ - ACE_TRACE ("ACE_TPQ_Entry::ACE_TPQ_Entry copy const."); - *this = rhs; -} - -ACE_TPQ_Entry::~ACE_TPQ_Entry (void) -{ - ACE_TRACE ("ACE_TPQ_Entry::~ACE_TPQ_Entry"); -} - -void -ACE_TPQ_Entry::operator= (const ACE_TPQ_Entry& rhs) -{ - ACE_TRACE ("ACE_TPQ_Entry::operator="); - if (&rhs == this) - return; - this->proxy_ = rhs.proxy (); - this->nesting_level_ = rhs.nesting_level (); - this->client_id (rhs.client_id ()); - this->sleep_hook_ = rhs.sleep_hook (); -} - -void -ACE_TPQ_Entry::client_id (const char *id) -{ - ACE_TRACE ("ACE_TPQ_Entry::client_id"); - - if (id == 0) - return; - - int n = ACE_OS::strlen (id) + 1; - - if (n >= ACE_MAXCLIENTIDLEN) - n = ACE_MAXCLIENTIDLEN - 1; - - ACE_OS::strncpy (this->client_id_, (char *) id, n); - this->client_id_[ACE_MAXCLIENTIDLEN - 1] = '\0'; -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -void -ACE_TSS_TPQ_Entry::dump (void) const -{ - ACE_TRACE ("ACE_TSS_TPQ_Entry::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_TSS_TPQ_Entry::dump:\n" - " client_id_ = %s\n", - client_id_ == 0 ? "0" : client_id_)); - ACE_DEBUG ((LM_DEBUG, "base:\n")); - ACE_TPQ_ENTRY::dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_TSS_TPQ_Entry::ACE_TSS_TPQ_Entry (const ACE_Token_Proxy *proxy, - const char *client_id) -: proxy_ (proxy), - client_id_ (client_id) -{ - ACE_TRACE ("ACE_TSS_TPQ_Entry::ACE_TSS_TPQ_Entry"); -} - -ACE_TPQ_Entry * -ACE_TSS_TPQ_Entry::make_TSS_TYPE (void) const -{ - ACE_TRACE ("ACE_TSS_TPQ_Entry::make_TSS_TYPE"); - ACE_TPQ_Entry *temp; - - ACE_NEW_RETURN (temp, ACE_TPQ_Entry (this->proxy_, this->client_id_), 0); - return temp; -} - -ACE_TSS_TPQ_Entry::operator ACE_TPQ_Entry * (void) -{ - ACE_TRACE ("ACE_TSS_TPQ_Entry::operator"); - return (ACE_TPQ_Entry *) (*((ACE_TSS *) this)); -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -ACE_TPQ_Iterator::ACE_TPQ_Iterator (ACE_Token_Proxy_Queue &q) -: current_ (q.head_) -{ - ACE_TRACE ("ACE_TPQ_Iterator::ACE_TPQ_Iterator"); -} - -int -ACE_TPQ_Iterator::next (ACE_TPQ_Entry *&next_item) -{ - ACE_TRACE ("ACE_TPQ_Iterator::next"); - - next_item = this->current_; - - return current_ != 0; -} - -int -ACE_TPQ_Iterator::done (void) const -{ - ACE_TRACE ("ACE_TPQ_Iterator::done"); - - return this->current_ == 0; -} - -void -ACE_TPQ_Iterator::advance (void) -{ - ACE_TRACE ("ACE_TPQ_Iterator::advance"); - - if (current_ != 0) - this->current_ = this->current_->next_; -} - -void -ACE_TPQ_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_TPQ_Iterator::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_TPQ_Iterator::dump:\n" - " current_ = %d\n", - (long) this->current_)); - ACE_DEBUG ((LM_DEBUG, "head_ and tail_\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -void -ACE_Token_Proxy_Queue::dump (void) const -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_Token_Proxy_Queue::dump:\n" - " size_ = %d\n", - size_)); - ACE_DEBUG ((LM_DEBUG, "head_ and tail_\n")); - if (this->head_ != 0) - this->head_->dump (); - - ACE_DEBUG ((LM_DEBUG, "ACE_Token_Proxy_Queue::dump end.\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Token_Proxy_Queue::ACE_Token_Proxy_Queue (void) - : head_ (0), - tail_ (0), - size_ (0) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::ACE_Token_Proxy_Queue"); -} - -void -ACE_Token_Proxy_Queue::enqueue (ACE_TPQ_Entry *tpq, - int position) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::enqueue"); - tpq->next_ = 0; - - ++this->size_; - - if (this->head_ == 0) - { - // make tpq the entire list - this->head_ = this->tail_ = tpq; - return; - } - - if (position == 0) - { - // make head of list - tpq->next_ = this->head_; - this->head_ = tpq; - return; - } - - if (position == -1) - { - // stick at back of list - this->tail_->next_ = tpq; - this->tail_ = tpq; - return; - } - - // walk through list to insertion point - ACE_TPQ_Entry *temp = head_; - - for (int x = position; x > 1; --x) - { - // end of queue? - if (temp->next_ == 0) - break; - // advance pointer - else - temp = temp->next_; - } - - // insert new tpq after temp - tpq->next_ = temp->next_; - temp->next_ = tpq; -} - -void -ACE_Token_Proxy_Queue::dequeue (void) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::dequeue"); - - if (head_ == 0) - return; - - ACE_TPQ_Entry *temp = this->head_; - - this->head_ = this->head_->next_; - - temp->next_ = 0; - - --this->size_; - - if (this->head_ == 0 && this->size_ != 0) - ACE_ERROR ((LM_ERROR, "incorrect size = %d\n", this->size_)); -} - -/* -int -ACE_Token_Proxy_Queue::member (const char *id) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::member"); - - for (ACE_TPQ_Entry *temp = this->head_; temp != 0; temp = temp->next_) - if (ACE_OS::strcmp (temp->client_id (), id) == 0) - // We found it! - return 1; - - // We didn't find it :-( - return 0; -} -*/ - -void -ACE_Token_Proxy_Queue::remove (const ACE_TPQ_Entry *remove_me) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::remove"); - // sanity - if ((remove_me == 0) || (this->head_ == 0)) - return; - - // is it the head? - if (this->head_ == remove_me) // pointer comparison. - { - this->head_ = this->head_->next_; - if (this->head_ == 0) - this->tail_ = 0; - - --this->size_; - return; - } - - ACE_TPQ_Entry *temp = this->head_; - ACE_TPQ_Entry *previous = 0; - - // is it in the middle or tail? - while (temp != 0) - { - if (temp == remove_me) - { - // previous should never be null since the first if - // conditional should always be false - previous->next_ = temp->next_; - // is it the tail? - if (this->tail_ == temp) - this->tail_ = previous; - - --this->size_; - return; - } - - previous = temp; - temp = temp->next_; - } - - // it wasn't in the list. - return; -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -void -ACE_Mutex_Token::dump (void) const -{ - ACE_TRACE ("ACE_Mutex_Token::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_Mutex_Token::dump:\n")); - ACE_DEBUG ((LM_DEBUG, "lock_\n")); - lock_.dump (); - ACE_DEBUG ((LM_DEBUG, "base:\n")); - ACE_Tokens::dump (); - ACE_DEBUG ((LM_DEBUG, "ACE_Mutex_Token::dump end.\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Mutex_Token::ACE_Mutex_Token (const char *name) -{ - ACE_TRACE ("ACE_Mutex_Token::ACE_Mutex_Token"); - - int n = ACE_OS::strlen (name) + 1; // + 1 for \0 - - if (n > ACE_MAXTOKENNAMELEN) - n = ACE_MAXTOKENNAMELEN - 1; - - ACE_OS::strncpy (this->token_name_, name, n); - this->token_name_[ACE_MAXTOKENNAMELEN - 1] = '\0'; -} - -ACE_Mutex_Token::~ACE_Mutex_Token (void) -{ - ACE_TRACE ("ACE_Mutex_Token::~ACE_Mutex_Token"); -} - -int -ACE_Mutex_Token::acquire (ACE_TPQ_Entry *caller, - int ignore_deadlock, - int notify) -{ - ACE_TRACE ("ACE_Mutex_Token::acquire"); - // We need to acquire two locks. This one to ensure that only one - // thread uses this token at a time. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon1, this->lock_, -1); - // This one to ensure an atomic transaction across all tokens. Note - // that this order is crucial too. It's resource coloring for other - // threads which may be calling this same token. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon2, ACE_Token_Manager::instance ()->mutex (), -1); - - // Does _anyone_ own the token? - if (this->owner () == 0) - { - // there are no waiters, so queue as the first waiter (the owner.) - this->waiters_.enqueue (caller, -1); - return 0; // success - } - - // Does the caller already own it? - if (this->is_owner (caller->client_id ())) - { - // Recursive acquisition. - caller->nesting_level (1); - return 0; // success - } - - // Check for deadlock. - if (!ignore_deadlock - && ACE_Token_Manager::instance ()->check_deadlock (caller->proxy ()) == 1) - { - errno = EDEADLK; - ACE_RETURN (-1); - } - - // Someone owns it. Sorry, you're getting queued up at the end of - // the waiter queue. - this->waiters_.enqueue (caller, -1); - - if (notify) - this->owner ()->call_sleep_hook (); - - errno = EWOULDBLOCK; - ACE_RETURN (-1); -} - -int -ACE_Mutex_Token::tryacquire (ACE_TPQ_Entry *caller) -{ - ACE_TRACE ("ACE_Mutex_Token::tryacquire"); - // We need to acquire two locks. This one to ensure that only one - // thread uses this token at a time. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon1, this->lock_, -1); - // This one to ensure an atomic transaction across all tokens. Note - // that this order is crucial too. It's resource coloring for other - // threads which may be calling this same token. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon2, ACE_Token_Manager::instance ()->mutex (), -1); - - // Does _anyone_ own the token? - if (this->owner () == 0) - { - this->waiters_.enqueue (caller, -1); - return 0; // success - } - // Does the caller already own it? - if (this->is_owner (caller->client_id ())) - { - // recursive acquisition - caller->nesting_level (1); - return 0; // success - } - else - // Someone owns it. Fail. - { - errno = EWOULDBLOCK; - ACE_RETURN (-1); - } -} - -int -ACE_Mutex_Token::renew (ACE_TPQ_Entry *caller, - int requeue_position) -{ - ACE_TRACE ("ACE_Mutex_Token::renew"); - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1); - - // Verify that the caller is the owner. - if (this->is_owner (caller->client_id ()) == 0) - { - errno = EACCES; - ACE_RETURN (-1); - } - - // The caller is the owner, so check to see if there are any - // waiters. If not, we just keep the token. == 1 means that there - // is only the owner. - if (this->waiters_.size () == 1 || requeue_position == 0) - return 0; - - // Requeue the caller. - this->waiters_.dequeue (); - - this->waiters_.enqueue (caller, requeue_position); - - // Notify new owner. - if (this->owner () != 0) - this->owner ()->proxy ()->token_acquired (this->owner ()); - - // Tell the caller that the operation would block. - errno = EWOULDBLOCK; - ACE_RETURN (-1); -} - -// Release the current holder of the token (which had -// better be the caller's thread!). - -int -ACE_Mutex_Token::release (ACE_TPQ_Entry *caller) -{ - ACE_TRACE ("ACE_Mutex_Token::release"); - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1); - - // Does anyone own the token? - if (this->owner () == 0) - { - errno = EACCES; - ACE_RETURN (-1); - } - - // Is the caller the owner. - if (this->is_owner (caller->client_id ())) - { - // Check the nesting level. - if (caller->nesting_level () > 0) - caller->nesting_level (-1); - else - { - this->waiters_.dequeue (); - // Notify new owner. - if (this->owner () != 0) - this->owner ()->proxy ()->token_acquired (this->owner ()); - } - } - else - this->remove (caller); - - return 0; -} - -int -ACE_Mutex_Token::owners (OWNER_STACK &stack, - const char *id) -{ - ACE_TRACE ("ACE_Mutex_Token::owners"); - if (this->owner () != 0) - { - stack.push (this->owner ()); - // If an is specified, return whether it is the owner being - // returned. - if (id != 0) - return this->owner ()->equal_client_id (id); - } - - return 0; -} - -int -ACE_Mutex_Token::is_waiting_for (const char *id) -{ - ACE_TRACE ("ACE_Mutex_Token::is_waiting_for"); - // If there is no owner, or is the owner, return false. - if ((this->owner () == 0) || this->is_owner (id)) - return 0; - - // Step through each waiter looking for . - ACE_TPQ_Iterator iterator (waiters_); - iterator.advance (); - for (ACE_TPQ_Entry *temp = 0; - iterator.next (temp) != 0; - iterator.advance ()) - { - if (temp->equal_client_id (id)) - return 1; - } - - return 0; -} - -int -ACE_Mutex_Token::is_owner (const char *id) -{ - ACE_TRACE ("ACE_Mutex_Token::is_owner"); - // If there is an owner, return whether it is . - if ((this->owner () != 0) && - this->owner ()->equal_client_id (id)) - return 1; - else - return 0; -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -void -ACE_RW_Token::dump (void) const -{ - ACE_TRACE ("ACE_RW_Token::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_RW_Token::dump:\n" - "num_writers_ = %d\n", num_writers_)); - ACE_DEBUG ((LM_DEBUG, "lock_\n")); - this->lock_.dump (); - ACE_DEBUG ((LM_DEBUG, "base:\n")); - ACE_Tokens::dump (); - ACE_DEBUG ((LM_DEBUG, "ACE_RW_Token::dump end.\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_RW_Token::ACE_RW_Token (const char *name) -: num_writers_ (0) -{ - ACE_TRACE ("ACE_RW_Token::ACE_RW_Token"); - - int n = ACE_OS::strlen (name) + 1; // + 1 for \0 - - if (n > ACE_MAXTOKENNAMELEN) - n = ACE_MAXTOKENNAMELEN; - - ACE_OS::strncpy (this->token_name_, name, n); - this->token_name_[ACE_MAXTOKENNAMELEN - 1] = '\0'; -} - -ACE_RW_Token::~ACE_RW_Token (void) -{ - ACE_TRACE ("ACE_RW_Token::~ACE_RW_Token"); -} - -int -ACE_RW_Token::acquire (ACE_TPQ_Entry *caller, - int ignore_deadlock, - int notify) -{ - ACE_TRACE ("ACE_RW_Token::acquire"); - // We need to acquire two locks. This one to ensure that only one - // thread uses this token at a time. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon1, this->lock_, -1); - // This one to ensure an atomic transaction across all tokens. Note - // that this order is crucial too. It's resource coloring for other - // threads which may be calling this same token. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon2, ACE_Token_Manager::instance ()->mutex (), -1); - - if (caller->proxy ()->type () == ACE_RW_Token::WRITER) - this->num_writers_++; - - // Does _anyone_ own the token? - if (this->owner () == 0) - { - // There are no waiters, so queue as the first waiter (the owner). - this->waiters_.enqueue (caller, -1); - return 0; - } - - // Check for recursive acquisition. - if (this->is_owner (caller->client_id ())) - { - caller->nesting_level (1); - return 0; // Success. - } - - // Reader. - if (caller->proxy ()->type () == ACE_RW_Token::READER) - { - // Are there any writers? - if (this->num_writers_ == 0) - { - // Queue the caller at the end of the queue. - this->waiters_.enqueue (caller, -1); - return 0; - } - // Else failure. - } - - // Failure code. - - // Check for deadlock. - if (!ignore_deadlock && - ACE_Token_Manager::instance ()->check_deadlock (caller->proxy ()) == 1) - { - if (caller->proxy ()->type () == ACE_RW_Token::WRITER) - this->num_writers_--; - errno = EDEADLK; - ACE_RETURN (-1); - } - - // Queue the caller at the end of the queue. - this->waiters_.enqueue (caller, -1); - - if (notify) - { - // If it's a writer, just notify it. - if (this->owner ()->proxy ()->type () == ACE_RW_Token::WRITER) - this->owner ()->call_sleep_hook (); - else - { - // Call back all reader owners. - ACE_TPQ_Entry *temp = this->owner (); - do - { - temp->call_sleep_hook (); - temp = temp->next_; - } - while (temp != 0 && - temp->proxy ()->type () == ACE_RW_Token::READER); - } - } - - errno = EWOULDBLOCK; - ACE_RETURN (-1); -} - -int -ACE_RW_Token::tryacquire (ACE_TPQ_Entry *caller) -{ - ACE_TRACE ("ACE_RW_Token::tryacquire"); - // We need to acquire two locks. This one to ensure that only one - // thread uses this token at a time. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon1, this->lock_, -1); - // This one to ensure an atomic transaction across all tokens. Note - // that this order is crucial too. It's resource coloring for other - // threads which may be calling this same token. - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon2, ACE_Token_Manager::instance ()->mutex (), -1); - - if (caller->proxy ()->type () == ACE_RW_Token::WRITER) - { - this->num_writers_++; - } - - // Does _anyone_ own the token? - if (this->owner () == 0) - { - // There are no waiters, so queue as the first waiter (the owner). - this->waiters_.enqueue (caller, -1); - return 0; - } - - // Check for recursive acquisition. - if (this->is_owner (caller->client_id ())) - { - caller->nesting_level (1); - return 0; // Success. - } - - // Reader. - if (caller->proxy ()->type () == ACE_RW_Token::READER) - { - // Are there any writers? - if (this->num_writers_ == 0) - { - // queue the caller at the end of the queue. - this->waiters_.enqueue (caller, -1); - return 0; - } - // Else, fail. - } - else // Writer. - // We're going to fail, so decrement the num_writers. - { - this->num_writers_--; - } - - - errno = EWOULDBLOCK; - ACE_RETURN (-1); -} - -int -ACE_RW_Token::renew (ACE_TPQ_Entry *caller, - int requeue_position) -{ - ACE_TRACE ("ACE_RW_Token::renew"); - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1); - - // Werify that the caller is the owner - if (this->is_owner (caller->client_id ()) == 0) - { - errno = EACCES; - ACE_RETURN (-1); - } - - // The caller is the owner, so check to see if there are any - // waiters. If not, we just keep the token. - if (this->waiters_.size () == 1 || requeue_position == 0) - return 0; - - // There are waiters, so remove the caller. - this->remove (caller); - - // Requeue the caller. - this->waiters_.enqueue (caller, requeue_position); - - if (caller->proxy ()->type () == ACE_RW_Token::READER) - { - // If the caller got queued before any writers, the caller is - // still the owner. - if (this->is_owner (caller->client_id ())) - return 0; // success - // else fallthrough and return would block. - } - // Writers will always have to block since waiters_.size () == 1 or - // requeue_position == 0. - - // Get a new owner. - this->notify_new_owner (caller); - - // Tell the caller that the operation would block. - errno = EWOULDBLOCK; - ACE_RETURN (-1); -} - -int -ACE_RW_Token::release (ACE_TPQ_Entry *caller) -{ - ACE_TRACE ("ACE_RW_Token::release"); - ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1); - - // Check for errors. - if ((this->owner () == 0) || - (this->is_owner (caller->client_id ()) == 0)) - { - errno = EACCES; - ACE_RETURN (-1); - } - - if (caller->proxy ()->type () == ACE_RW_Token::WRITER) - num_writers_--; - - // Recursive release. - if (caller->nesting_level () > 0) - { - caller->nesting_level (-1); - return 0; - } - - // Remove the caller and notify the new owner(s). - this->remove (caller); - this->notify_new_owner (caller); - - return 0; -} - -void -ACE_RW_Token::notify_new_owner (ACE_TPQ_Entry *old_owner) -{ - ACE_TRACE ("ACE_RW_Token::new_owner"); - - if (this->owner () == 0) - return; - - if (this->owner ()->proxy ()->type () == ACE_RW_Token::READER) - { - if (old_owner->proxy ()->type () == ACE_RW_Token::READER) - // the owners already know that they're owners - return; - - // The current owner is a reader and the previous owner was a - // writer, so notify all waiting readers up to the first writer. - // call back all reader owners. - ACE_TPQ_Iterator iterator (waiters_); - for (ACE_TPQ_Entry *temp = 0; - iterator.next (temp) != 0; - iterator.advance ()) - { - if (temp->proxy ()->type () == WRITER) - // We've gone through all the readers. - break; - - temp->proxy ()->token_acquired (temp); - } - } - else // writer - this->owner ()->proxy ()->token_acquired (this->owner ()); -} - - -int -ACE_RW_Token::owners (OWNER_STACK &stack, - const char *id) -{ - ACE_TRACE ("ACE_RW_Token::owners"); - - if (this->owner () == 0) - return 0; - - int id_is_owner = 0; - - // The first waiter is a writer, so there is only one owner. - if (this->owner ()->proxy ()->type () == WRITER) - { - stack.push (this->owner ()); - // If an is specified, return whether it is the owner being - // returned. - if ((id != 0) && - (ACE_OS::strcmp (id, this->owner ()->client_id ()) == 0)) - id_is_owner = 1; - } - // The first waiter is a reader, so there can be multiple owning - // readers. - else - { - ACE_TPQ_Iterator iterator (waiters_); - for (ACE_TPQ_Entry *temp = 0; - iterator.next (temp) != 0; - iterator.advance ()) - { - if (temp->proxy ()->type () == WRITER) - // We've gone through all the readers. - break; - - stack.push (temp); - - if (!id_is_owner && (id != 0) && - (ACE_OS::strcmp (id, temp->client_id ()) == 0)) - id_is_owner = 1; - } - } - - return id_is_owner; -} - -int -ACE_RW_Token::is_waiting_for (const char *id) -{ - ACE_TRACE ("ACE_RW_Token::is_waiting_for"); - // If there is no owner, or is the owner, return false. - if ((this->owner () == 0) || - this->is_owner (id)) - return 0; - - // Step through each waiter looking for . - ACE_TPQ_Iterator iterator (waiters_); - iterator.advance (); - for (ACE_TPQ_Entry *temp = 0; - iterator.next (temp) != 0; - iterator.advance ()) - { - if (temp->equal_client_id (id)) - return 1; - } - - return 0; -} - -int -ACE_RW_Token::is_owner (const char *id) -{ - ACE_TRACE ("ACE_Mutex_Token::is_owner"); - // If there is no owner, return false. - if (this->owner () == 0) - return 0; - - // A writer owns us. - if (this->owner ()->proxy ()->type () == ACE_RW_Token::WRITER) - return this->owner ()->equal_client_id (id); - - // Readers own us. - // Step through each owning reader looking for . - ACE_TPQ_Iterator iterator (waiters_); - for (ACE_TPQ_Entry *temp = 0; - iterator.next (temp) != 0; - iterator.advance ()) - { - if (temp->proxy ()->type () != ACE_RW_Token::READER) - break; - - if (temp->equal_client_id (id)) - return 1; - } - - return 0; -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ -// 7.. - -void -ACE_Token_Proxy::dump (void) const -{ - ACE_TRACE ("ACE_Token_Proxy::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_Token_Proxy::dump:\n" - " type = %d\n" - " ignore_deadlock_ = %d\n" - " debug_ = %d\n", - (int) this->type (), ignore_deadlock_, debug_)); - ACE_DEBUG ((LM_DEBUG, "mutex_, and waiter_\n")); - - if (this->token_ != 0) - this->token_->dump (); - - this->waiter_.dump (); - ACE_DEBUG ((LM_DEBUG, "ACE_Token_Proxy::dump end.\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -const char* -ACE_Token_Proxy::client_id (void) const -{ - ACE_TRACE ("ACE_Token_Proxy::client_id"); - // Thread-specific. - const char *id = this->waiter_->client_id (); - - if (id == 0) - return "ERROR NO CLIENT ID"; - else - return id; -} - -void -ACE_Token_Proxy::client_id (const char *client_id) -{ - ACE_TRACE ("ACE_Token_Proxy::client_id"); - this->waiter_->client_id (client_id); -} - -const char * -ACE_Token_Proxy::owner_id (void) -{ - ACE_TRACE ("ACE_Token_Proxy::owner_id"); - return this->token_->owner_id (); -} - -const char * -ACE_Token_Proxy::name (void) const -{ - ACE_TRACE ("ACE_Token_Proxy::owner_id"); - return this->token_->name (); -} - -ACE_Token_Proxy::ACE_Token_Proxy (void) -: token_ (0), - waiter_ (this, 0) -{ - ACE_TRACE ("ACE_Token_Proxy::ACE_Token_Proxy"); -} - -// Notice the token_ (0). Do *not* copy the token pointer. This must -// be obtained through the token manager. Also, we don't copy any -// waiter info. A copied Proxy does *not* inherit client_id. - -ACE_Token_Proxy::ACE_Token_Proxy (const ACE_Token_Proxy &) - : token_ (0), - waiter_ (this, 0) -{ - ACE_TRACE ("ACE_Token_Proxy::ACE_Token_Proxy"); -} - -// @@ should I do a mutex_->release ()? -ACE_Token_Proxy::~ACE_Token_Proxy (void) -{ - ACE_TRACE ("ACE_Local_Mutex::~ACE_Local_Mutex"); - - if (token_ != 0) - // notify token manager that we are done with it so it can - // free it if necessary - ACE_Token_Manager::instance ()->release_token (token_); -} - -int -ACE_Token_Proxy::open (const char *token_name, - int ignore_deadlock, - int debug) -{ - ACE_TRACE ("ACE_Token_Proxy::open"); - - // Store some parameters. - this->ignore_deadlock_ = ignore_deadlock; - this->debug_ = debug; - - // Used in case a name was not specified. - char name[BUFSIZ]; - - // We must have a name. - if (token_name == 0) - { - ACE_OS::sprintf (name, "token %d", this); - token_name = name; - } - - // Get or create the underlying token. The Token Manager will call - // us back to set token_. - ACE_Token_Manager::instance ()->get_token (this, token_name); - - // Check for failed get or failed new. - if (this->token_ == 0) - { - errno = ENOMEM; - ACE_ERROR_RETURN ((LM_ERROR, "Can't allocate mutex"), -1); - } - - return 0; -} - -int -ACE_Token_Proxy::acquire (int notify, - void (*sleep_hook)(void *), - ACE_Synch_Options &options) -{ - ACE_TRACE ("ACE_Token_Proxy::acquire"); - if (this->token_ == 0) - { - errno = ENOENT; - ACE_ERROR_RETURN ((LM_ERROR, "Not open.\n"), -1); - } - - // Make sure no one calls our token_acquired until we have a chance - // to sleep first! If after we call an EWOULDBLOCK - // mutex_->acquire() below, but before we enter handle_options to - // wait on the cond_var, a thread tries to give take us off the - // waiter queue and signal us, IT WILL FIRST HAVE TO ACQUIRE THIS - // cond_var.mutex (). _This_ is why we acquire it. - this->waiter_->cond_var_.mutex ().acquire (); - - this->waiter_->sleep_hook (sleep_hook); - - if (this->token_->acquire (this->waiter_, this->ignore_deadlock_, notify) == -1) - // acquire failed - { - switch (errno) - { - case EDEADLK : - if (!ignore_deadlock_) - { - waiter_->cond_var_.mutex ().release (); - errno = EDEADLK; - ACE_RETURN (-1); - } - // Else, fallthrough and block! - - case EWOULDBLOCK : - if (this->debug_) - ACE_DEBUG ((LM_DEBUG, - "(%t) waiting for %s, owner is %s, " - "total waiters == %d\n", - this->name (), - this->token_->owner_id (), - token_->no_of_waiters ())); - - // no error, but would block, - // if error, return error (-1), otherwise, return whether we - // called the holder or not. - int return_value; - if (this->handle_options (options, waiter_->cond_var_) == -1) - return_value = -1; - else - return_value = notify == 1; - - errno = EWOULDBLOCK; - ACE_RETURN (return_value); - - default : - waiter_->cond_var_.mutex ().release (); - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n","Token Proxy acquire."), -1); - } - } - else - // we have the token - { - if (debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) acquired %s\n", - this->name ())); - waiter_->cond_var_.mutex ().release (); - } - - return 0; -} - -int -ACE_Token_Proxy::tryacquire (void (*sleep_hook)(void *)) -{ - ACE_TRACE ("ACE_Token_Proxy::tryacquire"); - if (this->token_ == 0) - { - errno = ENOENT; - ACE_ERROR_RETURN ((LM_ERROR, "Not open.\n"), -1); - } - - this->waiter_->sleep_hook (sleep_hook); - - return this->token_->tryacquire (waiter_); -} - -int -ACE_Token_Proxy::renew (int requeue_position, - ACE_Synch_Options &options) -{ - ACE_TRACE ("ACE_Token_Proxy::renew"); - if (this->token_ == 0) - { - errno = ENOENT; - ACE_ERROR_RETURN ((LM_ERROR, "Not open.\n"), -1); - } - - // Make sure no one calls our token_acquired until we have a chance - // to sleep first! - this->waiter_->cond_var_.mutex ().acquire (); - - if (this->token_->renew (this->waiter_, requeue_position) == -1) - { - // check for error - if (errno != EWOULDBLOCK) - ACE_ERROR_RETURN ((LM_ERROR, - "%p renew failed\n", "ACE_Token_Proxy"), -1); - - if (this->debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) renew blocking for %s, owner is %s\n", - this->name (), - token_->owner_id ())); - - // no error, but would block, so block or return - return this->handle_options (options, waiter_->cond_var_); - } - else - // we have the token - { - if (this->debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) renewed %s\n", - this->name ())); - waiter_->cond_var_.mutex ().release (); - return 0; - } -} - -int -ACE_Token_Proxy::handle_options (ACE_Synch_Options &options, - ACE_TOKEN_CONST::COND_VAR &cv) -{ - // Some operation failed with EWOULDBLOCK. - ACE_TRACE ("ACE_Token_Proxy::handle_options"); - - if (options[ACE_Synch_Options::USE_REACTOR] == 1) - // Asynchronous. - { - int error = errno; - // if (options[ACE_Synch_Options::USE_TIMEOUT] == 1) - // ACE_ERROR_RETURN ((LM_ERROR, "Timeouts not yet supported" " - // with asynchronous operations."), -1); - cv.mutex ().release (); - errno = error; - ACE_RETURN (-1); - } - else - // Synchronous. - { - // Block on condition variable. - while (cv.wait ((ACE_Time_Value *) options.time_value ()) == -1) - { - // Note, this should obey whatever thread-specific - // interrupt policy is currently in place... - if (errno == EINTR) - continue; - // We come here if a timeout occurs or some serious - // ACE_Condition object error. - cv.mutex ().release (); - ACE_ERROR_RETURN ((LM_ERROR, "condition variable wait" - " bombed."), -1); - } - - if (this->debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) unblocking.\n", - this->client_id ())); - cv.mutex ().release (); - return 0; // operation succeeded - } -} - -int -ACE_Token_Proxy::release (ACE_Synch_Options &) -{ - ACE_TRACE ("ACE_Token_Proxy::release"); - - if (this->token_ == 0) - { - errno = ENOENT; - if (debug_) - ACE_DEBUG ((LM_DEBUG, "Must open before releasing.\n")); - ACE_RETURN (-1); - } - - if (this->token_->release (waiter_) != 0) - { - // Release failed. - this->token_->remove (this->waiter_); - if (debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) %p.\n", "release failed")); - return -1; - } - else - { - if (this->debug_) - ACE_DEBUG ((LM_DEBUG, "(%t) released %s, owner is %s\n", - this->name (), - token_->owner_id ())); - - return 0; - } -} - -int -ACE_Token_Proxy::remove (ACE_Synch_Options &) -{ - ACE_TRACE ("ACE_Token_Proxy::remove"); - return 0; -} - -void -ACE_Token_Proxy::sleep_hook (void) -{ - ACE_TRACE ("ACE_Token_Proxy::sleep_hook"); - // Somebody wants our token! (Let'em wait...) - return; -} - -void -ACE_Token_Proxy::token_acquired (ACE_TPQ_Entry *e) -{ - ACE_TRACE ("ACE_Token_Proxy::token_acquired"); - e->cond_var_.mutex ().acquire (); - // We've been taken off the waiters list and given the token! - // This implementation signals the internal condition - // variable. Thus, if asynchronous acquires are used, this must be - // overriden to do something more useful! - e->cond_var_.signal (); - e->cond_var_.mutex ().release (); - - return; -} - -// ************************************************************ - -ACE_Token_Name::ACE_Token_Name (const char *token_name) -{ - ACE_TRACE ("ACE_Token_Name::ACE_Token_Name"); - this->name (token_name); -} - -ACE_Token_Name::ACE_Token_Name (const ACE_Token_Name &rhs) -{ - ACE_TRACE ("ACE_Token_Name::ACE_Token_Name"); - this->name (rhs.name ()); -} - -ACE_Token_Name::~ACE_Token_Name () -{ - ACE_TRACE ("ACE_Token_Name::~ACE_Token_Name"); -} - -void -ACE_Token_Name::dump (void) const -{ - ACE_TRACE ("ACE_Token_Name::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "ACE_Token_Name::dump:\n" - " token_name_ = %s\n", - token_name_ == 0 ? "no name" : token_name_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#if !defined (ACE_NO_TSS_TOKENS) -template class ACE_TSS ; -#endif /* ACE_NO_TSS_TOKENS */ -template class ACE_Unbounded_Stack ; -template class ACE_Node ; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#if !defined (ACE_NO_TSS_TOKENS) -#pragma instantiate ACE_TSS -#endif /* ACE_NO_TSS_TOKENS */ -#pragma instantiate ACE_Unbounded_Stack -#pragma instantiate ACE_Node -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/ace/Local_Tokens.h b/ace/Local_Tokens.h deleted file mode 100644 index 40536b09396..00000000000 --- a/ace/Local_Tokens.h +++ /dev/null @@ -1,999 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Local_Tokens.h -// -// = AUTHOR -// Karl-Heinz Dorn (kdorn@erlh.siemens.de) -// Douglas C. Schmidt (schmidt@cs.wustl.edu) -// Tim Harrison (harrison@cs.wustl.edu) -// -// = DESCRIPTION -// This file contains definitions for the following classes: -// -// public: -// 7. ACE_Token_Proxy -// 8. ACE_Null_Token : public ACE_Token_Proxy -// 9. ACE_Local_Mutex : public ACE_Token_Proxy -// *. ACE_Local_RLock : public ACE_Local_Mutex -// &. ACE_Local_WLock : public ACE_Local_Mutex -// private: -// 1. ACE_TOKEN_CONST -// 3. ACE_TPQ_Entry -// b. ACE_TSS_TPQ_Entry -// c. ACE_TPQ_Iterator -// 4. ACE_Token_Proxy_Queue -// 5. ACE_Tokens -// 6. ACE_Mutex_Token : public ACE_Tokens -// 12. ACE_RW_Token : public ACE_Tokens -// a. ACE_Token_Name -// -// ============================================================================ - -#if !defined (ACE_LOCAL_MUTEX_H) -#define ACE_LOCAL_MUTEX_H - -#include "ace/Synch_T.h" -#include "ace/Containers.h" -#include "ace/Synch_Options.h" -#include "ace/Map_Manager.h" - -// 1. -class ACE_Export ACE_TOKEN_CONST -{ - // = TITLE - // Not a public interface. - // - // = DESCRIPTION - // Constant definitions and typdefs for Token library. Mostly, - // this class is necessary to fight the compiler with order of - // declaration errors. -public: -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - // ACE platform supports some form of threading. - typedef ACE_Condition_Thread_Mutex COND_VAR; - typedef ACE_Thread_Mutex MUTEX; - typedef ACE_Thread_Mutex_Guard GUARD; -#else - typedef ACE_Null_Condition COND_VAR; - typedef ACE_Null_Mutex MUTEX; - typedef ACE_Null_Mutex_Guard GUARD; -#endif /* ACE_HAS_THREADS */ -}; - -// Forward decl. -class ACE_Token_Proxy; - -// 3.. -class ACE_Export ACE_TPQ_Entry -{ - // = TITLE - // Token Proxy Queue entry. Used in the ACE_Token_Proxy_Queue - // - // = DESCRIPTION - // Not a public interface. -friend class ACE_Token_Manager; -public: - typedef void (*PTVF) (void *); - - ACE_TPQ_Entry (void); - // Null constructor. - - ACE_TPQ_Entry (const ACE_Token_Proxy *proxy, - const char *client_id); - // Construction. - - ACE_TPQ_Entry (const ACE_TPQ_Entry &rhs); - // Copy constructor. - - ~ACE_TPQ_Entry (void); - // Death. - - void operator= (const ACE_TPQ_Entry &rhs); - // Copy operator use by the queue. - - // = Set/get top of the queue. - ACE_Token_Proxy *proxy (void) const; - void proxy (ACE_Token_Proxy *); - - // = Delta/get nesting level of the entry. - int nesting_level (void) const; - void nesting_level (int delta); - - // = Set/get client_id of the entry. - const char *client_id (void) const; - void client_id (const char *); - - int equal_client_id (const char *id); - // Returns 1 if == client id. Does not check for == 0. - - void set (void (*sleep_hook)(void *)); - // One method for arg and sleep_hook. - - // = Set/get sleep hook of the entry. - void sleep_hook (void (*sh)(void *)); - PTVF sleep_hook (void) const; - - void call_sleep_hook (void); - // Call the sleep hook function or method passing arg. - - void dump (void) const; - // Dump the state of the class. - - // = Used to block the thread if an acquire fails with EWOULDBLOCK. - ACE_TOKEN_CONST::COND_VAR cond_var_; - ACE_TOKEN_CONST::MUTEX lock_; - - ACE_TPQ_Entry *next_; - // Pointer to next in list. - - // = Get/set whether this client is blocked waiting for a token. - int waiting (void) const; - void waiting (int w); - -private: - int waiting_; - // This client is waiting for a token. - - ACE_Token_Proxy *proxy_; - // Proxy. - - int nesting_level_; - // Nesting level. - - void *arg_; - // Arg. - - char client_id_[ACE_MAXCLIENTIDLEN]; - // Client id. - - void (*sleep_hook_)(void *); - // Sleep hook. -}; - -// ************************************************************ - -// b.. -#if defined (ACE_NO_TSS_TOKENS) -typedef ACE_TPQ_Entry ACE_TPQ_ENTRY; -#else -typedef ACE_TSS ACE_TPQ_ENTRY; -#endif /* ACE_NO_TSS_TOKENS */ - -class ACE_Export ACE_TSS_TPQ_Entry : public ACE_TPQ_ENTRY -{ - // = TITLE - // ACE_TSS_TPQ_Entry - // - // = DESCRIPTION - // Not a public interface. -public: - ACE_TSS_TPQ_Entry (const ACE_Token_Proxy *proxy, - const char *client_id); - // These are passed to the constructor of ACE_TPQ_Entry in - // make_TSS_TYPE - - virtual ACE_TPQ_Entry *make_TSS_TYPE (void) const; - // Allows us to pass args to the construction of the TSS object. - - operator ACE_TPQ_Entry *(void); - // Operator overloading and inheritence don't mix. - - void dump (void) const; - // Dump the state of the class. - -#if defined (ACE_NO_TSS_TOKENS) - ACE_TSS_TPQ_Entry *operator-> (void) - { - return this; - } -#endif /* ACE_NO_TSS_TOKENS */ - -private: - ACE_TSS_TPQ_Entry (const ACE_TSS_TPQ_Entry &); - void operator= (const ACE_TSS_TPQ_Entry &); - // Private: should not be used - - // = These are passed to the constructor of ACE_TPQ_Entry in - // make_TSS_TYPE - const ACE_Token_Proxy *proxy_; - // Proxy. - const char *client_id_; - // Client_id. -}; - -// ************************************************************ - -class ACE_Token_Proxy_Queue; - -// c.. -class ACE_Export ACE_TPQ_Iterator -{ - // = TITLE - // Iterates through ACE_Token_Proxy_Queues. - // - // = DESCRIPTION - // Not a public interface. -public: - ACE_TPQ_Iterator (ACE_Token_Proxy_Queue &q); - // Construction. - - int next (ACE_TPQ_Entry *&next_item); - // Pass back the . - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - void advance (void); - // Move forward by one element in the queue. - - void dump (void) const; - // Dump the state of an object. - -private: - ACE_TPQ_Entry *current_; -}; - -// 4.. -class ACE_Export ACE_Token_Proxy_Queue -{ - // = TITLE - // Token waiter list. - // - // = DESCRIPTION - // Not a public interface. - // - // This queue holds all the token proxies waiting for ownership - // of a token. Along with the proxy reference, it also stores - // the nesting level, client id, and a magic cookie from the - // proxy. This queue stores the ACE_TPQ_Entries by pointer - // values. It DOES NOT make copies. Thus, the user is - // responsible to ensure that the TPQ's stick around. This is - // motivated by the need to reduce dynamic memory allocation. -public: - friend class ACE_TPQ_Iterator; - - ACE_Token_Proxy_Queue (void); - // Construction. - - void enqueue (ACE_TPQ_Entry* new_entry, - int position); - // Enqueue a proxy, nesting level, client_id, and a magic cookie at - // the given position in the list. If the position is -1, we - // enqueue at the end of the list (I think). - - const ACE_TPQ_Entry* head (void); - // Top of the queue. - -// int member (const char *id); - // Is this id in the waiter list? - - void dequeue (void); - // Remove the top waiter. - - void remove (const ACE_TPQ_Entry *remove_me); - // Remove the waiter whose proxy ref matches remove_me. - - int size (void); - // The number of waiters. - - void dump (void) const; - // Dump the state of the class. - -protected: - ACE_TPQ_Entry *head_; - // Head. - ACE_TPQ_Entry *tail_; - // Tail. - int size_; - // Size. -}; - -// 5.. -class ACE_Export ACE_Tokens -{ - // = TITLE - // Abstract representation of ACE tokens. - // - // = DESCRIPTION - // Not a public interface. - // - // Currently, I don't see a reason for providing an abstract - // interface at this level of the library. As of yet, no one - // uses . It only uses the statistical - // methods which are shared by all Tokens. For that reason, it - // still makes since to have a common base class. However, - // acquire, renew, and release do not need to have matching - // interfaces throughout all Tokens. - // - // To add a new type of token (e.g. semaphore), this class must - // be subtyped to define the new semantics. See - // for details. -public: - - ACE_Tokens (void); - // Null constructor. - - virtual int acquire (ACE_TPQ_Entry *caller, - int ignore_deadlock, - int notify) = 0; - // No implementation. - - virtual int tryacquire (ACE_TPQ_Entry *caller) = 0; - // No implementation. - - virtual int renew (ACE_TPQ_Entry *caller, - int requeue_position) = 0; - // No implementation. - - virtual int release (ACE_TPQ_Entry *caller) = 0; - // No implementation. - - void make_owner (ACE_TPQ_Entry *caller); - // Move the caller to the front of the waiter list. This is for use - // with remote mutexes and shadow mutexes. - - void remove (ACE_TPQ_Entry *caller); - // Remove the caller from the waiter list. - - // = Accessor methods. - - typedef ACE_Unbounded_Stack OWNER_STACK; - // Stack of owners. - - virtual int owners (OWNER_STACK &o, const char *id) = 0; - // Returns a stack of the current owners. Returns -1 on error, 0 on - // success. If is non-zero, returns 1 if id is an owner. - - virtual int is_waiting_for (const char *id) = 0; - // Returns 1 if is waiting for this token. 0 otherwise. - - virtual int is_owner (const char *id) = 0; - // Returns 1 if is an owner of this token. 0 otherwise. - - virtual ACE_Token_Proxy_Queue *waiters (void); - // Return the queue of waiters. - - virtual int no_of_waiters (void); - // Return the number of proxies that are currently waiting to get - // the token. - - const char *owner_id (void); - // The current owner. - - const char* name (void); - // Token name. - - // = Reference counting. These are only called by the - // Token_Manager. - void inc_reference (void); - int dec_reference (void); - - void dump (void) const; - // Dump the state of the class. - - enum TOKEN_TYPES { MUTEX, RWLOCK }; - // These are the Token types supported by the library at ship time. - // There is no restriction on the number of Token types added by - // "3rd parties." These are only necessary for the Token Server. - - virtual int type (void) const = 0; - // Provides a manual RTTI mechanism. This method is used only by - // ACE_Token_Request so that the type of a token can be sent to a - // remote Token Server. - - // = The following methods allow the deadlock detection algorithm to - // check if this token has been visited. - - void visit (int v); - // Mark or unmark the token as visited. - - int visited (void); - // Check if the token has been visited. - - ACE_TPQ_Entry *owner (void); - // All the data of the current owner. - -protected: - - int visited_; - // For the deadlock detection algorithm. - - int reference_count_; - // Reference count. - - ACE_Token_Proxy_Queue waiters_; - // List of client's owning and waiting the token. - - char token_name_[ACE_MAXTOKENNAMELEN]; - // Name of token. -}; - -class ACE_Local_Mutex; - -// 6.. -class ACE_Export ACE_Mutex_Token : public ACE_Tokens -{ - // = TITLE - // Class that acquires, renews, and releases a process-local - // synchronization token. - // - // = DESCRIPTION - // Not a public interface. - // - // This class is a more general-purpose synchronization mechanism - // than SunOS 5.x mutexes. 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 (SunOS 5.x mutexes - // don't strictly enforce an acquisition order). -public: - ACE_Mutex_Token (const char* name); - // life - - virtual ~ACE_Mutex_Token (void); - // death - - // = Synchronization operations. - // With acquire, renew, and release, the caller must be specified so - // that multiple proxies (e.g. ACE_Local_Mutex) can use the same - // token. - - virtual int acquire (ACE_TPQ_Entry *caller, - int ignore_deadlock, - int notify); - // Returns 0 on success, -1 on failure with ACE_LOG_MSG->errnum() as - // the reason. If errnum == EWOULDBLOCK, and notify == 1, - // ACE_Token_Proxy::sleep_hook() has been called on the current owner - // of the token. If ignore_deadlock is passed as 1 and errnum == - // EDEADLK, then deadlock was detected via ace_token_manager. - - virtual int tryacquire (ACE_TPQ_Entry *caller); - // same as acquire, but fails if would block - - virtual int renew (ACE_TPQ_Entry *caller, - int requeue_position); - // 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 == - // -1 and there are other threads waiting to obtain the token we are - // queued at the end of the list of waiters. If - // > -1 then it indicates how many entries to skip over before - // inserting our thread into the list of waiters (e.g., - // == 0 means "insert at front of the queue"). - // Renew has the rather odd semantics such that if there are other - // waiting threads it will give up the token even if the - // nesting_level_ > 1. I'm not sure if this is really the right - // thing to do (since it makes it possible for shared data to be - // changed unexpectedly) so use with caution... - // Returns 0 on success, -1 on failure with ACE_LOG_MSG->errnum() as - // the reason. If errnum == EWOULDBLOCK, and notify == 1, - // ACE_Token_Proxy::sleep_hook() has been called on the current owner - // of the token. - - virtual int release (ACE_TPQ_Entry *caller); - // Relinquish the token. If there are any waiters then the next one - // in line gets it. If the caller is not the owner, caller is - // removed from the waiter list. - - void dump (void) const; - // Dump the state of the class. - - virtual int type (void) const; - // Returns ACE_Tokens::MUTEX. - - virtual int owners (OWNER_STACK &o, const char *id); - // Returns a stack of the current owners. Returns -1 on error, 0 on - // success. If is non-zero, returns 1 if id is an owner. - - virtual int is_waiting_for (const char *id); - // Returns 1 if is waiting for this token. 0 otherwise. - - virtual int is_owner (const char *id); - // Returns 1 if is an owner of this token. 0 otherwise. - -private: - ACE_TOKEN_CONST::MUTEX lock_; - // ACE_Mutex_Token used to lock internal data structures. -}; - -// 12.. -class ACE_Export ACE_RW_Token : public ACE_Tokens -{ - // = TITLE - // Class that acquires, renews, and releases a process-local - // synchronization token. - // - // = DESCRIPTION - // Not a public interface. - // - // This class is a more general-purpose synchronization mechanism - // than SunOS 5.x mutexes. 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 (SunOS 5.x mutexes don't strictly - // enforce an acquisition order). -public: - ACE_RW_Token (const char* name); - // Life. - - virtual ~ACE_RW_Token (void); - // Death. - - // = Synchronization operations. - // With acquire, renew, and release, the caller must be specified so - // that multiple proxies (e.g. ACE_Local_Mutex) can use the same - // token. - - virtual int acquire (ACE_TPQ_Entry *caller, - int ignore_deadlock, - int notify); - // Returns 0 on success, -1 on failure with ACE_LOG_MSG->errnum() as - // the reason. If errnum == EWOULDBLOCK, and notify == 1, - // ACE_Token_Proxy::sleep_hook() has been called on the current owner - // of the token. If ignore_deadlock is passed as 1 and errnum == - // EDEADLK, then deadlock was detected via ace_token_manager. - - virtual int tryacquire (ACE_TPQ_Entry *caller); - // same as acquire except fails on would block - - virtual int renew (ACE_TPQ_Entry *caller, - int requeue_position); - // 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 == - // -1 and there are other threads waiting to obtain the token we are - // queued at the end of the list of waiters. If - // > -1 then it indicates how many entries to skip over before - // inserting our thread into the list of waiters (e.g., - // == 0 means "insert at front of the queue"). - // Renew has the rather odd semantics such that if there are other - // waiting threads it will give up the token even if the - // nesting_level_ > 1. I'm not sure if this is really the right - // thing to do (since it makes it possible for shared data to be - // changed unexpectedly) so use with caution... - // Returns 0 on success, -1 on failure with ACE_LOG_MSG->errnum() as - // the reason. If errnum == EWOULDBLOCK, and notify == 1, - // ACE_Token_Proxy::sleep_hook() has been called on the current owner - // of the token. - - virtual int release (ACE_TPQ_Entry *caller); - // Relinquish the token. If there are any waiters then the next one - // in line gets it. If the caller is not the owner, caller is - // removed from the waiter list. - - void dump (void) const; - // Dump the state of the class. - - enum PROXY_TYPE { READER, WRITER }; - // These are the types that proxies can be. - - virtual int type (void) const; - // Returns READER or WRITER. - - virtual int owners (OWNER_STACK &o, const char *id); - // Returns a stack of the current owners. Returns -1 on error, 0 on - // success. If is non-zero, returns 1 if id is an owner. - - virtual int is_waiting_for (const char *id); - // Returns 1 if is waiting for this token. 0 otherwise. - - virtual int is_owner (const char *id); - // Returns 1 if is an owner of this token. 0 otherwise. - -protected: - int num_writers_; - // the number of waiting writers. - - ACE_TOKEN_CONST::MUTEX lock_; - // ACE_Mutex_Token used to lock internal data structures. - - void notify_new_owner (ACE_TPQ_Entry *caller); - // Sets the new owner. -}; - -// a.. -class ACE_Token_Name -{ - // = TITLE - // Allows Token_Manger to identify tokens. - // - // = DESCRIPTION - // For now, this is just a string. We need a string class - // anyway to use in . Having this class - // (instead of ) allows us to easily change if - // needed. For instance, we may choose to identify tokens by - // name and *type* in the future. -public: - ACE_Token_Name (const char *token_name = 0); - // Construction. - - ACE_Token_Name (const ACE_Token_Name &rhs); - // Copy construction. - - virtual ~ACE_Token_Name (void); - // Death. - - void operator= (const ACE_Token_Name &rhs); - // Copy. - - int operator== (const ACE_Token_Name &rhs) const; - // Comparison. - - const char *name (void) const; - // Token name. - - void name (const char *new_name); - // Token name. - - void dump (void) const; - // Dump the state of the class. - -private: - char token_name_[ACE_MAXTOKENNAMELEN]; - // Name of the token. -}; - -// 7.. -class ACE_Export ACE_Token_Proxy -{ - // = TITLE - // Abstract representation of ACE tokens. - // - // = DESCRIPTION - // Interface for all Tokens in ACE. This class implements the - // synchronization needed for tokens (condition variables etc.) - // The algorithms for the operations (acquire, release, etc.) - // operate on the generic ACE_Tokens interface. Thus, the _type_ - // of token (mutex, rwlock) can be set at construction of - // ACE_Token_Proxy. You can use all Tokens in ACE through the - // ACE_Token_Proxy by passing the proper values at construction. - // Alternatively, there are class definitions which "know" how to - // do this (ACE_Local_Mutex, ACE_Local_RLock, ACE_Local_WLock). - // - // To add a new type of token (e.g. semaphore), this class is not - // changed. See ACE_Token_Manager for details. - // - // Tokens (e.g. ACE_Mutex_Token) assume that it can always call - // ACE_Token_Proxy::token_acquired () on a new token owner. This - // is not a problem for synchronous use of token proxies (that is, - // when acquires block until successful.) However, for - // implementations of the Token Server, which may use asynch - // operations, the proxy can not go away after an acquire until - // the token is acquired. This is not really a problem, but - // should be understood. -public: - friend class ACE_Token_Manager; - friend class ACE_Token_Invariant_Manager; // For testing. - - // Initialization and termination methods. - ACE_Token_Proxy (void); - // Construction. - - virtual ~ACE_Token_Proxy (void); - // Death. - - virtual int open (const char *name, - int ignore_deadlock = 0, - int debug = 0); - // is the string uniquely identifying the token. - // can be 1 to disable deadlock notifications. - // prints debug messages. - - // = The following methods have implementations which are - // independent of the token semantics (mutex, rwlock, etc.) They - // forward operations to the underlying token and perform the - // necessary blocking semantics for operations (condition variables - // etc.) This allows reuse of the blocking code as well as having - // multiple proxies to the same token. - - virtual int acquire (int notify = 0, - void (*sleep_hook)(void *) = 0, - ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Calls acquire on the token. Blocks the calling thread if would - // block. - - virtual int renew (int requeue_position = -1, - ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Calls renew on the token. Blocks the calling thread if would - // block. - - virtual int tryacquire (void (*sleep_hook)(void *) = 0); - // Calls renew on the token. - - virtual int release (ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Calls release on the token. - - virtual int remove (ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Calls remove on the token. - - virtual int acquire_read (int notify = 0, - void (*sleep_hook)(void *) = 0, - ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Since the locking mechanism doesn't support read locks then this - // just calls . - - virtual int acquire_write (int notify = 0, - void (*sleep_hook)(void *) = 0, - ACE_Synch_Options &options = - ACE_Synch_Options::defaults); - // Since the locking mechanism doesn't support write locks then this - // just calls . - - virtual int tryacquire_read (void (*sleep_hook)(void *) = 0); - // Since the locking mechanism doesn't support read locks then this - // just calls . - - virtual int tryacquire_write (void (*sleep_hook)(void *) = 0); - // Since the locking mechanism doesn't support write locks then this - // just calls . - - // = Utility methods. - - virtual const char *client_id (void) const; - // Get the client id of the proxy. This is implemented as - // thread-specific data. - - virtual void client_id (const char *client_id); - // Set the client_id for the calling thread. I strongly recommend - // that this not be used unless you really know what you're doing. - // I use this in the Token Server, and it caused many headaches. - - virtual const char *name (void) const; - // Return the name of the token. This is important for use within - // the token servers (local and remote) as well as with token - // collections. So, all derivations of ACE_Token_Proxy must be able to - // stringify some name. The name must uniquely identify a token. - // So, for instance, the token within the reactor should probably be - // called "Reactor Token." - - virtual void sleep_hook (void); - // This should really be called someone_waiting (). - // This is called by ACE_Token_xx's when another proxy enters the - // waiting list and requests that the current token holder be notified. - - virtual void token_acquired (ACE_TPQ_Entry *); - // This is called when a queued (waiting) proxy is removed from the - // waiters list and given the token. - - virtual const char *owner_id (void); - // the client id of the current token holder - - virtual ACE_Token_Proxy *clone (void) const = 0; - // Return a dynamically allocated clone of the derived class. - - void dump (void) const; - // Dump the state of the class. - - virtual int type (void) const; - // This method can be used be Tokens (e.g. Readers/Writer Tokens) to - // distinguish between Proxy types. For instance a Reader proxy - // should return a different type value than a Writer proxy. The - // default implementation returns 0. - -protected: - ACE_Token_Proxy (const ACE_Token_Proxy &); - // Duplication. - - int ignore_deadlock_; - // If this is set, we ignore deadlock. - - int debug_; - // Print a bunch of debug messages. - - ACE_Tokens *token_; - // Reference to the actual logical token. Many ACE_Local_Mutex - // proxies can reference the same ACE_Mutex_Token. - - int handle_options (ACE_Synch_Options &options, - ACE_TOKEN_CONST::COND_VAR &cv); - // Handles cond_var waits. - - ACE_TSS_TPQ_Entry waiter_; - // Waiter info used for asynchronous transactions. - - virtual ACE_Tokens *create_token (const char *name) = 0; - // Make the correct type of ACE_Tokens. This is called by the Token - // Manager. -}; - -// 8.. -class ACE_Export ACE_Null_Token : public ACE_Token_Proxy -{ - // = TITLE - // No op class for nonthreaded platform protocols. -public: - ACE_Null_Token (void) {}; - // Construction. - - virtual int acquire (int /* notify */ = 0, - void (* /* sleep_hook */ )(void *) = 0, - ACE_Synch_Options & /* options */ = - ACE_Synch_Options::defaults) { return 0; } - // Acquire. - - virtual int renew (int /* requeue_position */ = -1, - ACE_Synch_Options & /* options */ = - ACE_Synch_Options::defaults) { return 0; } - // Renew. - - virtual int tryacquire (void (* /* sleep_hook */)(void *) = 0) { return 0; } - // Try acquire. - - virtual int release (ACE_Synch_Options & /* options */ = - ACE_Synch_Options::defaults) { return 0; } - // Release. - - virtual int remove (ACE_Synch_Options & /* options */ = - ACE_Synch_Options::defaults) { return 0; } - // Remove. - - virtual ACE_Token_Proxy *clone (void) const { return new ACE_Null_Token; } - // Return a dynamically allocated clone of the derived class. - - void dump (void) const; - // Dump the state of the class. - - virtual ACE_Tokens *create_token (const char *) { return 0; } - // Do not allow the Token Manager to create us. -}; - -// 9.. -class ACE_Export ACE_Local_Mutex : public ACE_Token_Proxy -{ - // = TITLE - // Class that acquires, renews, and releases a synchronization - // token local to the process. - // - // = DESCRIPTION - // This class is a more general-purpose synchronization mechanism - // than SunOS 5.x mutexes. 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 (SunOS 5.x mutexes - // don't strictly enforce an acquisition order). Lastly, - // ACE_Local_Mutex performs deadlock detection on acquire calls. - // - // The interfaces for acquire, tryacquire, renew, release, - // etc. are defined in ACE_Token_Proxy. The semantics for - // ACE_Local_Mutex are that of a mutex. -public: - ACE_Local_Mutex (const char *token_name = 0, - int ignore_deadlock = 0, - int debug = 0); - // uniquely id's the token. - // will allow deadlock to occur (useful for - // testing). prints a bunch of messages. - - void dump (void) const; - // Dump the state of the class. - - virtual ACE_Token_Proxy *clone (void) const; - // Return deep copy. - -protected: - virtual ACE_Tokens *create_token (const char *name); - // Return a new ACE_Local_Mutex. -}; - -// *. -class ACE_Export ACE_Local_RLock : public ACE_Token_Proxy -{ - // = TITLE - // Class that acquires, renews, and releases a readers lock that - // is local to the process. - // - // = DESCRIPTION - // This class implements the reader interface to canonical - // readers/writer locks. Multiple readers can hold the lock - // simultaneously when no writers have the lock. Alternatively, - // when a writer holds the lock, no other participants (readers - // or writers) may hold the lock. This class is a more - // general-purpose synchronization mechanism than SunOS 5.x - // RLocks. For example, it implements "recursive RLock" - // 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 (SunOS 5.x RLockes don't strictly - // enforce an acquisition order). - // - // The interfaces for acquire, tryacquire, renew, release, - // etc. are defined in ACE_Token_Proxy. The semantics for - // ACE_Local_RLock are that of a readers/writers lock. Acquire - // for this class implies a reader acquisition. That is, - // multiple clients may acquire a lock for read only. -public: - // = Initialization and termination. - - ACE_Local_RLock (const char *token_name = 0, - int ignore_deadlock = 0, - int debug = 0); - // uniquely id's the token. - // will allow deadlock to occur (useful for - // testing). prints a bunch of messages. - - void dump (void) const; - // Dump the state of the class. - - virtual int type (void) const; - // Returns ACE_RW_Token::RLOCK. - - virtual ACE_Token_Proxy *clone (void) const; - // Return deep copy. - -protected: - virtual ACE_Tokens *create_token (const char *name); - // Return a new ACE_Local_Mutex. -}; - -// *. -class ACE_Export ACE_Local_WLock : public ACE_Token_Proxy -{ - // = TITLE - // Class that acquires, renews, and releases a writer lock that - // is local to the process. - // - // = DESCRIPTION - // This class implements the writer interface to canonical - // readers/writer locks. Multiple readers can hold the lock - // simultaneously when no writers have the lock. Alternatively, - // when a writer holds the lock, no other participants (readers - // or writers) may hold the lock. This class is a more - // general-purpose synchronization mechanism than SunOS 5.x - // WLock. For example, it implements "recursive WLock" - // 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 (SunOS 5.x WLocks don't strictly - // enforce an acquisition order). - // - // The interfaces for acquire, tryacquire, renew, release, - // etc. are defined in ACE_Token_Proxy. The semantics for - // ACE_Local_WLock are that of a readers/writers lock. Acquire - // for this class implies a writer acquisition. That is, only - // one client may hold the lock for writing. -public: - // = Initialization and termination. - - ACE_Local_WLock (const char *token_name = 0, - int ignore_deadlock = 0, - int debug = 0); - // uniquely id's the token. - // will allow deadlock to occur (useful for - // testing). prints a bunch of messages. - - void dump (void) const; - // Dump the state of the class. - - virtual int type (void) const; - // Returns ACE_RW_Token::WLOCK. - - virtual ACE_Token_Proxy *clone (void) const; - // Return deep copy. - -protected: - ACE_Tokens *create_token (const char *name); - // Return a new ACE_Local_Mutex. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Local_Tokens.i" -#endif /* __ACE_INLINE__ */ -#endif /* ACE_LOCAL_MUTEX_H */ diff --git a/ace/Local_Tokens.i b/ace/Local_Tokens.i deleted file mode 100644 index a1e70bc9e9a..00000000000 --- a/ace/Local_Tokens.i +++ /dev/null @@ -1,398 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Local_Tokens.i - -ACE_INLINE int -ACE_Token_Proxy::type (void) const -{ - ACE_TRACE ("ACE_Token_Proxy::type"); - return 0; -} - - -ACE_INLINE int -ACE_Token_Proxy::acquire_read (int notify, - void (*sleep_hook)(void *), - ACE_Synch_Options &options) -{ - return this->acquire (notify, - sleep_hook, - options); -} - -ACE_INLINE int -ACE_Token_Proxy::acquire_write (int notify, - void (*sleep_hook)(void *), - ACE_Synch_Options &options) -{ - return this->acquire (notify, - sleep_hook, - options); -} - -ACE_INLINE int -ACE_Token_Proxy::tryacquire_read (void (*sleep_hook)(void *)) -{ - return this->tryacquire (sleep_hook); -} - -ACE_INLINE int -ACE_Token_Proxy::tryacquire_write (void (*sleep_hook)(void *)) -{ - return this->tryacquire (sleep_hook); -} - -// ************************************************************ - -ACE_INLINE int -ACE_Token_Proxy_Queue::size (void) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::size"); - return this->size_; -} - -// ************************************************************ - -ACE_INLINE int -ACE_TPQ_Entry::waiting (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::waiting"); - return waiting_; -} - -ACE_INLINE void -ACE_TPQ_Entry::waiting (int v) -{ - ACE_TRACE ("ACE_TPQ_Entry::waiting"); - waiting_ = v; -} - -ACE_INLINE const char * -ACE_TPQ_Entry::client_id (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::client_id"); - return this->client_id_; -} - -ACE_INLINE ACE_Token_Proxy * -ACE_TPQ_Entry::proxy (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::proxy"); - return this->proxy_; -} - -ACE_INLINE void -ACE_TPQ_Entry::proxy (ACE_Token_Proxy *proxy) -{ - ACE_TRACE ("ACE_TPQ_Entry::proxy"); - this->proxy_ = proxy; -} - -ACE_INLINE void -ACE_Tokens::remove (ACE_TPQ_Entry *caller) -{ - this->waiters_.remove (caller); -} - -ACE_INLINE int -ACE_Tokens::dec_reference (void) -{ - ACE_TRACE ("ACE_Tokens::dec_reference"); - if (this->reference_count_ == 0) - { - ACE_DEBUG ((LM_DEBUG, "dec_reference already zero")); - return 0; - } - - return --this->reference_count_; -} - -ACE_INLINE void -ACE_Tokens::inc_reference (void) -{ - ACE_TRACE ("ACE_Tokens::inc_reference"); - ++this->reference_count_; -} - -ACE_INLINE ACE_Token_Proxy_Queue * -ACE_Tokens::waiters () -{ - ACE_TRACE ("ACE_Tokens::waiters"); - return &this->waiters_; -} - -ACE_INLINE int -ACE_Tokens::no_of_waiters () -{ - ACE_TRACE ("ACE_Tokens::no_of_waiters"); - return this->waiters_.size (); -} - -ACE_INLINE const ACE_TPQ_Entry * -ACE_Token_Proxy_Queue::head (void) -{ - ACE_TRACE ("ACE_Token_Proxy_Queue::head"); - if (this->head_ == 0) - return 0; - else - return this->head_; -} - -// ************************************************** -// ************************************************** -// ************************************************** - -ACE_INLINE void -ACE_Tokens::visit (int v) -{ - ACE_TRACE ("ACE_Tokens::visit"); - visited_ = v; -} - -ACE_INLINE int -ACE_Tokens::visited (void) -{ - ACE_TRACE ("ACE_Tokens::visited"); - return visited_; -} - -ACE_INLINE ACE_TPQ_Entry * -ACE_Tokens::owner (void) -{ - ACE_TRACE ("ACE_Tokens::owner"); - return (ACE_TPQ_Entry *) this->waiters_.head (); -} - -ACE_INLINE const char* -ACE_Tokens::owner_id () -{ - ACE_TRACE ("ACE_Tokens::owner_id"); - if (this->owner () == 0) - return "no owner"; - else - return this->owner ()->client_id (); -} - -ACE_INLINE const char* -ACE_Tokens::name (void) -{ - ACE_TRACE ("ACE_Tokens::name"); - return this->token_name_; -} - -#if 0 -ACE_INLINE ACE_Token_Proxy * -ACE_Tokens::current_owner (void) -{ - ACE_TRACE ("ACE_Tokens::current_owner"); - // ACE_GUARD_RETURN ??? - - if (this->owner () == 0) - return 0; - else - return this->owner ()->proxy (); -} -#endif /* 0 */ - -// ************************************************************ - -ACE_INLINE int -ACE_Mutex_Token::type (void) const -{ - ACE_TRACE ("ACE_Mutex_Token::type"); - return (int) ACE_Tokens::MUTEX; -} - -// ************************************************************ - -ACE_INLINE int -ACE_RW_Token::type (void) const -{ - ACE_TRACE ("ACE_RW_Token::type"); - return (int) ACE_Tokens::RWLOCK; -} - -// ************************************************************ - -ACE_INLINE int -ACE_TPQ_Entry::nesting_level (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::nesting_level"); - return this->nesting_level_; -} - -ACE_INLINE void -ACE_TPQ_Entry::nesting_level (int delta) -{ - ACE_TRACE ("ACE_TPQ_Entry::nesting_level"); - this->nesting_level_ += delta; -} - -ACE_INLINE ACE_TPQ_Entry::PTVF -ACE_TPQ_Entry::sleep_hook (void) const -{ - ACE_TRACE ("ACE_TPQ_Entry::sleep_hook"); - return this->sleep_hook_; -} - -ACE_INLINE void -ACE_TPQ_Entry::sleep_hook (void (*sh)(void *)) -{ - ACE_TRACE ("ACE_TPQ_Entry::sleep_hook"); - this->sleep_hook_ = sh; -} - -ACE_INLINE void -ACE_TPQ_Entry::call_sleep_hook (void) -{ - ACE_TRACE ("ACE_TPQ_Entry::call_sleep_hook"); - - // if a function has been registered, call it. - if (this->sleep_hook () != 0) - this->sleep_hook () ((void *) this->proxy ()); - else - // otherwise, call back the sleep_hook method - this->proxy ()->sleep_hook (); -} - -ACE_INLINE int -ACE_TPQ_Entry::equal_client_id (const char *id) -{ - ACE_TRACE ("ACE_TPQ_Entry::equal_client_id"); - return (ACE_OS::strcmp (this->client_id (), id) == 0); -} - -// ************************************************************ -// ************************************************************ -// ************************************************************ - -ACE_INLINE -ACE_Local_Mutex::ACE_Local_Mutex (const char *token_name, - int ignore_deadlock, - int debug) -{ - ACE_TRACE ("ACE_Local_Mutex::ACE_Local_Mutex"); - this->open (token_name, ignore_deadlock, debug); -} - -ACE_INLINE void -ACE_Token_Name::name (const char *new_name) -{ - ACE_TRACE ("ACE_Token_Name::name"); - - if (new_name == 0) - new_name = "no name"; - - int n = ACE_OS::strlen (new_name) + 1; - - if (n >= ACE_MAXTOKENNAMELEN) - n = ACE_MAXTOKENNAMELEN - 1; - - ACE_OS::strncpy (this->token_name_, (char *) new_name, n); -} - -ACE_INLINE const char* -ACE_Token_Name::name (void) const -{ - ACE_TRACE ("ACE_Token_Name::name"); - return this->token_name_; -} - -ACE_INLINE ACE_Token_Proxy * -ACE_Local_Mutex::clone (void) const -{ - return new ACE_Local_Mutex (token_->name (), - ignore_deadlock_, - debug_); -} - -ACE_INLINE ACE_Tokens * -ACE_Local_Mutex::create_token (const char *name) -{ - return new ACE_Mutex_Token (name); -} - -// ************************************************************ - -ACE_INLINE -ACE_Local_RLock::ACE_Local_RLock (const char *token_name, - int ignore_deadlock, - int debug) -{ - ACE_TRACE ("ACE_Local_RLock::ACE_Local_RLock"); - this->open (token_name, ignore_deadlock, debug); -} - -ACE_INLINE ACE_Tokens * -ACE_Local_RLock::create_token (const char *name) -{ - return new ACE_RW_Token (name); -} - -ACE_INLINE int -ACE_Local_RLock::type (void) const -{ - return ACE_RW_Token::READER; -} - -ACE_INLINE ACE_Token_Proxy * -ACE_Local_RLock::clone (void) const -{ - return new ACE_Local_RLock (token_->name (), - ignore_deadlock_, - debug_); -} - -// ************************************************************ - -ACE_INLINE -ACE_Local_WLock::ACE_Local_WLock (const char *token_name, - int ignore_deadlock, - int debug) -{ - ACE_TRACE ("ACE_Local_WLock::ACE_Local_WLock"); - this->open (token_name, ignore_deadlock, debug); -} - -ACE_INLINE ACE_Tokens * -ACE_Local_WLock::create_token (const char *name) -{ - return new ACE_RW_Token (name); -} - -ACE_INLINE int -ACE_Local_WLock::type (void) const -{ - return ACE_RW_Token::WRITER; -} - -ACE_INLINE ACE_Token_Proxy * -ACE_Local_WLock::clone (void) const -{ - return new ACE_Local_WLock (token_->name (), - ignore_deadlock_, - debug_); -} - -// ************************************************************ - - -ACE_INLINE void -ACE_Token_Name::operator= (const ACE_Token_Name &rhs) -{ - ACE_TRACE ("ACE_Token_Name::operator="); - if (&rhs == this) - return; - else - this->name (rhs.name ()); -} - -ACE_INLINE int -ACE_Token_Name::operator== (const ACE_Token_Name &rhs) const -{ - ACE_TRACE ("ACE_Token_Name::operator=="); - - // the name and type must be the same - return (ACE_OS::strcmp (this->token_name_, rhs.name ()) == 0); -} diff --git a/ace/Log_Msg.cpp b/ace/Log_Msg.cpp deleted file mode 100644 index f2edd3f0496..00000000000 --- a/ace/Log_Msg.cpp +++ /dev/null @@ -1,1238 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL - -// We need this to get the status of ACE_NTRACE... -#include "ace/inc_user_config.h" - -// Turn off tracing for the duration of this file. -#if defined (ACE_NTRACE) -#undef ACE_NTRACE -#endif /* ACE_NTRACE */ -#define ACE_NTRACE 1 - -// This must come first to avoid "order of include" problems... - -#if !defined (ACE_HAS_INLINED_OSCALLS) && !defined (ACE_WIN32) -#define ACE_HAS_INLINED_OSCALLS -#include "ace/ACE.h" -#undef ACE_HAS_INLINED_OSCALLS -#else -#include "ace/ACE.h" -#endif /* !ACE_HAS_INLINED_OSCALLS */ - -#include "ace/Thread_Manager.h" -#include "ace/Synch_T.h" -#include "ace/Signal.h" -#include "ace/streams.h" -#include "ace/Object_Manager.h" -#include "ace/Managed_Object.h" - -#if defined (ACE_HAS_UNICODE) -#define ACE_WSPRINTF(BUF,VALUE) ::wsprintf (BUF, "%S", VALUE) -#else -#define ACE_WSPRINTF(BUF,VALUE) ACE_OS::sprintf (BUF, "%s", VALUE) -#endif /* ACE_HAS_UNICODE */ - -// IPC conduit between sender and client daemon. This should be -// included in the class, but due to "order of include" -// problems it can't be... -#if defined (ACE_HAS_STREAM_PIPES) -# include "ace/SPIPE_Connector.h" -typedef ACE_SPIPE_Stream ACE_LOG_MSG_IPC_STREAM; -typedef ACE_SPIPE_Connector ACE_LOG_MSG_IPC_CONNECTOR; -typedef ACE_SPIPE_Addr ACE_LOG_MSG_IPC_ADDR; -#else -# include "ace/SOCK_Connector.h" -typedef ACE_SOCK_Stream ACE_LOG_MSG_IPC_STREAM; -typedef ACE_SOCK_Connector ACE_LOG_MSG_IPC_CONNECTOR; -typedef ACE_INET_Addr ACE_LOG_MSG_IPC_ADDR; -#endif /* ACE_HAS_STREAM_PIPES */ - -static ACE_LOG_MSG_IPC_STREAM *ACE_Log_Msg_message_queue = 0; - -ACE_ALLOC_HOOK_DEFINE(ACE_Log_Msg) - -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -static int ACE_Log_Msg_key_created_ = 0; -static ACE_thread_key_t ACE_Log_Msg_key_; -#endif /* ACE_MT_SAFE */ - -// This is only needed here because we can't afford to call -// ACE_LOG_MSG->instance() from within ACE_Log_Msg::instance() or else -// we will recurse infinitely! - -#define ACE_NEW_RETURN_I(POINTER,CONSTRUCTOR,RET_VAL) \ - do { POINTER = new CONSTRUCTOR; \ - if (POINTER == 0) { errno = ENOMEM; return RET_VAL; } \ - } while (0) - -// Instance count for Log_Msg - used to know when dynamically -// allocated storage (program name and host name) can be safely -// deleted. -int ACE_Log_Msg::instance_count_ = 0; - -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - -class ACE_Log_Msg_Manager - // = TITLE - // Synchronize output operations. -{ -public: - static ACE_Thread_Mutex *get_lock (void); - - static void close (void); - -private: - static ACE_Thread_Mutex *lock_; -}; - -ACE_Thread_Mutex *ACE_Log_Msg_Manager::lock_ = 0; - -ACE_Thread_Mutex * -ACE_Log_Msg_Manager::get_lock (void) -{ - // This function is called by the first thread to create an ACE_Log_Msg - // instance. It makes the call while holding a mutex, so we don't have - // to grab another one here. - - if (ACE_Log_Msg_Manager::lock_ == 0) - { - ACE_NO_HEAP_CHECK; - - ACE_NEW_RETURN_I (ACE_Log_Msg_Manager::lock_, ACE_Thread_Mutex, 0); - - // Allocate the ACE_Log_Msg IPC instance. - ACE_NEW_RETURN (ACE_Log_Msg_message_queue, ACE_LOG_MSG_IPC_STREAM, 0); - } - - return ACE_Log_Msg_Manager::lock_; -} - -void -ACE_Log_Msg_Manager::close (void) -{ -#if defined (ACE_HAS_STHREADS) && ! defined (ACE_HAS_TSS_EMULATION) && ! defined (ACE_HAS_EXCEPTIONS) - // Delete the (main thread's) Log_Msg instance. I think that this - // is only "necessary" if exception handling is not enabled. - // Without exception handling, main thread TSS destructors don't - // seem to be called. It's not really necessary anyways, because - // this one leak is harmless on Solaris. - delete ACE_Log_Msg::instance (); -#endif /* ACE_HAS_STHREADS && ! TSS_EMULATION && ! ACE_HAS_EXCEPTIONS */ - - ACE_OS::thr_keyfree (ACE_Log_Msg_key_); - - // Ugly, ugly, but don't know a better way. - delete ACE_Log_Msg_Manager::lock_; - ACE_Log_Msg_Manager::lock_ = 0; -} - -/* static */ -#if defined (ACE_HAS_THR_C_FUNC) -extern "C" -#endif /* ACE_HAS_THR_C_FUNC */ -void -ACE_TSS_cleanup (void *ptr) -{ - delete (ACE_Log_Msg *) ptr; -} -#endif /* ACE_MT_SAFE */ - -/* static */ -int -ACE_Log_Msg::exists (void) -{ -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION) - ACE_Log_Msg *tss_log_msg = 0; - - // Get the tss_log_msg from thread-specific storage. - return ACE_Log_Msg_key_created_ - && ACE_OS::thr_getspecific (ACE_Log_Msg_key_, (void **) &tss_log_msg) != -1 - && tss_log_msg; -# else -# error "Platform must support thread-specific storage if threads are used..." -# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */ -#else - return 1; -#endif /* defined (ACE_MT_SAFE) */ -} - -ACE_Log_Msg * -ACE_Log_Msg::instance (void) -{ -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION) - // TSS Singleton implementation. - - if (ACE_Log_Msg_key_created_ == 0) - { - ACE_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_LOG_MSG_INSTANCE_LOCK); - - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0); - - if (ACE_Log_Msg_key_created_ == 0) - { - // Allocate the Singleton lock. - ACE_Log_Msg_Manager::get_lock (); - - { - ACE_NO_HEAP_CHECK; - if (ACE_OS::thr_keycreate (&ACE_Log_Msg_key_, - &ACE_TSS_cleanup) != 0) - { - return 0; // Major problems, this should *never* happen! - } - } - - ACE_Log_Msg_key_created_ = 1; - } - } - - ACE_Log_Msg *tss_log_msg = 0; - - // Get the tss_log_msg from thread-specific storage. - if (ACE_OS::thr_getspecific (ACE_Log_Msg_key_, - (void **) &tss_log_msg) == -1) - return 0; // This should not happen! - - // Check to see if this is the first time in for this thread. - if (tss_log_msg == 0) - { - // Allocate memory off the heap and store it in a pointer in - // thread-specific storage (on the stack...). Stop heap - // checking, the memory will always be freed by the thread - // rundown because of the TSS callback set up when the key was - // created. This prevents from getting these blocks reported as - // memory leaks. - { - ACE_NO_HEAP_CHECK; - - ACE_NEW_RETURN_I (tss_log_msg, ACE_Log_Msg, 0); - // Store the dynamically allocated pointer in thread-specific - // storage. It gets deleted via the ACE_TSS_cleanup function - // when the thread terminates. - - if (ACE_OS::thr_setspecific (ACE_Log_Msg_key_, - (void *) tss_log_msg) != 0) - return 0; // Major problems, this should *never* happen! - } - } - - return tss_log_msg; -# else -# error "Platform must support thread-specific storage if threads are used..." -# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */ -#else - // We don't have threads, we cannot call - // ACE_Log_Msg_Manager::get_lock() to initialize the message queue, - // so instead we do it here. - if (ACE_Log_Msg_message_queue == 0) - ACE_NEW_RETURN (ACE_Log_Msg_message_queue, ACE_LOG_MSG_IPC_STREAM, 0); - - // Singleton implementation. - static ACE_Cleanup_Adapter *log_msg = 0; - if (log_msg == 0) - { - ACE_NEW_RETURN (log_msg, ACE_Cleanup_Adapter, 0); - // Register the instance for destruction at program termination. - ACE_Object_Manager::at_exit (log_msg); - } - - return &log_msg->object (); -#endif /* defined (ACE_MT_SAFE) */ -} -#undef ACE_NEW_RETURN_I - -// Name of the local host. -const char *ACE_Log_Msg::local_host_ = 0; - -// Records the program name. -const char *ACE_Log_Msg::program_name_ = 0; - -// Default is to use stderr. -u_long ACE_Log_Msg::flags_ = ACE_Log_Msg::STDERR; - -// Process id of the current process. -pid_t ACE_Log_Msg::pid_ = -1; - -// Current offset of msg_[]. -int ACE_Log_Msg::msg_off_ = 0; - -void -ACE_Log_Msg::close (void) -{ - // Please note that this will be called by a statement that is - // harded coded into the ACE_Object_Manager's shutdown sequence, - // in its destructor. - - ACE_MT (ACE_Log_Msg_Manager::close ()); -} - -// Call after a fork to resynchronize the PID and PROGRAM_NAME -// variables. -void -ACE_Log_Msg::sync (const char *prog_name) -{ - ACE_TRACE ("ACE_Log_Msg::sync"); - - if (prog_name) - { - // Must free if already allocated!!! - ACE_OS::free ((void *) ACE_Log_Msg::program_name_); - - // Stop heap checking, block will be freed by the destructor when - // the last ACE_Log_Msg instance is deleted. - // Heap checking state will be restored when the block is left. - { - ACE_NO_HEAP_CHECK; - - ACE_Log_Msg::program_name_ = ACE_OS::strdup (prog_name); - } - } - - ACE_Log_Msg::pid_ = ACE_OS::getpid (); - ACE_Log_Msg::msg_off_ = 0; -} - -u_long -ACE_Log_Msg::flags (void) -{ - ACE_TRACE ("ACE_Log_Msg::flags"); - u_long result; - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ACE_Log_Msg_Manager::get_lock (), 0)); - - result = ACE_Log_Msg::flags_; - return result; -} - -void -ACE_Log_Msg::set_flags (u_long flgs) -{ - ACE_TRACE ("ACE_Log_Msg::set_flags"); - ACE_MT (ACE_GUARD (ACE_Thread_Mutex, ace_mon, *ACE_Log_Msg_Manager::get_lock ())); - - ACE_SET_BITS (ACE_Log_Msg::flags_, flgs); -} - -void -ACE_Log_Msg::clr_flags (u_long flgs) -{ - ACE_TRACE ("ACE_Log_Msg::clr_flags"); - ACE_MT (ACE_GUARD (ACE_Thread_Mutex, ace_mon, *ACE_Log_Msg_Manager::get_lock ())); - - ACE_CLR_BITS (ACE_Log_Msg::flags_, flgs); -} - -int -ACE_Log_Msg::acquire (void) -{ - ACE_TRACE ("ACE_Log_Msg::acquire"); -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - return ACE_Log_Msg_Manager::get_lock ()->acquire (); -#else - return 0; -#endif /* ACE_MT_SAFE */ -} - -u_long -ACE_Log_Msg::priority_mask (u_long n_mask) -{ - u_long o_mask = this->priority_mask_; - this->priority_mask_ = n_mask; - return o_mask; -} - -u_long -ACE_Log_Msg::priority_mask (void) -{ - return this->priority_mask_; -} - -int -ACE_Log_Msg::log_priority_enabled (ACE_Log_Priority log_priority) -{ - return ACE_BIT_ENABLED (this->priority_mask_, log_priority); -} - -int -ACE_Log_Msg::release (void) -{ - ACE_TRACE ("ACE_Log_Msg::release"); - -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - return ACE_Log_Msg_Manager::get_lock ()->release (); -#else - return 0; -#endif /* ACE_MT_SAFE */ -} - -ACE_Log_Msg::ACE_Log_Msg (void) - : status_ (0), - errnum_ (0), - linenum_ (0), - restart_ (1), // Restart by default... - ostream_ (0), - trace_depth_ (0), - trace_active_ (0), - tracing_enabled_ (1), // On by default? - thr_desc_ (0), - priority_mask_ (LM_SHUTDOWN // By default, all priorities are enabled. - | LM_TRACE - | LM_DEBUG - | LM_INFO - | LM_NOTICE - | LM_WARNING - | LM_STARTUP - | LM_ERROR - | LM_CRITICAL - | LM_ALERT - | LM_EMERGENCY) -{ - // ACE_TRACE ("ACE_Log_Msg::ACE_Log_Msg"); - - ++instance_count_; -} - -ACE_Log_Msg::~ACE_Log_Msg (void) -{ -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - - int instance_count; - - // Only hold the guard while updating the instance_count_. - // If ACE_Log_Msg_Manager::close () is called, the lock will - // be deleted. - { - ACE_MT (ACE_GUARD (ACE_Thread_Mutex, ace_mon, - *ACE_Log_Msg_Manager::get_lock ())); - instance_count = --instance_count_; - } - // Release the guard. - -#else - int instance_count = --instance_count_; -#endif /* ACE_MT_SAFE */ - - // If this is the last instance then cleanup. Only the last - // thread to destroy its ACE_Log_Msg instance should execute - // this block. - if (instance_count == 0) - { -# if defined (ACE_HAS_TSS_EMULATION) - ACE_Log_Msg_Manager::close (); -# endif /* ACE_HAS_TSS_EMULATION */ - - // Destroy the message queue instance. - ACE_Log_Msg_message_queue->close (); - delete ACE_Log_Msg_message_queue; - ACE_Log_Msg_message_queue = 0; - - if (ACE_Log_Msg::program_name_) - { - ACE_OS::free ((void *) ACE_Log_Msg::program_name_); - ACE_Log_Msg::program_name_ = 0; - } - - if (ACE_Log_Msg::local_host_) - { - ACE_OS::free ((void *) ACE_Log_Msg::local_host_); - ACE_Log_Msg::local_host_ = 0; - } - } -} - -// Open the sender-side of the Message ACE_Queue. -int -ACE_Log_Msg::open (const char *prog_name, - u_long flags, - LPCTSTR logger_key) -{ - ACE_TRACE ("ACE_Log_Msg::open"); - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ACE_Log_Msg_Manager::get_lock (), -1)); - - if (prog_name) - { - ACE_OS::free ((void *) ACE_Log_Msg::program_name_); - - // Stop heap checking, block will be freed by the destructor. - { - ACE_NO_HEAP_CHECK; - - ACE_ALLOCATOR_RETURN (ACE_Log_Msg::program_name_, - ACE_OS::strdup (prog_name), - -1); - } - } - - int status = 0; - - // Note that if we fail to open the message queue the default action - // is to use stderr (set via static initialization in the - // ACE_Log_Msg.C file). - - if (ACE_BIT_ENABLED (flags, ACE_Log_Msg::LOGGER)) - { - if (logger_key == 0) - status = -1; - else - { - if (ACE_Log_Msg_message_queue->get_handle () != ACE_INVALID_HANDLE) - ACE_Log_Msg_message_queue->close (); - - ACE_LOG_MSG_IPC_CONNECTOR con; - status = con.connect (*ACE_Log_Msg_message_queue, - ACE_LOG_MSG_IPC_ADDR (ACE_MULTIBYTE_STRING (logger_key))); - } - - if (status == -1) - ACE_SET_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::STDERR); - else - ACE_SET_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::LOGGER); - } - - // Remember, ACE_Log_Msg::STDERR bit is on by default... - if (status != -1 - && ACE_BIT_ENABLED (flags, ACE_Log_Msg::STDERR) == 0) - ACE_CLR_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::STDERR); - - if (ACE_BIT_ENABLED (flags, ACE_Log_Msg::VERBOSE)) - ACE_SET_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::VERBOSE); - - if (ACE_BIT_ENABLED (flags, ACE_Log_Msg::OSTREAM)) - { - ACE_SET_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::OSTREAM); - // Only set this to cerr if it hasn't already been set. - if (this->msg_ostream () == 0) - this->msg_ostream (&cerr); - } - if (ACE_BIT_ENABLED (flags, ACE_Log_Msg::SILENT)) - ACE_SET_BITS (ACE_Log_Msg::flags_, ACE_Log_Msg::SILENT); - - return status; -} - -// Valid Options (prefixed by '%', as in printf format strings) include: -// 'a': exit the program at this point (var-argument is the exit status!) -// 'c': print a character -// 'i', 'd': print a decimal number -// 'I', indent according to nesting depth -// 'e', 'E', 'f', 'F', 'g', 'G': print a double -// 'l', print line number where an error occurred. -// 'N': print file name where the error occurred. -// 'n': print the name of the program (or "" if not set) -// 'o': print as an octal number -// 'P': format the current process id -// 'p': format the appropriate errno value from sys_errlist -// 'r': call the function pointed to by the corresponding argument -// 'R': print return status -// 'S': format the appropriate _sys_siglist entry corresponding to var-argument. -// 's': format a character string -// 'T': print timestamp in hour:minute:sec:usec format. -// 'D': print timestamp in month/day/year hour:minute:sec:usec format. -// 't': print thread id (1 if single-threaded) -// 'u': print as unsigned int -// 'X', 'x': print as a hex number -// '%': format a single percent sign, '%' - -ssize_t -ACE_Log_Msg::log (ACE_Log_Priority log_priority, - const char *format_str, ...) -{ - ACE_TRACE ("ACE_Log_Msg::log"); - - // Start of variable args section. - va_list argp; - - va_start (argp, format_str); - - int result = this->log (format_str, log_priority, argp); - - va_end (argp); - - return result; -} - -ssize_t -ACE_Log_Msg::log (const char *format_str, - ACE_Log_Priority log_priority, - va_list argp) -{ - ACE_TRACE ("ACE_Log_Msg::log"); - // External decls. - - extern int sys_nerr; - typedef void (*PTF)(...); - - // Only print the message if hasn't been reset to - // exclude this logging priority. - - if (this->log_priority_enabled (log_priority) == 0) - return 0; - - ACE_Log_Record log_record (log_priority, - ACE_OS::gettimeofday (), - this->getpid ()); - char *bp = (char *) this->msg (); - int abort_prog = 0; - int exit_value = 0; - char *format; - ACE_ALLOCATOR_RETURN (format, ACE_OS::strdup (format_str), -1); - char *save_p = format; // Remember pointer for ACE_OS::free() - - if (format == 0) - return -1; - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::VERBOSE)) - { - // Prepend the program name onto this message - - if (ACE_Log_Msg::program_name_ != 0) - { - for (const char *s = ACE_Log_Msg::program_name_; (*bp = *s) != '\0'; s++) - bp++; - - *bp++ = '|'; - } - } - - while (*format != '\0') - { - // Copy input to output until we encounter a %, however a - // % followed by another % is not a format specification. - - if (*format != '%') - *bp++ = *format++; - else if (format[1] == '%') // An "escaped" '%' (just print one '%'). - { - *bp++ = *format++; // Store first % - format++; // but skip second % - } - else - { - char c; // high use character - char *fp; // local format pointer - int wpc; // width/precision cnt - const int CONTINUE = 0; - const int SKIP_SPRINTF = -1; // We must skip the sprintf phase - const int SKIP_NUL_LOCATE = -2; // Skip locating the NUL character - int type = CONTINUE; // conversion type - int w[2]; // width/precision vals - - // % starts a format specification that ends with one of - // "arnPpSsdciIouxXfFeEgG". An optional width and/or precision - // (indicated by an "*") may be encountered prior to the - // nend of the specification, each consumes an int arg. - // A call to sprintf() does the actual conversion. - - fp = format++; // Remember beginning of format. - wpc = 0; // Assume no width/precision seen. - - while (type == CONTINUE) - { - switch (*format++) - { - case 'a': // Abort program after handling all of format string. - type = SKIP_SPRINTF; - abort_prog = 1; - exit_value = va_arg (argp, int); - ACE_OS::sprintf (bp, ""); // Make sure to NUL-terminate this... - break; - case 'l': - ACE_OS::sprintf (bp, "%d", this->linenum ()); - type = SKIP_SPRINTF; - break; - case 'N': - { - // @@ UNICODE - const char *file = this->file (); - ACE_OS::sprintf (bp, "%s", file ? file : ""); - type = SKIP_SPRINTF; - break; - } - case 'n': // Print the name of the program. - type = SKIP_SPRINTF; - // @@ UNICODE - ACE_OS::strcpy (bp, ACE_Log_Msg::program_name_ ? - ACE_Log_Msg::program_name_ : ""); - break; - case 'P': // Format the current process id. - type = SKIP_SPRINTF; - ACE_OS::sprintf (bp, "%d", this->getpid ()); - break; - case 'p': // Format the string assocated with the value of errno. - { - type = SKIP_SPRINTF; - errno = ACE::map_errno (this->errnum ()); - if (errno >= 0 && errno < sys_nerr) - ACE_OS::sprintf (bp, "%s: %s", - va_arg (argp, char *), strerror (errno)); - else - { -#if defined (ACE_WIN32) - LPTSTR lpMsgBuf = 0; - - ::FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - errno, - MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) &lpMsgBuf, - 0, - NULL); - - // If we don't get a valid response from - // , we'll assume this is a - // WinSock error and so we'll try to convert - // it into a string. If this doesn't work it - // returns "unknown error" which is fine for - // our purposes. - if (lpMsgBuf == 0) - { - const char *message = ACE::sock_error (errno); - ACE_OS::sprintf (bp, "%s: %s", - va_arg (argp, const char *), message); - } - else - { - ACE_OS::sprintf (bp, "%s: %s", - va_arg (argp, char *), lpMsgBuf); - // Free the buffer. - ::LocalFree (lpMsgBuf); - } -#else - ACE_OS::sprintf (bp, "%s: = %d", - va_arg (argp, char *), errno); -#endif /* ACE_WIN32 */ - } - break; - } - case 'R': // Format the return status of the operation. - this->op_status (va_arg (argp, int)); - ACE_OS::sprintf (bp, "%d", this->op_status ()); - break; - - case 'I': // Indent with nesting_depth*width spaces - type = SKIP_SPRINTF; - if (!wpc) w[wpc++] = 1; - w[wpc-1] *= this->trace_depth_; - memset(bp, ' ', w[wpc-1]); - bp += w[wpc-1]; - *bp = '\0'; - break; - - case 'r': // Run (invoke) this subroutine. - { - int osave = ACE_Log_Msg::msg_off_; - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::SILENT)) - *bp++ = '{'; - ACE_Log_Msg::msg_off_ = bp - this->msg_; - - type = SKIP_SPRINTF; - (*va_arg (argp, PTF))(); - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::SILENT)) - { - bp += ACE_OS::strlen (bp); - *bp++ = '}'; - } - *bp = '\0'; - - ACE_Log_Msg::msg_off_ = osave; - break; - } - case 'S': // format the string associated with this signal number. - { - int sig = va_arg (argp, int); - type = SKIP_SPRINTF; -#if defined (ACE_HAS_SYS_SIGLIST) - if (sig >= 0 && sig < ACE_NSIG) - ACE_OS::strcpy (bp, _sys_siglist[sig]); - else - ACE_OS::sprintf (bp, " %d", sig); -#else - ACE_OS::sprintf (bp, "signal %d", sig); -#endif /* ACE_HAS_SYS_SIGLIST */ - break; - } - case 'D': // Format the timestamp in month/day/year hour:minute:sec:usec format. - { - type = SKIP_SPRINTF; - char day_and_time[35]; - ACE::timestamp (day_and_time, - sizeof day_and_time); - ACE_OS::sprintf (bp, "%s", day_and_time); - break; - } - case 'T': // Format the timestamp in hour:minute:sec:usec format. - { - type = SKIP_SPRINTF; - char day_and_time[35]; - ACE_OS::sprintf (bp, - "%s", - ACE::timestamp (day_and_time, - sizeof day_and_time)); - break; - } - case 't': // Format thread id. - type = SKIP_SPRINTF; -#if defined (ACE_WIN32) - ACE_OS::sprintf (bp, "%u", ACE_Thread::self ()); -#elif defined (AIX) - // AIX's pthread_t (ACE_hthread_t) is a pointer, and it's - // a little ugly to send that through a %u format. So, - // get the kernel thread ID (tid_t) via thread_self() and - // display that instead. - // This isn't conditionalized on ACE_HAS_THREAD_SELF because - // 1. AIX 4.2 doesn't have that def anymore (it messes up - // other things) - // 2. OSF/1 V3.2 has that def, and I'm not sure what affect - // this would have on that. - // -Steve Huston, 19-Aug-97 - ACE_OS::sprintf (bp, "%u", thread_self()); -#else - ACE_hthread_t t_id; - ACE_Thread::self (t_id); - ACE_OS::sprintf (bp, "%u", t_id); -#endif /* ACE_WIN32 */ - break; - case 's': - type = 1 + wpc; // 1, 2, 3 - break; - case 'W': - // @@ UNICODE - case 'd': case 'c': case 'i': case 'o': - case 'u': case 'x': case 'X': - type = 4 + wpc; // 4, 5, 6 - break; - case 'F': case 'f': case 'e': case 'E': - case 'g': case 'G': - type = 7 + wpc; // 7, 8, 9 - break; - case '*': // consume width/precision - w[wpc++] = va_arg (argp, int); - break; - default: - // ? - break; - } - } - - if (type != SKIP_SPRINTF) - { - c = *format; // Remember char before we overwrite. - *format = 0; // Overwrite, terminating format. - - switch (type) - { - case 1: - ACE_OS::sprintf (bp, fp, va_arg (argp, char *)); - break; - case 2: - ACE_OS::sprintf (bp, fp, w[0], va_arg (argp, char *)); - bp += w[0]; - type = SKIP_NUL_LOCATE; - break; - case 3: - ACE_OS::sprintf (bp, fp, w[0], w[1], va_arg (argp, char *)); - bp += w[0]; - type = SKIP_NUL_LOCATE; - break; - case 4: - ACE_OS::sprintf (bp, fp, va_arg (argp, int)); - break; - case 5: - ACE_OS::sprintf (bp, fp, w[0], va_arg (argp, int)); - break; - case 6: - ACE_OS::sprintf (bp, fp, w[0], w[1], va_arg (argp, int)); - break; - case 7: - ACE_OS::sprintf (bp, fp, va_arg (argp, double)); - break; - case 8: - ACE_OS::sprintf (bp, fp, w[0], va_arg (argp, double)); - break; - case 9: - ACE_OS::sprintf (bp, fp, w[0], w[1], va_arg (argp, double)); - break; - } - *format = c; // Restore char we overwrote. - } - - if (type != SKIP_NUL_LOCATE) - while (*bp != '\0') // Locate end of bp. - bp++; - } - } - - *bp = '\0'; // Terminate bp, but don't auto-increment this! - - ACE_OS::free (ACE_MALLOC_T (save_p)); - - // Write the to the appropriate location. - ssize_t result = this->log (log_record, abort_prog); - - if (abort_prog) - { - // *Always* print a message to stderr if we're aborting. We - // don't use verbose, however, to avoid recursive aborts if - // something is hosed. - log_record.print (ACE_Log_Msg::local_host_, 0); - ACE_OS::exit (exit_value); - } - - return result; -} - -ssize_t -ACE_Log_Msg::log (ACE_Log_Record &log_record, - int suppress_stderr) -{ - ssize_t result = 0; - - // Only print the message if "SILENT" mode is disabled. - if (ACE_BIT_DISABLED (ACE_Log_Msg::flags_, - ACE_Log_Msg::SILENT)) - { - // Copy the message from thread-specific storage into the - // transfer buffer (this can be optimized away by changing other - // code...). - log_record.msg_data (this->msg ()); - this->stop_tracing (); - -#if !defined (ACE_WIN32) - // Make this block signal-safe. - ACE_Sig_Guard sb; -#endif /* ACE_WIN32 */ - - // Make sure that the lock is held during all this. - ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ACE_Log_Msg_Manager::get_lock (), -1)); - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, - ACE_Log_Msg::STDERR) - && !suppress_stderr) // This is taken care of by our caller. - log_record.print (ACE_Log_Msg::local_host_, - ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::VERBOSE), - stderr); - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, - ACE_Log_Msg::LOGGER)) - { -#if defined (ACE_HAS_STREAM_PIPES) - ACE_Str_Buf log_msg ((void *) &log_record, - int (log_record.length ())); - - // Try to use the API if possible in order to - // ensure correct message queueing according to priority. - result = ACE_Log_Msg_message_queue->send ((const ACE_Str_Buf *) 0, - &log_msg, - int (log_record.priority ()), - MSG_BAND); -#else - // We're running over sockets, so we'll need to indicate the - // number of bytes to send. - result = ACE_Log_Msg_message_queue->send_n ((void *) &log_record, - log_record.length ()); -#endif /* ACE_HAS_STREAM_PIPES */ - } - // Format the message and print it to stderr and/or ship it off - // to the log_client daemon, and/or print it to the ostream. - // This must come last, after the other two print operations - // (see the ACE_Log_Record::print method for details). - - if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, - ACE_Log_Msg::OSTREAM) - && this->msg_ostream () != 0) - log_record.print (ACE_Log_Msg::local_host_, - ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::VERBOSE), - *this->msg_ostream ()); - this->start_tracing (); - } - - return result; -} - -// Calls log to do the actual print, but formats first. - -int -ACE_Log_Msg::log_hexdump (ACE_Log_Priority log_priority, - const char *buffer, - int size, - const char *text) -{ - char buf[ACE_Log_Record::MAXLOGMSGLEN - ACE_Log_Record::VERBOSE_LEN - 58]; - // 58 for the HEXDUMP header; - - char msg_buf[80]; - - buf[0] = 0; // in case size = 0 - - int len = ACE::format_hexdump (buffer, size, buf, sizeof buf); - - int sz = 0; - - if (text) - sz = ACE_OS::sprintf (msg_buf, "%s - ", text); - - sz += ACE_OS::sprintf (msg_buf + sz, "HEXDUMP %d bytes", size); - - if (len < size) - ACE_OS::sprintf (msg_buf + sz, " (showing first %d bytes)", len); - - // Now print out the formatted buffer. - this->log (log_priority, "%s\n%s", msg_buf, buf); - return 0; -} - -void -ACE_Log_Msg::set (const char *filename, - int line, - int status, - int err, - int rs, - ostream *os) -{ - ACE_TRACE ("ACE_Log_Msg::set"); - this->file (filename); - this->linenum (line); - this->op_status (status); - this->errnum (err); - this->restart (rs); - this->msg_ostream (os); -} - -void -ACE_Log_Msg::dump (void) const -{ - ACE_TRACE ("ACE_Log_Msg::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "status_ = %d\n", this->status_)); - ACE_DEBUG ((LM_DEBUG, "\nerrnum_ = %d\n", this->errnum_)); - ACE_DEBUG ((LM_DEBUG, "\nlinenum_ = %d\n", this->linenum_)); - ACE_DEBUG ((LM_DEBUG, "\nfile_ = %s\n", this->file_)); - ACE_DEBUG ((LM_DEBUG, "\nmsg_ = %s\n", this->msg_)); - ACE_DEBUG ((LM_DEBUG, "\nrestart_ = %d\n", this->restart_)); - ACE_DEBUG ((LM_DEBUG, "\nostream_ = %x\n", this->ostream_)); - ACE_DEBUG ((LM_DEBUG, "\nprogram_name_ = %s\n", this->program_name_ ? this->program_name_ : "")); - ACE_DEBUG ((LM_DEBUG, "\nlocal_host_ = %s\n", this->local_host_ ? this->local_host_ : "")); - ACE_DEBUG ((LM_DEBUG, "\npid_ = %d\n", this->getpid ())); - ACE_DEBUG ((LM_DEBUG, "\nflags_ = %x\n", this->flags_)); - ACE_DEBUG ((LM_DEBUG, "\ntrace_depth_ = %d\n", this->trace_depth_)); - ACE_DEBUG ((LM_DEBUG, "\trace_active_ = %d\n", this->trace_active_)); - ACE_DEBUG ((LM_DEBUG, "\tracing_enabled_ = %d\n", this->tracing_enabled_)); - ACE_DEBUG ((LM_DEBUG, "\npriority_mask_ = %d\n", this->priority_mask_)); - if (this->thr_desc_ != 0 && this->thr_desc_->state () != 0) - ACE_DEBUG ((LM_DEBUG, "\thr_state_ = %d\n", - this->thr_desc_->state ())); - ACE_DEBUG ((LM_DEBUG, "\nmsg_off_ = %d\n", this->msg_off_)); - ACE_Log_Msg_message_queue->dump (); - - ACE_MT (ACE_Log_Msg_Manager::get_lock ()->dump ()); - // Synchronize output operations. - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_Log_Msg::op_status (int status) -{ - this->status_ = status; -} - -int -ACE_Log_Msg::op_status (void) -{ - return this->status_; -} - -void -ACE_Log_Msg::restart (int r) -{ - this->restart_ = r; -} - -int -ACE_Log_Msg::restart (void) -{ - return this->restart_; -} - -int -ACE_Log_Msg::errnum (void) -{ - return this->errnum_; -} - -void -ACE_Log_Msg::errnum (int e) -{ - this->errnum_ = e; -} - -int -ACE_Log_Msg::linenum (void) -{ - return this->linenum_; -} - -void -ACE_Log_Msg::linenum (int l) -{ - this->linenum_ = l; -} - -int -ACE_Log_Msg::inc (void) -{ - return this->trace_depth_++; -} - -int -ACE_Log_Msg::dec (void) -{ - return --this->trace_depth_; -} - -int -ACE_Log_Msg::trace_depth (void) -{ - return this->trace_depth_; -} - -void -ACE_Log_Msg::trace_depth (int depth) -{ - this->trace_depth_ = depth; -} - -int -ACE_Log_Msg::trace_active (void) -{ - return this->trace_active_; -} - -void -ACE_Log_Msg::trace_active (int value) -{ - this->trace_active_ = value; -} - -ACE_Thread_Descriptor * -ACE_Log_Msg::thr_desc (void) const -{ - return this->thr_desc_; -} - -void -ACE_Log_Msg::thr_desc (ACE_Thread_Descriptor *td, - ACE_Thread_Manager *thr_mgr) -{ - this->thr_desc_ = td; - - if (thr_mgr != 0) - thr_mgr->acquire_release (); -} - -// Enable the tracing facility on a per-thread basis. - -void -ACE_Log_Msg::start_tracing (void) -{ - this->tracing_enabled_ = 1; -} - -// Disable the tracing facility on a per-thread basis. - -void -ACE_Log_Msg::stop_tracing (void) -{ - this->tracing_enabled_ = 0; -} - -int -ACE_Log_Msg::tracing_enabled (void) -{ - return this->tracing_enabled_; -} - -const char * -ACE_Log_Msg::file (void) -{ - return this->file_; -} - -void -ACE_Log_Msg::file (const char *s) -{ - ACE_OS::strncpy (this->file_, s, - (sizeof this->file_ / sizeof (char))); -} - -const char * -ACE_Log_Msg::msg (void) -{ - return this->msg_ + ACE_Log_Msg::msg_off_; -} - -void -ACE_Log_Msg::msg (const char *m) -{ - ACE_OS::strncpy (this->msg_, m, - (sizeof this->msg_ / sizeof (char))); -} - -ostream * -ACE_Log_Msg::msg_ostream (void) -{ - return this->ostream_; -} - -void -ACE_Log_Msg::msg_ostream (ostream *m) -{ - this->ostream_ = m; -} - -void -ACE_Log_Msg::local_host (const char *s) -{ - if (s) - { - ACE_OS::free ((void *) ACE_Log_Msg::local_host_); - { - ACE_NO_HEAP_CHECK; - - ACE_ALLOCATOR (ACE_Log_Msg::local_host_, ACE_OS::strdup (s)); - } - } -} - -const char * -ACE_Log_Msg::local_host (void) const -{ - return ACE_Log_Msg::local_host_; -} - -pid_t -ACE_Log_Msg::getpid (void) const -{ - if (ACE_Log_Msg::pid_ == -1) - ACE_Log_Msg::pid_ = ACE_OS::getpid (); - - return ACE_Log_Msg::pid_; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -# if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE == 0) - template class ACE_Cleanup_Adapter; -# endif /* ! ACE_MT_SAFE */ -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -# if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE == 0) -# pragma instantiate ACE_Cleanup_Adapter -# endif /* ! ACE_MT_SAFE */ -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ace/Log_Msg.h b/ace/Log_Msg.h deleted file mode 100644 index 5baf64d6823..00000000000 --- a/ace/Log_Msg.h +++ /dev/null @@ -1,413 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Log_Msg.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOG_MSG_H) -#define ACE_LOG_MSG_H - -// This stuff must come first to avoid problems with circular -// headers... - -// The following ASSERT macro is courtesy of Alexandre Karev -// . -#if defined (ACE_NDEBUG) -#define ACE_ASSERT(x) -#else -#define ACE_ASSERT(X) \ - do { if(!(X)) { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, -1, __ace_error, ace___->restart (), ace___->msg_ostream ()); \ - ace___->log (LM_ERROR, "ACE_ASSERT: file %N, line %l assertion failed for '%s'.%a\n", #X, -1); \ - } } while (0) -#endif /* ACE_NDEBUG */ - -#if defined (ACE_NLOGGING) -#define ACE_HEX_DUMP(X) -#define ACE_RETURN(Y) do { return (Y); } while (0) -#define ACE_ERROR_RETURN(X, Y) return (Y) -#define ACE_ERROR_BREAK(X) { break; } -#define ACE_ERROR(X) -#define ACE_DEBUG(X) -#define ACE_ERROR_INIT(VALUE, FLAGS) -#else -#define ACE_HEX_DUMP(X) \ - do { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, 0, __ace_error, ace___->restart (), \ - ace___->msg_ostream ()); \ - ace___->log_hexdump X; \ - } while (0) -#define ACE_RETURN(Y) \ - do { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg::instance ()->set (__FILE__, __LINE__, Y, __ace_error); \ - return Y; \ - } while (0) -#define ACE_ERROR_RETURN(X, Y) \ - do { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, Y, __ace_error, ace___->restart (), ace___->msg_ostream ()); \ - ace___->log X; \ - return Y; \ - } while (0) -#define ACE_ERROR(X) \ - do { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, -1, __ace_error, ace___->restart (), ace___->msg_ostream ()); \ - ace___->log X; \ - } while (0) -#define ACE_DEBUG(X) \ - do { \ - int __ace_error = ACE_OS::last_error (); \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set (__FILE__, __LINE__, 0, __ace_error, ace___->restart (), ace___->msg_ostream ()); \ - ace___->log X; \ - } while (0) -#define ACE_ERROR_INIT(VALUE, FLAGS) \ - do { \ - ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \ - ace___->set_flags (FLAGS); ace___->op_status (VALUE); \ - } while (0) -#define ACE_ERROR_BREAK(X) { ACE_ERROR (X); break; } -#endif /* ACE_NLOGGING */ - -#include "ace/Log_Record.h" - -#if defined (__Lynx__) -# undef STDERR -#endif - -#define ACE_LOG_MSG ACE_Log_Msg::instance () - -// Forward declaration - -class ACE_Thread_Descriptor; - -class ACE_Export ACE_Log_Msg -{ - // = TITLE - // Provides a variable length argument message logging - // abstraction. - // - // = DESCRIPTION - // This class is very flexible since it allows formatted error - // messages to be printed in a thread-safe manner to stderr or a - // distributed logger. Moreover, the message is kept in a - // thread-specific storage location, which can be used to - // communicate errors between framework methods and callers. -public: - // Logger Flags. - enum - { - STDERR = 01, - // Write messages to stderr. - LOGGER = 02, - // Write messages to the local client logger deamon. - OSTREAM = 04, - // Write messages to the ostream * stored in thread-specific - // storage. - VERBOSE = 010, - // Display messages in a verbose manner. - SILENT = 020 - // Do not print messages at all (just leave in thread-specific - // storage for later inspection). - }; - - // = Initialization and termination routines. - - static ACE_Log_Msg *instance (void); - // Returns a pointer to the Singleton. - - static int exists(void); - // Returns non-null if an ACE_Log_Msg exists for the calling thread. - - ACE_Log_Msg (void); - // Initialize logger. - - ~ACE_Log_Msg (void); - // cleanup logger. - - int open (const char *prog_name, - u_long options_flags = ACE_Log_Msg::STDERR, - LPCTSTR logger_key = 0); - // Initialize the ACE error handling facility. is the - // name of the executable program. are a bitwise-or of - // options flags passed to the Logger (see the enum above for the valid - // values). If the bit in is enabled then - // is the name of ACE_FIFO rendezvous point where the - // local client logger daemon is listening for logging messages. - - // = Set/get the options flags. - - void set_flags (u_long f); - // Enable the bits in the logger's options flags. - void clr_flags (u_long f); - // Disable the bits in the logger's options flags. - u_long flags (void); - // Return the bits in the logger's options flags. - - // = Allow apps to acquire and release internal synchronization lock. - - // This lock is used internally by the implementation. - // By exporting the lock, applications can hold the lock atomically - // over a number of calls to . - int acquire (void); - // Acquire the internal lock. - int release (void); - // Release the internal lock. - - void sync (const char *program_name); - // Call after doing a to resynchronize the process id and - // variables. - - // = Set/get methods. Note that these are non-static and thus will - // be thread-specific. - - void op_status (int status); - // Set the result of the operation status (by convention, -1 means - // error). - - int op_status (void); - // Get the result of the operation status (by convention, -1 means - // error). - - void errnum (int); - // Set the value of the errnum (by convention this corresponds to - // errno). - - int errnum (void); - // Get the value of the errnum (by convention this corresponds to - // errno). - - void linenum (int); - // Set the line number where an error occurred. - - int linenum (void); - // Get the line number where an error occurred. - - void file (const char *); - // Set the file name where an error occurred. - - const char *file (void); - // Get the file name where an error occurred. - - void msg (const char *); - // Set the message that describes what type of error occurred. - - const char *msg (void); - // Get the message that describes what type of error occurred. - - void restart (int); - // Set the field that indicates whether interrupted calls should be - // restarted. - - int restart (void); - // Get the field that indicates whether interrupted calls should be - // restarted. - - void msg_ostream (ostream *); - // Set the ostream that is used to print error messages. - - ostream *msg_ostream (void); - // Get the ostream that is used to print error messages. - - // = Nesting depth increment and decrement. - int inc (void); - int dec (void); - - // = Get/set trace depth. - int trace_depth (void); - void trace_depth (int); - - // = Get/set trace active status. - int trace_active (void); - void trace_active (int value); - - ACE_Thread_Descriptor *thr_desc (void) const; - // Get the TSS thread descriptor. - - void thr_desc (ACE_Thread_Descriptor *td, - ACE_Thread_Manager *thr_mgr = 0); - // Set the TSS thread descriptor. This method will call - // thr_mgr->acquire_release to block execution until this call - // return. - - // = Stop/start/query tracing status on a per-thread basis... - void stop_tracing (void); - void start_tracing (void); - int tracing_enabled (void); - - // = Get/set the priority mask. - u_long priority_mask (void); - // Get the current mask. - u_long priority_mask (u_long); - // Set the mask, returns original mask. - - int log_priority_enabled (ACE_Log_Priority log_priority); - // Return true if the requested priority is enabled. - - pid_t getpid (void) const; - // Optimize reading of the pid (avoids a system call if the value is - // cached...). - - // = Set/get the name of the local host. - const char *local_host (void) const; - void local_host (const char *); - - void set (const char *file, - int line, - int op_status = -1, - int errnum = 0, - int restart = 1, - ostream *os = 0); - // Set the line number, file name, operational status, error number, - // restart flag, and ostream. This combines all the other set - // methods into a single method. - - ssize_t log (ACE_Log_Priority priority, const char *format, ...); - // Format a message to the thread-safe ACE logging mechanism. Valid - // options (prefixed by '%', as in printf format strings) include: - // 'a': exit the program at this point (var-argument is the exit status!) - // 'c': print a character - // 'i', 'd': print a decimal number - // 'I', indent according to nesting depth - // 'e', 'E', 'f', 'F', 'g', 'G': print a double - // 'l', print line number where an error occurred. - // 'N': print file name where the error occurred. - // 'n': print the name of the program (or "" if not set) - // 'o': print as an octal number - // 'P': print out the current process id - // 'p': print out the appropriate errno value from sys_errlist - // 'r': call the function pointed to by the corresponding argument - // 'R': print return status - // 'S': print out the appropriate _sys_siglist entry corresponding to var-argument. - // 's': print out a character string - // 'T': print timestamp in hour:minute:sec:usec format. - // 'D': print timestamp in month/day/year hour:minute:sec:usec format. - // 't': print thread id (1 if single-threaded) - // 'u': print as unsigned int - // 'X', 'x': print as a hex number - // '%': print out a single percent sign, '%' - - ssize_t log (const char *format, - ACE_Log_Priority priority, - va_list argp); - // An alternative logging mechanism that makes it possible to - // integrate variable argument lists from other logging mechanisms - // into the ACE mechanism. - - ssize_t log (ACE_Log_Record &log_record, - int suppress_stderr = 0); - // Log a custom built log record to the currently enabled logging - // sinks. - - int log_hexdump (ACE_Log_Priority log_priority, - const char *buffer, - int size, - const char *text = 0); - // Method to log hex dump. This is useful for debugging. Calls - // to do the actual print, but formats first to make the chars - // printable. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - int status_; - // Status of operation (-1 means failure, >= 0 means success). - - int errnum_; - // Type of error that occurred (see ). - - int linenum_; - // Line number where the error occurred. - - char file_[MAXPATHLEN + 1]; - // File where the error occurred. - - char msg_[ACE_Log_Record::MAXLOGMSGLEN]; - // The error message. - - int restart_; - // Indicates whether we should restart system calls that are - // interrupted. - - ostream *ostream_; - // The ostream where logging messages can be written. - - int trace_depth_; - // Depth of the nesting for printing traces. - - int trace_active_; - // Are we already within an ACE_Trace constructor call? - - int tracing_enabled_; - // Are we allowing tracing in this thread? - - ACE_Thread_Descriptor *thr_desc_; - // If we're running in the context of an this - // will point to the thread descriptor adapter which holds the - // thread descriptor of the thread. This can be used to repidly - // access all thread data kept in . - - u_long priority_mask_; - // Keeps track of all the values that are - // currently enabled. Default is for all logging priorities to be - // enabled. - - // = The following fields are *not* kept in thread-specific storage. - - // We only want one instance for the entire process! - - static const char *program_name_; - // Records the program name. - - static const char *local_host_; - // Name of the local host (used when printing messages). - - static pid_t pid_; - // Process id of the current process. - - static u_long flags_; - // Options flags. - - static int msg_off_; - // Offset of msg_[]. - - static int instance_count_; - // Number of existing Log_Msg instances; when 0, delete program/host - // names - - static void close (void); - // For cleanup, at program termination. - - friend void ACE_OS::cleanup_tss (const u_int); - - // = Disallow these operations. - ACE_Log_Msg &operator= (const ACE_Log_Msg &); - ACE_Log_Msg (const ACE_Log_Msg &); -}; - -// #if defined (__ACE_INLINE__) -// #include "ace/Log_Msg.i" -// #endif /* __ACE_INLINE__ */ -#endif /* ACE_LOG_MSG_H */ diff --git a/ace/Log_Msg.i b/ace/Log_Msg.i deleted file mode 100644 index 20edd3a6058..00000000000 --- a/ace/Log_Msg.i +++ /dev/null @@ -1,6 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Log_Msg.i - - diff --git a/ace/Log_Priority.h b/ace/Log_Priority.h deleted file mode 100644 index 76040e7cc6b..00000000000 --- a/ace/Log_Priority.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Log_Priority.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_LOG_PRIORITY_H) -#define ACE_LOG_PRIORITY_H - -enum ACE_Log_Priority -{ - // = TITLE - // This data type indicates the relative priorities of the - // logging messages, from lowest to highest priority. - // - // = DESCRIPTION - // These values are defined using powers of two so that it's - // possible to form a mask to turn them on or off dynamically. - - // = Note, this first argument *must* start at 1! - - LM_SHUTDOWN = 01, - // Shutdown the logger (decimal 1). - - LM_TRACE = 02, - // Messages indicating function-calling sequence (decimal 2). - - LM_DEBUG = 04, - // Messages that contain information normally of use only when - // debugging a program (decimal 4). - - LM_INFO = 010, - // Informational messages (decimal 8). - - LM_NOTICE = 020, - // Conditions that are not error conditions, but that may require - // special handling (decimal 16). - - LM_WARNING = 040, - // Warning messages (decimal 32). - - LM_STARTUP = 0100, - // Initialize the logger (decimal 64). - - LM_ERROR = 0200, - // Error messages (decimal 128). - - LM_CRITICAL = 0400, - // Critical conditions, such as hard device errors (decimal 256). - - LM_ALERT = 01000, - // A condition that should be corrected immediately, such as a - // corrupted system database (decimal 512). - - LM_EMERGENCY = 02000, - // A panic condition. This is normally broadcast to all users - // (decimal 1024). - - LM_MAX = LM_EMERGENCY, - // The maximum logging priority. - - // Do not use!!, this enum value ensures that the underlying - // integral type for this enum is at least 32 bits. -#if !defined (ACE_HAS_BROKEN_ENUMS) - ENSURE_32_BITS = 0xFFFFFFFF -#else - ENSURE_32_BITS = 0x1FFFFFFF - // HP/CXX makes an error the usage of "long enumerators", but this - // one (that requires 29 bits) is OK.... only HP can come up with - // something like that... -#endif /* ACE_HAS_BROKEN_ENUMS */ -}; - -#endif /* ACE_LOG_PRIORITY_H */ - diff --git a/ace/Log_Record.cpp b/ace/Log_Record.cpp deleted file mode 100644 index 32b0fa1ff19..00000000000 --- a/ace/Log_Record.cpp +++ /dev/null @@ -1,175 +0,0 @@ -// Log_Record.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Log_Record.h" -#include "ace/streams.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_Log_Record) - -u_long -ACE_Log_Record::priority (void) const -{ - ACE_TRACE ("ACE_Log_Record::priority"); - return ACE::log2 (this->type_); -} - -void -ACE_Log_Record::priority (u_long p) -{ - ACE_TRACE ("ACE_Log_Record::priority"); - this->type_ = ACE::log2 (p); -} - -void -ACE_Log_Record::dump (void) const -{ - // ACE_TRACE ("ACE_Log_Record::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "length_ = %d\n", this->length_)); - ACE_DEBUG ((LM_DEBUG, "\ntype_ = %d\n", this->type_)); - ACE_DEBUG ((LM_DEBUG, "\ntime_stamp_ = (%d, %d)\n", this->time_stamp_.sec (), this->time_stamp_.usec ())); - ACE_DEBUG ((LM_DEBUG, "\npid_ = %d\n", this->pid_)); - ACE_DEBUG ((LM_DEBUG, "\nmsg_data_ = %s\n", this->msg_data_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_Log_Record::msg_data (const char *data) -{ - // ACE_TRACE ("ACE_Log_Record::msg_data"); - ACE_OS::strncpy (this->msg_data_, data, ACE_Log_Record::MAXLOGMSGLEN); - this->round_up (); -} - -ACE_Log_Record::ACE_Log_Record (ACE_Log_Priority lp, - long ts_sec, - long p) - : length_ (0), - type_ (long (lp)), - time_stamp_ (ts_sec), - pid_ (p) -{ - // ACE_TRACE ("ACE_Log_Record::ACE_Log_Record"); -} - -ACE_Log_Record::ACE_Log_Record (ACE_Log_Priority lp, - const ACE_Time_Value &ts, - long p) - : length_ (0), - type_ (long (lp)), - time_stamp_ (ts), - pid_ (p) -{ - // ACE_TRACE ("ACE_Log_Record::ACE_Log_Record"); -} - -void -ACE_Log_Record::round_up (void) -{ - // ACE_TRACE ("ACE_Log_Record::round_up"); - // Determine the length of the payload. - int len = (sizeof *this - MAXLOGMSGLEN) - + (ACE_OS::strlen (this->msg_data_) + 1); - - // Round up to the alignment. - this->length_ = 1 + ((len + ACE_Log_Record::ALIGN_WORDB - 1) - & ~(ACE_Log_Record::ALIGN_WORDB - 1)); -} - -ACE_Log_Record::ACE_Log_Record (void) - : length_ (0), - type_ (0), - time_stamp_ (0L), - pid_ (0) -{ - // ACE_TRACE ("ACE_Log_Record::ACE_Log_Record"); -} - -// Print out the record on the stderr stream with the appropriate -// format. - -int -ACE_Log_Record::print (const char *host_name, - int verbose, - FILE *fp) -{ - // ACE_TRACE ("ACE_Log_Record::print"); - - int ret; - - if (verbose) - { - time_t now = this->time_stamp_.sec (); - char ctp[26]; // 26 is a magic number... - - if (ACE_OS::ctime_r (&now, ctp, sizeof ctp) == 0) - return -1; - - /* 01234567890123456789012345 */ - /* Wed Oct 18 14:25:36 1989n0 */ - - ctp[19] = '\0'; // NUL-terminate after the time. - ctp[24] = '\0'; // NUL-terminate after the date. - - const char *lhost_name = host_name == 0 ? "" : host_name; - - ret = ACE_OS::fprintf (fp, "%s.%d %s@%s@%d@%d@%s", - ctp + 4, - this->time_stamp_.usec () / 1000, - ctp + 20, - lhost_name, - this->pid_, - this->type_, - this->msg_data_); - } - else - ret = ACE_OS::fprintf (fp, "%s", this->msg_data_); - - if (ret > 0) - ACE_OS::fflush (fp); - return ret; -} - -int -ACE_Log_Record::print (const char host_name[], - int verbose, - ostream &s) -{ - // ACE_TRACE ("ACE_Log_Record::print"); - - if (verbose) - { - time_t now = this->time_stamp_.sec (); - char ctp[26]; // 26 is a magic number... - - if (ACE_OS::ctime_r (&now, ctp, sizeof ctp) == 0) - return -1; - - /* 01234567890123456789012345 */ - /* Wed Oct 18 14:25:36 1989n0 */ - - ctp[19] = '\0'; // NUL-terminate after the time. - ctp[24] = '\0'; // NUL-terminate after the date. - - const char *lhost_name = host_name == 0 ? "" : host_name; - - s << (ctp + 4) << '.' - // The following line isn't portable, so I've commented it out... - // << setw (3) << setfill ('0') << this->time_stamp_.usec () / 1000 << ' ' - << this->time_stamp_.usec () / 1000 << ' ' - << (ctp + 20) - << '@' - << lhost_name - << '@' - << this->pid_ - << '@' - << this->type_ - << '@'; - } - - s << this->msg_data_; - s.flush (); - return 0; -} diff --git a/ace/Log_Record.h b/ace/Log_Record.h deleted file mode 100644 index e5061fe2acb..00000000000 --- a/ace/Log_Record.h +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Log_Record.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -// These need to go outside of the #ifdef to avoid problems with -// circular dependencies... -#include "ace/ACE.h" -#include "ace/Log_Priority.h" - -#if !defined (ACE_LOG_RECORD_H) -#define ACE_LOG_RECORD_H - -class ACE_Export ACE_Log_Record -{ -public: - // = TITLE - // Defines the structure of an ACE logging record. - - enum - { - MAXLOGMSGLEN = ACE_MAXLOGMSGLEN, - // Maximum size of a logging message. - - ALIGN_WORDB = 8, - // Most restrictive alignment. - - VERBOSE_LEN = 128 - // Size used by verbose mode. - // 20 (date) + 15 (host_name) + 10 (pid) + 10 (type) + 4 (@) ... + - // ? (progname) - }; - - // = Initialization - ACE_Log_Record (void); - ACE_Log_Record (ACE_Log_Priority lp, - long time_stamp, - long pid); - // Create a and set its priority, time stamp, and - // process id. - ACE_Log_Record (ACE_Log_Priority lp, - const ACE_Time_Value &time_stamp, - long pid); - // Create a and set its priority, time stamp, and - // process id. - - int print (const char host_name[], - int verbose = 1, - FILE *fp = stderr); - // Write the contents of the logging record to the appropriate - // . - - int print (const char host_name[], - int verbose, - ostream &stream); - // Write the contents of the logging record to the appropriate - // . - - // = Marshall/demarshall - void encode (void); - // Encode the for transmission on the network. - - void decode (void); - // Decode the received from the network. - - // = Set/get methods - - long type (void) const; - // Get the type of the . - - void type (long); - // Set the type of the . - - u_long priority (void) const; - // Get the priority of the . This is computed - // as the base 2 logarithm of (which must be a power of 2, - // as defined by the enums in ). - - void priority (u_long num); - // Set the priority of the (which must be a - // power of 2, as defined by the enums in ). This - // is stored as the base 2 logarithm of . - - long length (void) const; - // Get the length of the . - - void length (long); - // Set the length of the . - - const ACE_Time_Value &time_stamp (void) const; - // Get the time stamp of the . - - void time_stamp (const ACE_Time_Value &); - // Set the time stamp of the . - - long pid (void) const; - // Get the process id of the . - - void pid (long); - // Set the process id of the . - - char *msg_data (void); - // Get the message data of the . - - void msg_data (const char *data); - // Set the message data of the . - - void msg_data_len (size_t len); - // Set the size of the message data of the . - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - void round_up (void); - // Round up to the alignment restrictions. - - ACE_INT32 length_; - // Total length of the logging record in bytes. This field *must* - // come first in order for various IPC framing mechanisms to work - // correctly. In addition, the field must be an ACE_INT32 in order - // to be passed portably across platforms. - - long type_; - // Type of logging record. - - ACE_Time_Value time_stamp_; - // Time that the logging record was generated. - - long pid_; - // Id of process that generated the logging record. - - char msg_data_[MAXLOGMSGLEN]; - // Logging record data -}; - -#include "ace/Log_Record.i" -#endif /* ACE_LOG_RECORD_H */ diff --git a/ace/Log_Record.i b/ace/Log_Record.i deleted file mode 100644 index 95adad5ef71..00000000000 --- a/ace/Log_Record.i +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Log_Record.i - -inline void -ACE_Log_Record::encode (void) -{ - ACE_TRACE ("ACE_Log_Record::encode"); - this->length_ = htonl (this->length_); - this->type_ = htonl (this->type_); - // Make sure we don't enclose the sec() and usec() fields until - // they've been normalized. - this->time_stamp_.sec (htonl (this->time_stamp_.sec ())); - this->time_stamp_.usec (htonl (this->time_stamp_.usec ())); - this->pid_ = htonl (this->pid_); -} - -inline void -ACE_Log_Record::decode (void) -{ - ACE_TRACE ("ACE_Log_Record::decode"); - this->time_stamp_ = ACE_Time_Value (ntohl (this->time_stamp_.sec()), - ntohl (this->time_stamp_.usec())); - this->type_ = ntohl (this->type_); - this->pid_ = ntohl (this->pid_); - this->length_ = ntohl (this->length_); -} - -inline long -ACE_Log_Record::type (void) const -{ - ACE_TRACE ("ACE_Log_Record::type"); - return this->type_; -} - -inline void -ACE_Log_Record::type (long t) -{ - ACE_TRACE ("ACE_Log_Record::type"); - this->type_ = t; -} - -inline long -ACE_Log_Record::length (void) const -{ - ACE_TRACE ("ACE_Log_Record::length"); - return this->length_; -} - -inline void -ACE_Log_Record::length (long l) -{ - ACE_TRACE ("ACE_Log_Record::length"); - this->length_ = l; -} - -inline const ACE_Time_Value & -ACE_Log_Record::time_stamp (void) const -{ - ACE_TRACE ("ACE_Log_Record::time_stamp"); - return this->time_stamp_; -} - -inline void -ACE_Log_Record::time_stamp (const ACE_Time_Value &ts) -{ - ACE_TRACE ("ACE_Log_Record::time_stamp"); - this->time_stamp_ = ts; -} - -inline long -ACE_Log_Record::pid (void) const -{ - ACE_TRACE ("ACE_Log_Record::pid"); - return this->pid_; -} - -inline void -ACE_Log_Record::pid (long p) -{ - ACE_TRACE ("ACE_Log_Record::pid"); - this->pid_ = p; -} - -inline char * -ACE_Log_Record::msg_data (void) -{ - ACE_TRACE ("ACE_Log_Record::msg_data"); - return this->msg_data_; -} - diff --git a/ace/Makefile b/ace/Makefile deleted file mode 100644 index 1bdf1bd1807..00000000000 --- a/ace/Makefile +++ /dev/null @@ -1,6345 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the entire ACE release -#---------------------------------------------------------------------------- - -MAKEFILE = Makefile -LIB = libACE.a -SHLIB = libACE.$(SOEXT) - -FILES = Log_Msg \ - ACE \ - Activation_Queue \ - Addr \ - ARGV \ - Asynch_IO \ - CORBA_Handler \ - CORBA_Ref \ - DEV \ - DEV_Addr \ - DEV_Connector \ - DEV_IO \ - Dump \ - Dynamic \ - Event_Handler \ - FIFO \ - FIFO_Recv \ - FIFO_Recv_Msg \ - FIFO_Send \ - FIFO_Send_Msg \ - FILE \ - FILE_Addr \ - FILE_Connector \ - FILE_IO \ - Get_Opt \ - Handle_Set \ - High_Res_Timer \ - INET_Addr \ - IO_Cntl_Msg \ - IO_SAP \ - IPC_SAP \ - Local_Name_Space \ - Local_Tokens \ - LSOCK \ - LSOCK_Acceptor \ - LSOCK_CODgram \ - LSOCK_Connector \ - LSOCK_Dgram \ - LSOCK_Stream \ - Log_Record \ - Malloc \ - Mem_Map \ - Memory_Pool \ - Message_Block \ - Method_Object \ - Name_Proxy \ - Name_Request_Reply \ - Name_Space \ - Naming_Context \ - Obstack \ - OS \ - Parse_Node \ - Pipe \ - Proactor \ - Process \ - Process_Manager \ - Profile_Timer \ - Reactor \ - ReactorEx \ - Read_Buffer \ - Registry \ - Registry_Name_Space \ - Remote_Name_Space \ - Remote_Tokens \ - SOCK \ - SOCK_Acceptor \ - SOCK_CODgram \ - SOCK_Connector \ - SOCK_Dgram \ - SOCK_Dgram_Bcast \ - SOCK_IO \ - SOCK_Dgram_Mcast \ - SOCK_Stream \ - SPIPE \ - SPIPE_Acceptor \ - SPIPE_Addr \ - SPIPE_Connector \ - SPIPE_Stream \ - SString \ - Sched_Params \ - Service_Config \ - Service_Manager \ - Service_Object \ - Service_Record \ - Service_Repository \ - Shared_Memory_MM \ - Shared_Memory_SV \ - Shared_Object \ - Signal \ - Strategies \ - SV_Message \ - SV_Message_Queue \ - SV_Semaphore_Complex \ - SV_Semaphore_Simple \ - SV_Shared_Memory \ - Synch \ - Synch_Options \ - System_Time \ - Task \ - TLI \ - TLI_Acceptor \ - TLI_Connector \ - TLI_Stream \ - Thread \ - Thread_Manager \ - Time_Request_Reply \ - Timer_Queue \ - Token \ - Token_Collection \ - Token_Invariants \ - Token_Manager \ - Token_Request_Reply \ - Trace \ - TTY_IO \ - UNIX_Addr \ - UPIPE_Acceptor \ - UPIPE_Connector \ - UPIPE_Stream \ - XtReactor - -TEMPLATE_FILES = \ - Acceptor \ - Array \ - Asynch_Acceptor \ - Auto_Ptr \ - Connector \ - Containers \ - Dump_T \ - Dynamic_Service \ - Event_Handler_T \ - Future \ - Hash_Map_Manager \ - IOStream \ - Local_Name_Space_T \ - Local_Tokens_T \ - Malloc_T \ - Map_Manager \ - Message_Queue \ - Module \ - Singleton \ - Strategies_T \ - Stream \ - Stream_Modules \ - Svc_Handler \ - Synch_T \ - Task_T \ - Timer_Heap_T \ - Timer_List_T \ - Timer_Queue_T \ - Timer_Wheel_T \ - Typed_SV_Message \ - Typed_SV_Message_Queue - -DEFS = $(addsuffix .h,$(FILES)) Svc_Conf_Tokens.h -DEFS += $(addsuffix .i,$(FILES)) -LSRC = $(addsuffix .cpp,$(FILES)) \ - Svc_Conf_l.cpp Svc_Conf_y.cpp -LSRC2 = $(addsuffix .cpp,$(TEMPLATE_FILES)) - -BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(WRAPPER_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(WRAPPER_ROOT)/include/makeinclude/macros.GNU -include $(WRAPPER_ROOT)/include/makeinclude/rules.common.GNU -include $(WRAPPER_ROOT)/include/makeinclude/rules.nonested.GNU -include $(WRAPPER_ROOT)/include/makeinclude/rules.lib.GNU -include $(WRAPPER_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -Svc_Conf_y.cpp: Svc_Conf.y - $(YACC) -d Svc_Conf.y - sed -e "s/char \*getenv/char *ace_foo/g" -e "s/= getenv/= ACE_OS::getenv/g" -e "s/yyerrlab://g" -e "s/yynewerror://g" -e "s/yy/ace_yy/g" -e "s/y\.tab\.c/Svc_Conf_y.cpp/g" < y.tab.c > /tmp/$@ - cp /tmp/$@ $@ - $(RM) -f /tmp/$@ y.tab.c - mv y.tab.h Svc_Conf_Tokens.h - -Svc_Conf_l.cpp: Svc_Conf.l - $(LEX) -t -I Svc_Conf.l > $@ - echo '#define ACE_BUILD_DLL' > /tmp/$@ - echo '#include "ace/config.h"' > /tmp/$@ - echo '#if defined (ACE_HAS_TERM_IOCTLS) /* to avoid conflict with sys/termios.h ECHO */' >> /tmp/$@ - echo '#undef ACE_HAS_TERM_IOCTLS' >> /tmp/$@ - echo '#endif /* ACE_HAS_TERM_IOCTLS */' >> /tmp/$@ - echo '#if defined (HPUX) || defined (VXWORKS)' >> /tmp/$@ - echo '#include "ace/OS.h"' >> /tmp/$@ - echo '#endif /* HPUX || VXWORKS */' >> /tmp/$@ - sed -e "s/unistd/stdio/g" -e "s/yy/ace_yy/g" -e "s/free( ptr );/free( ACE_MALLOC_T (ptr) );/g" -e "s/realloc( ptr, size );/realloc( ACE_MALLOC_T (ptr), size );/g" -e "s@#include <@#include /**/ <@" < $@ >> /tmp/$@ - cp /tmp/$@ $@ - $(RM) -f /tmp/$@ - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/Log_Msg.o .shobj/Log_Msg.so: Log_Msg.cpp \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send_Msg.h \ - $(WRAPPER_ROOT)/ace/FIFO_Send.h \ - $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send_Msg.i -.obj/ACE.o .shobj/ACE.so: ACE.cpp $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i -.obj/Activation_Queue.o .shobj/Activation_Queue.so: Activation_Queue.cpp \ - $(WRAPPER_ROOT)/ace/Activation_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/acContainers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_CnMsg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Method_Object.h -.obj/Addr.o .shobj/Addr.so: Addr.cpp $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.i -.obj/ARGV.o .shobj/ARGV.so: ARGV.cpp $(WRAPPER_ROOT)/ace/ARGV.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/ARGV.i -.obj/Asynch_IO.o .shobj/Asynch_IO.so: Asynch_IO.cpp \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i -.obj/CORBA_Handler.o .shobj/CORBA_Handler.so: CORBA_Handler.cpp \ - $(WRAPPER_ROOT)/ace/CORBA_Handler.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h -.obj/CORBA_Ref.o .shobj/CORBA_Ref.so: CORBA_Ref.cpp \ - $(WRAPPER_ROOT)/ace/CORBA_Ref.h \ - $(WRAPPER_ROOT)/ace/CORBA_Ref.i -.obj/DEV.o .shobj/DEV.so: DEV.cpp $(WRAPPER_ROOT)/ace/DEV.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/DEV.i -.obj/DEV_Addr.o .shobj/DEV_Addr.so: DEV_Addr.cpp \ - $(WRAPPER_ROOT)/ace/DEV_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/DEV_Connector.o .shobj/DEV_Connector.so: DEV_Connector.cpp \ - $(WRAPPER_ROOT)/ace/DEV_Connector.h \ - $(WRAPPER_ROOT)/ace/DEV_IO.h \ - $(WRAPPER_ROOT)/ace/DEV.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/DEV.i \ - $(WRAPPER_ROOT)/ace/DEV_IO.i \ - $(WRAPPER_ROOT)/ace/DEV_Connector.i -.obj/DEV_IO.o .shobj/DEV_IO.so: DEV_IO.cpp \ - $(WRAPPER_ROOT)/ace/DEV_IO.h \ - $(WRAPPER_ROOT)/ace/DEV.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/DEV.i \ - $(WRAPPER_ROOT)/ace/DEV_IO.i -.obj/Dump.o .shobj/Dump.so: Dump.cpp $(WRAPPER_ROOT)/ace/Dump.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Dump_T.h -.obj/Dynamic.o .shobj/Dynamic.so: Dynamic.cpp \ - $(WRAPPER_ROOT)/ace/Dynamic.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Dynamic.i -.obj/Event_Handler.o .shobj/Event_Handler.so: Event_Handler.cpp \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i -.obj/FIFO.o .shobj/FIFO.so: FIFO.cpp $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i -.obj/FIFO_Recv.o .shobj/FIFO_Recv.so: FIFO_Recv.cpp \ - $(WRAPPER_ROOT)/ace/FIFO_Recv.h \ - $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i \ - $(WRAPPER_ROOT)/ace/FIFO_Recv.i -.obj/FIFO_Recv_Msg.o .shobj/FIFO_Recv_Msg.so: FIFO_Recv_Msg.cpp \ - $(WRAPPER_ROOT)/ace/FIFO_Recv_Msg.h \ - $(WRAPPER_ROOT)/ace/FIFO_Recv.h \ - $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i \ - $(WRAPPER_ROOT)/ace/FIFO_Recv.i \ - $(WRAPPER_ROOT)/ace/FIFO_Recv_Msg.i -.obj/FIFO_Send.o .shobj/FIFO_Send.so: FIFO_Send.cpp \ - $(WRAPPER_ROOT)/ace/FIFO_Send.h \ - $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send.i -.obj/FIFO_Send_Msg.o .shobj/FIFO_Send_Msg.so: FIFO_Send_Msg.cpp \ - $(WRAPPER_ROOT)/ace/FIFO_Send_Msg.h \ - $(WRAPPER_ROOT)/ace/FIFO_Send.h \ - $(WRAPPER_ROOT)/ace/FIFO.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/FIFO.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send.i \ - $(WRAPPER_ROOT)/ace/FIFO_Send_Msg.i -.obj/FILE.o .shobj/FILE.so: FILE.cpp $(WRAPPER_ROOT)/ace/FILE.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/FILE.i -.obj/FILE_Addr.o .shobj/FILE_Addr.so: FILE_Addr.cpp \ - $(WRAPPER_ROOT)/ace/FILE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPR_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/FILE_Connector.o .shobj/FILE_Connector.so: FILE_Connector.cpp \ - $(WRAPPER_ROOT)/ace/FILE_Connector.h \ - $(WRAPPER_ROOT)/ace/FILE_IO.h \ - $(WRAPPER_ROOT)/ace/FILE.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/FILE.i \ - $(WRAPPER_ROOT)/ace/FILE_IO.i \ - $(WRAPPER_ROOT)/ace/FILE_Connector.i -.obj/FILE_IO.o .shobj/FILE_IO.so: FILE_IO.cpp \ - $(WRAPPER_ROOT)/ace/FILE_IO.h \ - $(WRAPPER_ROOT)/ace/FILE.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/FILE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/FILE.i \ - $(WRAPPER_ROOT)/ace/FILE_IO.i -.obj/Get_Opt.o .shobj/Get_Opt.so: Get_Opt.cpp \ - $(WRAPPER_ROOT)/ace/Get_Opt.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Get_Opt.i -.obj/Handle_Set.o .shobj/Handle_Set.so: Handle_Set.cpp \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.i -.obj/High_Res_Timer.o .shobj/High_Res_Timer.so: High_Res_Timer.cpp \ - $(WRAPPER_ROOT)/ace/High_Res_Timer.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/High_Res_Timer.i -.obj/INET_Addr.o .shobj/INET_Addr.so: INET_Addr.cpp \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i -.obj/IO_Cntl_Msg.o .shobj/IO_Cntl_Msg.so: IO_Cntl_Msg.cpp -.obj/IO_SAP.o .shobj/IO_SAP.so: IO_SAP.cpp \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_SAP.i -.obj/IPC_SAP.o .shobj/IPC_SAP.so: IPC_SAP.cpp \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i -.obj/Local_Name_Space.o .shobj/Local_Name_Space.so: Local_Name_Space.cpp \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Local_Name_Space.h \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Local_Name_Space_T.h \ - $(WRAPPER_ROOT)/ace/Name_Space.h \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Naming_Context.h -.obj/Local_Tokens.o .shobj/Local_Tokens.so: Local_Tokens.cpp \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/Token_Manager.h \ - $(WRAPPER_ROOT)/ace/Token_Manager.i -.obj/LSOCK.o .shobj/LSOCK.so: LSOCK.cpp $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK.i -.obj/LSOCK_Acceptor.o .shobj/LSOCK_Acceptor.so: LSOCK_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/LSOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.h \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/LSOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Acceptor.i -.obj/LSOCK_CODgram.o .shobj/LSOCK_CODgram.so: LSOCK_CODgram.cpp \ - $(WRAPPER_ROOT)/ace/LSOCK_CODgram.h \ - $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_CODgram.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_CODgram.i \ - $(WRAPPER_ROOT)/ace/LSOCK_CODgram.i -.obj/LSOCK_Connector.o .shobj/LSOCK_Connector.so: LSOCK_Connector.cpp \ - $(WRAPPER_ROOT)/ace/LSOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.h \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.i \ - $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/LSOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Connector.i -.obj/LSOCK_Dgram.o .shobj/LSOCK_Dgram.so: LSOCK_Dgram.cpp \ - $(WRAPPER_ROOT)/ace/LSOCK_Dgram.h \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.i \ - $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/LSOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Dgram.i -.obj/LSOCK_Stream.o .shobj/LSOCK_Stream.so: LSOCK_Stream.cpp \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.h \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.i \ - $(WRAPPER_ROOT)/ace/LSOCK.h \ - $(WRAPPER_ROOT)/ace/LSOCK.i \ - $(WRAPPER_ROOT)/ace/LSOCK_Stream.i -.obj/Log_Record.o .shobj/Log_Rord.so: Log_Record.cpp \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i -.obj/Malloc.o .shobj/Malloc.so: Malloc.cpp \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i -.obj/Mem_Map.o .shobj/Mem_Map.so: Mem_Map.cpp \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.i -.obj/Memory_Pool.o .shobj/Memory_Pool.so: Memory_Pool.cpp \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i -.obj/Message_Block.o .shobj/Message_Block.so: Message_Block.cpp \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h -.obj/Method_Object.o .shobj/Method_Object.so: Method_Object.cpp \ - $(WRAPPER_ROOT)/ace/Method_Object.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i -.obj/Name_Proxy.o .shobj/Name_Proxy.so: Name_Proxy.cpp \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/Name_Request_Reply.o .shobj/Name_Request_Reply.so: Name_Request_Reply.cpp \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/Name_Space.o .shobj/Name_Space.so: Name_Space.cpp \ - $(WRAPPER_ROOT)/ace/Name_Space.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h -.obj/Naming_Context.o .shobj/Naming_Context.so: Naming_Context.cpp \ - $(WRAPPER_ROOT)/ace/Get_Opt.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Get_Opt.i \ - $(WRAPPER_ROOT)/ace/Naming_Context.h \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Name_Space.h \ - $(WRAPPER_ROOT)/ace/Remote_Name_Space.h \ - $(WRAPPER_ROOT)/ace/Local_Name_Space.h \ - $(WRAPPER_ROOT)/ace/Local_Name_Space_T.h \ - $(WRAPPER_ROOT)/ace/Registry_Name_Space.h -.obj/Obstack.o .shobj/Obstack.so: Obstack.cpp \ - $(WRAPPER_ROOT)/ace/Obstack.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i -.obj/OS.o .shobj/OS.so: OS.cpp $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Sched_Params.h \ - $(WRAPPER_ROOT)/ace/Sched_Params.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i -.obj/Parse_Node.o .shobj/Parse_Node.so: Parse_Node.cpp \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Service_Repository.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.i \ - $(WRAPPER_ROOT)/ace/Parse_Node.h \ - $(WRAPPER_ROOT)/ace/Parse_Node.i -.obj/Pipe.o .shobj/Pipe.so: Pipe.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i -.obj/Proactor.o .shobj/Proactor.so: Proactor.cpp \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h -.obj/Process.o .shobj/Process.so: Process.cpp \ - $(WRAPPER_ROOT)/ace/Process.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Process.i \ - $(WRAPPER_ROOT)/ace/ARGV.h \ - $(WRAPPER_ROOT)/ace/ARGV.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/Process_Manager.o .shobj/Process_Manager.so: Process_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Process.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Process.i \ - $(WRAPPER_ROOT)/ace/Process_Manager.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Process_Manager.i -.obj/Profile_Timer.o .shobj/Profile_Timer.so: Profile_Timer.cpp \ - $(WRAPPER_ROOT)/ace/Profile_Timer.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/High_Res_Timer.h \ - $(WRAPPER_ROOT)/ace/High_Res_Timer.i \ - $(WRAPPER_ROOT)/ace/Profile_Timer.i -.obj/Reactor.o .shobj/Reactor.so: Reactor.cpp \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i -.obj/ReactorEx.o .shobj/ReactorEx.so: ReactorEx.cpp \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_RO)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proacth \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i -.obj/Read_Buffer.o .shobj/Read_Buffer.so: Read_Buffer.cpp \ - $(WRAPPER_ROOT)/ace/Read_Buffer.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Read_Buffer.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h -.obj/Registry.o .shobj/Registry.so: Registry.cpp \ - $(WRAPPER_ROOT)/ace/Registry.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i -.obj/Registry_Name_Space.o .shobj/Registry_Name_Space.so: Registry_Name_Space.cpp \ - $(WRAPPER_ROOT)/ace/Registry_Name_Space.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i -.obj/Remote_Name_Space.o .shobj/Remote_Name_Space.so: Remote_Name_Space.cpp \ - $(WRAPPER_ROOT)/ace/Remote_Name_Space.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Name_Space.h -.obj/Remote_Tokens.o .shobj/Remote_Tokens.so: Remote_Tokens.cpp \ - $(WRAPPER_ROOT)/ace/Remote_Tokens.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/Token_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Token_Request_Reply.i \ - $(WRAPPER_ROOT)/ace/Remote_Tokens.i \ - $(WRAPPER_ROOT)/ace/Singleton.h \ - $(WRAPPER_ROOT)/ace/Singleton.i -.obj/SOCK.o .shobj/SOCK.so: SOCK.cpp $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i -.obj/SOCK_Acceptor.o .shobj/SOCK_Acceptor.so: SOCK_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i -.obj/SOCK_CODgram.o .shobj/SOCK_CODgram.so: SOCK_CODgram.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_CODgram.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_CODgram.i -.obj/SOCK_Connector.o .shobj/SOCK_Connector.so: SOCK_Connector.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i -.obj/SOCK_Dgram.o .shobj/SOCK_Dgram.so: SOCK_Dgram.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/SOCK_Dgram_Bcast.o .shobj/SOCK_Dgram_Bcast.so: SOCK_Dgram_Bcast.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram_Bcast.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram_Bcast.i -.obj/SOCK_IO.o .shobj/SOCK_IO.so: SOCK_IO.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i -.obj/SOCK_Dgram_Mcast.o .shobj/SOCK_Dgram_Mcast.so: SOCK_Dgram_Mcast.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram_Mcast.h \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.h \ - $(WRAPPER_ROOTace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Dgram_Mcast.i -.obj/SOCK_Stream.o .shobj/SOCK_Stream.so: SOCK_Stream.cpp \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i -.obj/SPIPE.o .shobj/SPIPE.so: SPIPE.cpp $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i -.obj/SPIPE_Acceptor.o .shobj/SPIPE_Acceptor.so: SPIPE_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/SPIPE_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.i -.obj/SPIPE_Addr.o .shobj/SPIPE_Addr.so: SPIPE_Addr.cpp \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/SPIPE_Connector.o .shobj/SPIPE_Connector.so: SPIPE_Connector.cpp \ - $(WRAPPER_ROOT)/ace/SPIPE_Connector.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Connector.i -.obj/SPIPE_Stream.o .shobj/SPIPE_Stream.so: SPIPE_Stream.cpp \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.i -.obj/SString.o .shobj/SString.so: SString.cpp \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/Sched_Params.o .shobj/Sched_Params.so: Sched_Params.cpp \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Sched_Params.h \ - $(WRAPPER_ROOT)/ace/Sched_Params.i -.obj/Service_Config.o .shobj/Service_Config.so: Service_Config.cpp \ - $(WRAPPER_ROOT)/ace/Svc_Conf.h \ - $(WRAPPER_ROOT)/ace/Obstack.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPEROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Parse_Node.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Parse_Node.i \ - $(WRAPPER_ROOT)/ace/Get_Opt.h \ - $(WRAPPER_ROOT)/ace/Get_Opt.i \ - $(WRAPPER_ROOT)/ace/ARGV.h \ - $(WRAPPER_ROOT)/ace/ARGV.i \ - $(WRAPPER_ROOT)/ace/Service_Manager.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/Service_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.h \ - $(WRAPPER_ROOT)/ace/Service_Repository.i \ - $(WRAPPER_ROOT)/ace/Auto_Ptr.h \ - $(WRAPPER_ROOT)/ace/Auto_Ptr.i -.obj/Service_Manager.o .shobj/Service_Manager.so: Service_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Get_Opt.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Get_Opt.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.i \ - $(WRAPPER_ROOT)/ace/Service_Manager.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/Service_Manager.i -.obj/Service_Object.o .shobj/Service_Object.so: Service_Object.cpp \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i -.obj/Service_Record.o .shobj/Service_Record.so: Service_Record.cpp \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i -.obj/Service_Repository.o .shobj/Service_Repository.so: Service_Repository.cpp \ - $(WRAPPER_ROOT)/ace/Service_Repository.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.i -.obj/Shared_Memory_MM.o .shobj/Shared_Memory_MM.so: Shared_Memory_MM.cpp \ - $(WRAPPER_ROOT)/ace/Shared_Memory_MM.h \ - $(WRAPPER_ROOT)/ace/Shared_Memory.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Shared_Memory_MM.i -.obj/Shared_Memory_SV.o .shobj/Shared_Memory_SV.so: Shared_Memory_SV.cpp \ - $(WRAPPER_ROOT)/ace/Shared_Memory_SV.h \ - $(WRAPPER_ROOT)/ace/Shared_Memory.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Shared_Memory.h \ - $(WRAPPER_ROOT)/ace/SV_Shared_Memory.i \ - $(WRAPPER_ROOT)/ace/Shared_Memory_SV.i -.obj/Shared_Object.o .shobj/Shared_Object.so: Shared_Object.cpp \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i -.obj/Signal.o .shobj/Signal.so: Signal.cpp \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i -.obj/Strategies.o .shobj/Strategies.so: Strategies.cpp \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOTace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i -.obj/SV_Message.o .shobj/SV_Message.so: SV_Message.cpp \ - $(WRAPPER_ROOT)/ace/SV_Message.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Message.i -.obj/SV_Message_Queue.o .shobj/SV_Message_Queue.so: SV_Message_Queue.cpp \ - $(WRAPPER_ROOT)/ace/SV_Message_Queue.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Message.h \ - $(WRAPPER_ROOT)/ace/SV_Message.i \ - $(WRAPPER_ROOT)/ace/SV_Message_Queue.i -.obj/SV_Semaphore_Complex.o .shobj/SV_Semaphore_Complex.so: SV_Semaphore_Complex.cpp \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i -.obj/SV_Semaphore_Simple.o .shobj/SV_Semaphore_Simple.so: SV_Semaphore_Simple.cpp \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i -.obj/SV_Shared_Memory.o .shobj/SV_Shared_Memory.so: SV_Shared_Memory.cpp \ - $(WRAPPER_ROOT)/ace/SV_Shared_Memory.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Shared_Memory.i -.obj/Synch.o .shobj/Synch.so: Synch.cpp \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i -.obj/Synch_Options.o .shobj/Synch_Options.so: Synch_Options.cpp \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i -.obj/System_Time.o .shobj/System_Time.so: System_Time.cpp \ - $(WRAPPER_ROOT)/ace/System_Time.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i -.obj/Task.o .shobj/Task.so: Task.cpp $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Module.i -.obj/TLI.o .shobj/TLI.so: TLI.cpp $(WRAPPER_ROOT)/ace/TLI.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/TLI.i -.obj/TLI_Acceptor.o .shobj/TLI_Acceptor.so: TLI_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/TLI_Acceptor.h \ - $(WRAPPER_ROOT)/ace/TLI.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/TLI.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/TLI_Stream.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/TLI_Stream.i \ - $(WRAPPER_ROOT)/ace/TLI_Acceptor.i -.obj/TLI_Connector.o .shobj/TLI_Connector.so: TLI_Connector.cpp \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/TLI_Connector.h \ - $(WRAPPER_ROOT)/ace/TLI_Stream.h \ - $(WRAPPER_ROOT)/ace/TLI.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/TLI.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/TLI_Stream.i \ - $(WRAPPER_ROOT)/ace/TLI_Connector.i -.obj/TLI_Stream.o .shobj/TLI_Stream.so: TLI_Stream.cpp \ - $(WRAPPER_ROOT)/ace/TLI_Stream.h \ - $(WRAPPER_ROOT)/ace/TLI.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/TLI.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/TLI_Stream.i -.obj/Thread.o .shobj/Thread.so: Thread.cpp \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/Thread_Manager.o .shobj/Thread_Manager.so: Thread_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i -.obj/Time_Request_Reply.o .shobj/Time_Request_Reply.so: Time_Request_Reply.cpp \ - $(WRAPPER_ROOT)/ace/Time_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i -.obj/Timer_Queue.o .shobj/Timer_Queue.so: Timer_Queue.cpp \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Logecord.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i -.obj/Token.o .shobj/Token.so: Token.cpp \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Token.i -.obj/Token_Collection.o .shobj/Token_Collection.so: Token_Collection.cpp \ - $(WRAPPER_ROOT)/ace/Token_Collection.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Token_Collection.i -.obj/Token_Invariants.o .shobj/Token_Invariants.so: Token_Invariants.cpp \ - $(WRAPPER_ROOT)/ace/Token_Invariants.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/Token_Invariants.i -.obj/Token_Manager.o .shobj/Token_Manager.so: Token_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Token_Manager.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/Token_Manager.i -.obj/Token_Request_Reply.o .shobj/Token_Request_Reply.so: Token_Request_Reply.cpp \ - $(WRAPPER_ROOT)/ace/Token_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Local_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Token_Request_Reply.i -.obj/Trace.o .shobj/Trace.so: Trace.cpp \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i -.obj/TTY_IO.o .shobj/TTY_IO.so: TTY_IO.cpp \ - $(WRAPPER_ROOT)/ace/TTY_IO.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/DEV_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/DEV_Connector.h \ - $(WRAPPER_ROOT)/ace/DEV_IO.h \ - $(WRAPPER_ROOT)/ace/DEV.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.h \ - $(WRAPPER_ROOT)/ace/IO_SAP.i \ - $(WRAPPER_ROOT)/ace/DEV.i \ - $(WRAPPER_ROOT)/ace/DEV_IO.i \ - $(WRAPPER_ROOT)/ace/DEV_Connector.i -.obj/UNIX_Addr.o .shobj/UNIX_Addr.so: UNIX_Addr.cpp \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/UNIX_Addr.i -.obj/UPIPE_Acceptor.o .shobj/UPIPE_Acceptor.so: UPIPE_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/UPIPE_Acceptor.h \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/UPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.i \ - $(WRAPPER_ROOT)/ace/UPIPE_Acceptor.i -.obj/UPIPE_Connector.o .shobj/UPIPE_Connector.so: UPIPE_Connector.cpp \ - $(WRAPPER_ROOT)/ace/UPIPE_Connector.h \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/UPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Stream.i \ - $(WRAPPER_ROOT)/ace/UPIPE_Connector.i -.obj/UPIPE_Stream.o .shobj/UPIPE_Stream.so: UPIPE_Stream.cpp \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/SPIPE.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/SPIPE_Addr.i \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/SPIPE.i \ - $(WRAPPER_ROOT)/ace/UPIPE_Addr.h \ - $(WRAPPER_ROOT)/ace/UPIPE_Stream.i -.obj/XtReactor.o .shobj/XtReactor.so: XtReactor.cpp \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Acceptor.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/XtReactor.h \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i -.obj/Svc_Conf_l.o .shobj/Svc_Conf_l.so: Svc_Conf_l.cpp \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/Svc_Conf.h \ - $(WRAPPER_ROOT)/ace/Obstack.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Parse_Node.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Parse_Node.i -.obj/Svc_Conf_y.o .shobj/Svc_Conf_y.so: Svc_Conf_y.cpp \ - $(WRAPPER_ROOT)/ace/ARGV.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/ARGV.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf.h \ - $(WRAPPER_ROOT)/ace/Obstack.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Parse_Node.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Parse_Node.i -.obj/Acceptor.o .shobj/Acceptor.so: Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Acceptor.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Svc_Handler.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Svc_Handler.i \ - $(WRAPPER_ROOT)/ace/Acceptor.i -.obj/Array.o .shobj/Array.so: Array.cpp Array.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Array.i -.obj/Asynch_Acceptor.o .shobj/Asynch_Acceptor.so: Asynch_Acceptor.cpp \ - $(WRAPPER_ROOT)/ace/Asynch_Acceptor.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i -.obj/Auto_Ptr.o .shobj/Auto_Ptr.so: Auto_Ptr.cpp \ - $(WRAPPER_ROOT)/ace/Auto_Ptr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Auto_Ptr.i -.obj/Connector.o .shobj/Connector.so: Connector.cpp \ - $(WRAPPER_ROOT)/ace/Connector.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Ter_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i \ - $(WRAPPER_ROOT)/ace/Svc_Handler.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Svc_Handler.i \ - $(WRAPPER_ROOT)/ace/Connector.i -.obj/Containers.o .shobj/Containers.so: Containers.cpp \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Containers.i -.obj/Dump_T.o .shobj/Dump_T.so: Dump_T.cpp \ - $(WRAPPER_ROOT)/ace/Dump_T.h \ - $(WRAPPER_ROOT)/ace/Dump.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/Dynamic_Service.o .shobj/Dynamic_Service.so: Dynamic_Service.cpp \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Service_Repository.h \ - $(WRAPPER_ROOT)/ace/Service_Record.h \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Service_Record.i \ - $(WRAPPER_ROOT)/ace/Service_Repository.i \ - $(WRAPPER_ROOT)/ace/Dynamic_Service.h -.obj/Event_Handler_T.o .shobj/Event_Handler_T.so: Event_Handler_T.cpp \ - $(WRAPPER_ROOT)/ace/Event_Handler_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.i -.obj/Future.o .shobj/Future.so: Future.cpp \ - $(WRAPPER_ROOT)/ace/Future.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/Hash_Map_Manager.o .shobj/Hash_Map_Manager.so: Hash_Map_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h -.obj/IOStream.o .shobj/IOStream.so: IOStream.cpp \ - $(WRAPPER_ROOT)/ace/IOStream.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/Local_Name_Space_T.o .shobj/Local_Name_Space_T.so: Local_Name_Space_T.cpp \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Local_Name_Space.h \ - $(WRAPPER_ROOT)/ace/SString.h \ - $(WRAPPER_ROOT)/ace/SString.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Local_Name_Space_T.h \ - $(WRAPPER_ROOT)/ace/Name_Space.h \ - $(WRAPPER_ROOT)/ace/Name_Proxy.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.h \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/SOCK_Connector.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Name_Request_Reply.h \ - $(WRAPPER_ROOT)/ace/Naming_Context.h -.obj/Local_Tokens_T.o .shobj/Local_Tokens_T.so: Local_Tokens_T.cpp \ - $(WRAPPER_ROOT)/ace/Local_Tokens_T.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Local_Tokens_T.i -.obj/Malloc_T.o .shobj/Malloc_T.so: Malloc_T.cpp \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i -.obj/Map_Manager.o .shobj/Map_Manager.so: Map_Manager.cpp \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Map_Manager.i -.obj/Message_Queue.o .shobj/Message_Queue.so: Message_Queue.cpp \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i -.obj/Module.o .shobj/Module.so: Module.cpp \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream_Modules.h \ - $(WRAPPER_ROOT)/ace/Stream_Modules.i -.obj/Singleton.o .shobj/Singleton.so: Singleton.cpp \ - $(WRAPPER_ROOT)/ace/Singleton.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Singleton.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i -.obj/Strategies_T.o .shobj/Strategies_T.so: Strategies_T.cpp \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex. - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h -.obj/Stream.o .shobj/Stream.so: Stream.cpp \ - $(WRAPPER_ROOT)/ace/Stream.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.i \ - $(WRAPPER_ROOT)/ace/Stream.i \ - $(WRAPPER_ROOT)/ace/Stream_Modules.h \ - $(WRAPPER_ROOT)/ace/Stream_Modules.i -.obj/Stream_Modules.o .shobj/Stream_Modules.so: Stream_Modules.cpp \ - $(WRAPPER_ROOT)/ace/Stream_Modules.h \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Stream_Modules.i -.obj/Svc_Handler.o .shobj/Svc_Handler.so: Svc_Handler.cpp \ - $(WRAPPER_ROOT)/ace/Svc_Handler.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/ace/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Svc_Handler.i \ - $(WRAPPER_ROOT)/ace/Dynamic.h \ - $(WRAPPER_ROOT)/ace/Dynamic.i -.obj/Synch_T.o .shobj/Synch_T.so: Synch_T.cpp \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i -.obj/Task_T.o .shobj/Task_T.so: Task_T.cpp \ - $(WRAPPER_ROOT)/ace/Task_T.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.h \ - $(WRAPPER_ROOT)/ace/Message_Block.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Malloc.h \ - $(WRAPPER_ROOT)/ace/Malloc.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Malloc_T.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.h \ - $(WRAPPER_ROOT)/ace/Signal.h \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i \ - $(WRAPPER_ROOT)/ace/Signal.i \ - $(WRAPPER_ROOT)/ace/Mem_Map.h \ - $(WRAPPER_ROOT)/ace/Mem_Map.i \ - $(WRAPPER_ROOT)/ace/Memory_Pool.i \ - $(WRAPPER_ROOT)/ace/Message_Block.i \ - $(WRAPPER_ROOT)/ace/IO_Cntl_Msg.h \ - $(WRAPPER_ROOT)/ace/Strategies.h \ - $(WRAPPER_ROOT)/ace/Strategies_T.h \ - $(WRAPPER_ROOT)/ace/Service_Config.h \ - $(WRAPPER_ROOT)/ace/Service_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.h \ - $(WRAPPER_ROOT)/ace/Shared_Object.i \ - $(WRAPPER_ROOT)/ace/Service_Object.i \ - $(WRAPPER_ROOT)/ace/Thread_Manager.h \ - $(WRAPPER_ROOT)/ace/Thread_Manager.i \ - $(WRAPPER_ROOT)/ace/Service_Config.i \ - $(WRAPPER_ROOT)/ace/Reactor.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.h \ - $(WRAPPER_ROOT)/ace/Handle_Set.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Token.h \ - $(WRAPPER_ROOT)/ace/Token.i \ - $(WRAPPER_ROOT)/ace/Pipe.h \ - $(WRAPPER_ROOT)/ace/Pipe.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.h \ - $(WRAPPER_ROOT)/ace/SOCK_IO.h \ - $(WRAPPER_ROOT)/ace/SOCK.h \ - $(WRAPPER_ROOT)/ace/Addr.h \ - $(WRAPPER_ROOT)/ace/Addr.i \ - $(WRAPPER_ROOT)/ace/IPC_SAP.h \ - $(WRAPPER_ROOT)/ace/IPC_SAP.i \ - $(WRAPPER_ROOT)/ace/SOCK.i \ - $(WRAPPER_ROOT)/ace/SOCK_IO.i \ - $(WRAPPER_ROOT)/ace/INET_Addr.h \ - $(WRAPPER_ROOT)/ace/INET_Addr.i \ - $(WRAPPER_ROOT)/ace/SOCK_Stream.i \ - $(WRAPPER_ROOT)/a/Reactor.i \ - $(WRAPPER_ROOT)/ace/Proactor.h \ - $(WRAPPER_ROOT)/ace/Asynch_IO.h \ - $(WRAPPER_ROOT)/ace/Timer_List.h \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap.h \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel.h \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.h \ - $(WRAPPER_ROOT)/ace/ReactorEx.i \ - $(WRAPPER_ROOT)/ace/Svc_Conf_Tokens.h \ - $(WRAPPER_ROOT)/ace/Synch_Options.h \ - $(WRAPPER_ROOT)/ace/Hash_Map_Manager.h \ - $(WRAPPER_ROOT)/ace/Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Task.h \ - $(WRAPPER_ROOT)/ace/Task.i \ - $(WRAPPER_ROOT)/ace/Task_T.i \ - $(WRAPPER_ROOT)/ace/Module.h \ - $(WRAPPER_ROOT)/ace/Module.i -.obj/Timer_Heap_T.o .shobj/Timer_Heap_T.so: Timer_Heap_T.cpp \ - $(WRAPPER_ROOT)/ace/Timer_Heap_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i \ - $(WRAPPER_ROOT)/ace/Containers.h \ - $(WRAPPER_ROOT)/ace/Containers.i -.obj/Timer_List_T.o .shobj/Timer_List_T.so: Timer_List_T.cpp \ - $(WRAPPER_ROOT)/ace/Timer_List_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i -.obj/Timer_Queue_T.o .shobj/Timer_Queue_T.so: Timer_Queue_T.cpp \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i -.obj/Timer_Wheel_T.o .shobj/Timer_Wheel_T.so: Timer_Wheel_T.cpp \ - $(WRAPPER_ROOT)/ace/Timer_Wheel_T.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue.h \ - $(WRAPPER_ROOT)/ace/Synch.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.h \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Simple.i \ - $(WRAPPER_ROOT)/ace/SV_Semaphore_Complex.i \ - $(WRAPPER_ROOT)/ace/Synch.i \ - $(WRAPPER_ROOT)/ace/Synch_T.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.h \ - $(WRAPPER_ROOT)/ace/Event_Handler.i \ - $(WRAPPER_ROOT)/ace/Synch_T.i \ - $(WRAPPER_ROOT)/ace/Thread.h \ - $(WRAPPER_ROOT)/ace/Thread.i \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.h \ - $(WRAPPER_ROOT)/ace/Time_Value.h \ - $(WRAPPER_ROOT)/ace/Timer_Queue_T.i -.obj/Typed_SV_Message.o .shobj/Typed_SV_Message.so: Typed_SV_Message.cpp \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message.i -.obj/Typed_SV_Message_Queue.o .shobj/Typed_SV_Message_Queue.so: Typed_SV_Message_Queue.cpp \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message.h \ - $(WRAPPER_ROOT)/ace/ACE.h \ - $(WRAPPER_ROOT)/ace/OS.h \ - $(WRAPPER_ROOT)/ace/config.h \ - $(WRAPPER_ROOT)/ace/stdcpp.h \ - $(WRAPPER_ROOT)/ace/OS.i \ - $(WRAPPER_ROOT)/ace/Trace.h \ - $(WRAPPER_ROOT)/ace/Log_Msg.h \ - $(WRAPPER_ROOT)/ace/Log_Record.h \ - $(WRAPPER_ROOT)/ace/Log_Priority.h \ - $(WRAPPER_ROOT)/ace/Log_Record.i \ - $(WRAPPER_ROOT)/ace/ACE.i \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message.i \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message_Queue.h \ - $(WRAPPER_ROOT)/ace/SV_Message_Queue.h \ - $(WRAPPER_ROOT)/ace/SV_Message.h \ - $(WRAPPER_ROOT)/ace/SV_Message.i \ - $(WRAPPER_ROOT)/ace/SV_Message_Queue.i \ - $(WRAPPER_ROOT)/ace/Typed_SV_Message_Queue.i - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Version.h \ - $(ACE_ROOT)/ace/Typed_SV_Message.i -.obj/Typed_SV_Message_Queue.o .shobj/Typed_SV_Message_Queue.so: Typed_SV_Message_Queue.cpp \ -.obj/Typed_SV_Message_Queue.o .shobj/Typed_SV_Message_Queue.so: Typed_SV_Message_Queue.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message.cpp - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/iosfwd.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Version.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.h \ - $(ACE_ROOT)/ace/SV_Message.i \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.i - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.i - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.i \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.cpp diff --git a/ace/Malloc.cpp b/ace/Malloc.cpp deleted file mode 100644 index 4e9e78e552e..00000000000 --- a/ace/Malloc.cpp +++ /dev/null @@ -1,156 +0,0 @@ -// Malloc.cpp -// $Id$ - -#if !defined (ACE_MALLOC_C) -#define ACE_MALLOC_C - -#define ACE_BUILD_DLL -#include "ace/Malloc.h" -#include "ace/Object_Manager.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Malloc.i" -#endif /* __ACE_INLINE__ */ - -#include "ace/Synch_T.h" - -// Process-wide ACE_Allocator. -ACE_Allocator *ACE_Allocator::allocator_ = 0; - -// Controls whether the Allocator is deleted when we shut down (we can -// only delete it safely if we created it!) -int ACE_Allocator::delete_allocator_ = 0; - -void -ACE_Control_Block::dump (void) const -{ - ACE_TRACE ("ACE_Control_Block::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->name_head_->dump (); - ACE_DEBUG ((LM_DEBUG, "freep_ = %x", this->freep_)); - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Name_Node::ACE_Name_Node (void) -{ - ACE_TRACE ("ACE_Name_Node::ACE_Name_Node"); -} - -ACE_Name_Node::ACE_Name_Node (const char *name, - void *ptr, - ACE_Name_Node *next) - : pointer_ (ptr), - next_ (next) -{ - ACE_TRACE ("ACE_Name_Node::ACE_Name_Node"); - ACE_OS::strcpy (this->name_, name); -} - -void -ACE_Name_Node::dump (void) const -{ - ACE_TRACE ("ACE_Name_Node"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "pointer = %x", this->pointer_)); - ACE_DEBUG ((LM_DEBUG, "\nnext_ = %x", this->next_)); - ACE_DEBUG ((LM_DEBUG, "\nname_ = %s", this->name_)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_Allocator * -ACE_Allocator::instance (void) -{ - // ACE_TRACE ("ACE_Allocator::instance"); - - if (ACE_Allocator::allocator_ == 0) - { - // Perform Double-Checked Locking Optimization. - ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, - *ACE_Static_Object_Lock::instance (), 0)); - - if (ACE_Allocator::allocator_ == 0) - { - ACE_NEW_RETURN (ACE_Allocator::allocator_, - ACE_New_Allocator, - 0); - ACE_Allocator::delete_allocator_ = 1; - } - } - return ACE_Allocator::allocator_; -} - -ACE_Allocator * -ACE_Allocator::instance (ACE_Allocator *r) -{ - ACE_TRACE ("ACE_Allocator::instance"); - ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, - *ACE_Static_Object_Lock::instance (), 0)); - ACE_Allocator *t = ACE_Allocator::allocator_; - - // We can't safely delete it since we don't know who created it! - ACE_Allocator::delete_allocator_ = 0; - - ACE_Allocator::allocator_ = r; - return t; -} - -void -ACE_Allocator::close_singleton (void) -{ - ACE_TRACE ("ACE_Allocator::close_singleton"); - - ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, - *ACE_Static_Object_Lock::instance ())); - - if (ACE_Allocator::delete_allocator_) - { - delete ACE_Allocator::allocator_; - ACE_Allocator::allocator_ = 0; - ACE_Allocator::delete_allocator_ = 0; - } -} - -ACE_Allocator::~ACE_Allocator (void) -{ - ACE_TRACE ("ACE_Allocator::~ACE_Allocator"); -} - -#if defined (ACE_HAS_MALLOC_STATS) -ACE_Malloc_Stats::ACE_Malloc_Stats (void) - : nblocks_ (0), - nchunks_ (0), - ninuse_ (0) -{ - ACE_TRACE ("ACE_Malloc_Stats::ACE_Malloc_Stats"); -} - -void -ACE_Malloc_Stats::dump (void) const -{ - ACE_TRACE ("ACE_Malloc_Stats::print"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - int nblocks = this->nblocks_.value (); - int ninuse = this->ninuse_.value (); - int nchunks = this->nchunks_.value (); - - ACE_DEBUG ((LM_DEBUG, "nblocks = %d", nblocks)); - ACE_DEBUG ((LM_DEBUG, "\nninuse = %d", ninuse)); - ACE_DEBUG ((LM_DEBUG, "\nnchunks = %d", nchunks)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Atomic_Op; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Atomic_Op -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - - -#endif /* ACE_HAS_MALLOC_STATS */ -#endif /* ACE_MALLOC_C */ diff --git a/ace/Malloc.h b/ace/Malloc.h deleted file mode 100644 index 1c2c27c0859..00000000000 --- a/ace/Malloc.h +++ /dev/null @@ -1,308 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Malloc.h -// -// = AUTHOR -// Doug Schmidt and Irfan Pyarali -// -// ============================================================================ - -#if !defined (ACE_MALLOC_H) -#define ACE_MALLOC_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Allocator -{ - // = TITLE - // Interface for a dynamic memory allocator that uses inheritance - // and dynamic binding to provide extensible mechanisms for - // allocating and deallocating memory. -public: - // = Memory Management - - static ACE_Allocator *instance (void); - // Get pointer to a default . - - static ACE_Allocator *instance (ACE_Allocator *); - // Set pointer to a process-wide and return existing - // pointer. - - static void close_singleton (void); - // Delete the dynamically allocated Singleton - - virtual ~ACE_Allocator (void); - // Virtual destructor - - virtual void *malloc (size_t nbytes) = 0; - // Allocate , but don't give them any initial value. - - virtual void *calloc (size_t nbytes, char initial_value = '\0') = 0; - // Allocate , giving them . - - virtual void free (void *ptr) = 0; - // Free (must have been allocated by ). - - virtual int remove (void) = 0; - // Remove any resources associated with this memory manager. - - // = Map manager like functions - - virtual int bind (const char *name, void *pointer, int duplicates = 0) = 0; - // Associate with . If == 0 then do - // not allow duplicate / associations, else if - // != 0 then allow duplicate / - // assocations. Returns 0 if successfully binds (1) a previously - // unbound or (2) != 0, returns 1 if trying to - // bind a previously bound and == 0, else - // returns -1 if a resource failure occurs. - - virtual int trybind (const char *name, void *&pointer) = 0; - // Associate with . Does not allow duplicate - // / associations. Returns 0 if successfully binds - // (1) a previously unbound , 1 if trying to bind a previously - // bound , or returns -1 if a resource failure occurs. When - // this call returns 's value will always reference the - // void * that is associated with. Thus, if the caller needs - // to use (e.g., to free it) a copy must be maintained by - // the caller. - - virtual int find (const char *name, void *&pointer) = 0; - // Locate and pass out parameter via pointer. If found, - // return 0, Returns -1 if failure occurs. - - virtual int find (const char *name) = 0; - // returns 0 if the name is in the mapping. -1, otherwise. - - virtual int unbind (const char *name) = 0; - // Unbind (remove) the name from the map. Don't return the pointer - // to the caller - - virtual int unbind (const char *name, void *&pointer) = 0; - // Break any association of name. Returns the value of pointer in - // case the caller needs to deallocate memory. - - // = Protection and "sync" (i.e., flushing memory to persistent - // backing store). - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC) = 0; - // Sync bytes of the memory region to the backing store - // starting at base_addr_>. If == -1 then sync the - // whole region. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC) = 0; - // Sync bytes of the memory region to the backing store - // starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR) = 0; - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR) = 0; - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - -#if defined (ACE_HAS_MALLOC_STATS) - virtual void print_stats (void) const = 0; - // Dump statistics of how malloc is behaving. -#endif /* ACE_HAS_MALLOC_STATS */ - - virtual void dump (void) const = 0; - // Dump the state of the object. -private: - - static ACE_Allocator *allocator_; - // Pointer to a process-wide instance. - - static int delete_allocator_; - // Must delete the if non-0. -}; - -#if defined (ACE_HAS_MALLOC_STATS) -#include "ace/Synch_T.h" -#if defined (ACE_HAS_THREADS) -#define ACE_PROCESS_MUTEX ACE_Process_Mutex -#else -#include "ace/SV_Semaphore_Simple.h" -#define ACE_PROCESS_MUTEX ACE_SV_Semaphore_Simple -#endif /* ACE_HAS_THREADS */ - -typedef ACE_Atomic_Op ACE_INT; - -struct ACE_Export ACE_Malloc_Stats -// TITLE -// This keeps stats on the usage of the memory manager. -{ - ACE_Malloc_Stats (void); - void dump (void) const; - - ACE_INT nchunks_; - // Coarse-grained unit of allocation. - - ACE_INT nblocks_; - // Fine-grained unit of allocation. - - ACE_INT ninuse_; - // Number of blocks in use -}; -#define AMS(X) X -#else -#define AMS(X) -#endif /* ACE_HAS_MALLOC_STATS */ - -// ACE_MALLOC_ALIGN allows you to insure that allocated regions are at least -// bytes long. It is especially useful when you want -// areas to be at least a page long, or 32K long, or something like that. -// It doesn't guarantee alignment to an address multiple, like 8-byte -// data alignment, etc. The allocated area's padding to your selected size -// is done with an added array of long[] and your compiler will decide how -// to align things in memory. -// -// The default ACE_MALLOC_ALIGN is 'long', which will probably add a long -// of padding - it doesn't have any real affect. If you want to use this -// feature, define ACE_MALLOC_ALIGN in your config.h file and use a signed -// integer number of bytes you want. For example: -// #define ACE_MALLOC_ALIGN ((int)4096) - -#if !defined (ACE_MALLOC_ALIGN) -#define ACE_MALLOC_ALIGN ((int)(sizeof (long))) -#endif /* ACE_MALLOC_ALIGN */ - - -union ACE_Export ACE_Malloc_Header -// TITLE -// This is a block header. -{ - struct ACE_Malloc_Control_Block - { - ACE_Malloc_Header *next_block_; - // Points to next block if on free list. - size_t size_; - // Size of this block. - } s_; - - long align_[ACE_MALLOC_ALIGN/sizeof (long)]; - // Force alignment. -}; - -class ACE_Export ACE_Name_Node -{ - // = TITLE - // This is stored as a linked list within the Memory_Pool - // to allow "named memory chunks." -public: - // = Initialization methods. - ACE_Name_Node (const char *name, void *, ACE_Name_Node *); - ACE_Name_Node (void); - - char *name_; - // Name of the Node. - - void *pointer_; - // Pointer to the contents. - - ACE_Name_Node *next_; - // Pointer to the next node in the chain. - - void dump (void) const; - // Dump the state of the object. -}; - -class ACE_Export ACE_Control_Block -{ - // = TITLE - // This information is stored in memory allocated by the MEMORY_POOL. - // - // = DESCRIPTION - // This class should be local to class ACE_Malloc, but cfront and - // G++ don't like nested classes in templates... -public: - ACE_Name_Node *name_head_; - // Head of the linked list of Name Nodes. - - ACE_Malloc_Header *freep_; - // Current head of the freelist. - - char lock_name_[MAXNAMELEN]; - // Name of lock thats ensures mutual exclusion. - -#if defined (ACE_HAS_MALLOC_STATS) - // Keep statistics about ACE_Malloc state and performance. - ACE_Malloc_Stats malloc_stats_; -#define ACE_CONTROL_BLOCK_SIZE ((int)(sizeof (ACE_Name_Node *) \ - + sizeof (ACE_Malloc_Header *) \ - + MAXNAMELEN \ - + sizeof (ACE_Malloc_Stats))) -#else -#define ACE_CONTROL_BLOCK_SIZE ((int)(sizeof(ACE_Name_Node *) \ - + sizeof (ACE_Malloc_Header *) \ - + MAXNAMELEN)) -#endif /* ACE_HAS_MALLOC_STATS */ - -// Notice the casting to int for sizeof() otherwise unsigned int -// arithmetic is used and some awful things may happen. -#define ACE_CONTROL_BLOCK_ALIGN_LONGS ((ACE_CONTROL_BLOCK_SIZE % ACE_MALLOC_ALIGN != 0 \ - ? ACE_MALLOC_ALIGN - (ACE_CONTROL_BLOCK_SIZE) \ - : ACE_MALLOC_ALIGN) / int(sizeof(long))) - - long align_[ACE_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_CONTROL_BLOCK_ALIGN_LONGS]; - - ACE_Malloc_Header base_; - // Dummy node used to anchor the freelist. - - void dump (void) const; - // Dump the state of the object. -}; - -class ACE_Export ACE_New_Allocator : public ACE_Allocator -{ - // = TITLE - // Defines a class that provided a simple implementation of - // memory allocation. - // - // = DESCRIPTION - // This class uses the new/delete operators to allocate and free - // up memory. Please note that the only methods that are - // supported are malloc and free. All other methods are no-ops. - // If you require this functionality, please use: - // ACE_Allocator_Adapter > - // This will allow you to use the added functionality of - // bind/find/etc. while using the new/delete operators. -public: - virtual void *malloc (size_t nbytes); - virtual void *calloc (size_t nbytes, char initial_value = '\0'); - virtual void free (void *ptr); - virtual int remove (void); - virtual int bind (const char *name, void *pointer, int duplicates = 0); - virtual int trybind (const char *name, void *&pointer); - virtual int find (const char *name, void *&pointer); - virtual int find (const char *name); - virtual int unbind (const char *name); - virtual int unbind (const char *name, void *&pointer); - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); -#if defined (ACE_HAS_MALLOC_STATS) - virtual void print_stats (void) const; -#endif /* ACE_HAS_MALLOC_STATS */ - virtual void dump (void) const; -}; - -#if defined (__ACE_INLINE__) -#include "ace/Malloc.i" -#endif /* __ACE_INLINE__ */ - -// Include the ACE_Malloc templates and ACE_Memory_Pool classes at this point. -#include "ace/Malloc_T.h" -#include "ace/Memory_Pool.h" - -#endif /* ACE_MALLOC_H */ diff --git a/ace/Malloc.i b/ace/Malloc.i deleted file mode 100644 index 2b342124313..00000000000 --- a/ace/Malloc.i +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Malloc.i - -ACE_INLINE void * -ACE_New_Allocator::malloc (size_t nbytes) -{ - char *ptr = 0; - - if (nbytes > 0) - ACE_NEW_RETURN (ptr, char[nbytes], 0); - return (void *) ptr; -} - -ACE_INLINE void * -ACE_New_Allocator::calloc (size_t nbytes, - char initial_value) -{ - char *ptr; - - ACE_NEW_RETURN (ptr, char[nbytes], 0); - - ACE_OS::memset (ptr, initial_value, nbytes); - return (void *) ptr; -} - -ACE_INLINE void -ACE_New_Allocator::free (void *ptr) -{ - delete [] (char *) ptr; -} - -ACE_INLINE int -ACE_New_Allocator::remove (void) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::bind (const char *, void *, int) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::trybind (const char *, void *&) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::find (const char *, void *&) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::find (const char *) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::unbind (const char *) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::unbind (const char *, void *&) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::sync (ssize_t, int) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::sync (void *, size_t, int) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::protect (ssize_t, int) -{ - return -1; -} - -ACE_INLINE int -ACE_New_Allocator::protect (void *, size_t, int) -{ - return -1; -} - -#if defined (ACE_HAS_MALLOC_STATS) -ACE_INLINE void -ACE_New_Allocator::print_stats (void) const -{ -} -#endif /* ACE_HAS_MALLOC_STATS */ - -ACE_INLINE void -ACE_New_Allocator::dump (void) const -{ -} diff --git a/ace/Malloc_T.cpp b/ace/Malloc_T.cpp deleted file mode 100644 index 2ebcd4fc868..00000000000 --- a/ace/Malloc_T.cpp +++ /dev/null @@ -1,660 +0,0 @@ -// Malloc_T.cpp -// $Id$ - -#if !defined (ACE_MALLOC_T_C) -#define ACE_MALLOC_T_C - -#define ACE_BUILD_DLL -#include "ace/Malloc_T.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Malloc_T.i" -#endif /* __ACE_INLINE__ */ - -template -ACE_Cached_Allocator::ACE_Cached_Allocator (size_t n_chunks) - : pool_ (0), - free_list_ (ACE_PURE_FREE_LIST) -{ - this->pool_ = (T*) new char[n_chunks * sizeof (T)]; - // ERRNO could be lost because this is within ctor - - for (size_t c = 0 ; c < n_chunks ; c++) - this->free_list_.add (new (&this->pool_ [c]) ACE_Cached_Mem_Pool_Node); - // Put into free list using placement contructor, no real memory - // allocation in the above new. -} - -template -ACE_Cached_Allocator::~ACE_Cached_Allocator (void) -{ - char* tmp = (char*)this->pool_; - delete [] tmp; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Malloc) - -template -ACE_Allocator_Adapter::ACE_Allocator_Adapter (LPCTSTR pool_name) - : allocator_ (pool_name) -{ - ACE_TRACE ("ACE_Allocator_Adapter::ACE_Allocator_Adapter"); -} - -template -ACE_Allocator_Adapter::~ACE_Allocator_Adapter (void) -{ - ACE_TRACE ("ACE_Allocator_Adapter::~ACE_Allocator_Adapter"); -} - -#if defined (ACE_HAS_MALLOC_STATS) -template void -ACE_Allocator_Adapter::print_stats (void) const -{ - ACE_TRACE ("ACE_Malloc::print_stats"); - this->allocator_.print_stats (); -} -#endif /* ACE_HAS_MALLOC_STATS */ - -template void -ACE_Allocator_Adapter::dump (void) const -{ - ACE_TRACE ("ACE_Malloc::dump"); - this->allocator_.dump (); -} - -template void -ACE_Malloc::dump (void) const -{ - ACE_TRACE ("ACE_Malloc::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->memory_pool_.dump (); - ACE_DEBUG ((LM_DEBUG, "cb_ptr_ = %x", this->cb_ptr_)); - ACE_DEBUG ((LM_DEBUG, "\n")); -#if defined (ACE_HAS_MALLOC_STATS) - this->cp_ptr_->malloc_stats_.dump (); -#endif /* ACE_HAS_MALLOC_STATS */ - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -#if defined (ACE_HAS_MALLOC_STATS) - -template void -ACE_Malloc::print_stats (void) const -{ - ACE_TRACE ("ACE_Malloc::print_stats"); - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->cb_ptr_->malloc_stats_.dump (); - ACE_DEBUG ((LM_DEBUG, "(%P|%t) contents of freelist:\n")); - - for (ACE_Malloc_Header *currp = this->cb_ptr_->freep_->s_.next_block_; - ; - currp = currp->s_.next_block_) - { - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) ptr = %u, ACE_Malloc_Header units = %d, byte units = %d\n", - currp, currp->s_.size_, - currp->s_.size_ * sizeof (ACE_Malloc_Header))); - if (currp == this->cb_ptr_->freep_) - break; - } -} -#endif /* ACE_HAS_MALLOC_STATS */ - -// Put block AP in the free list (locked version). - -template void -ACE_Malloc::free (void *ap) -{ - ACE_TRACE ("ACE_Malloc::free"); - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->shared_free (ap); -} - -// This function is called by the ACE_Malloc constructor to initialize -// the memory pool. The first time in it allocates room for the -// control block (as well as a chunk of memory, depending on -// rounding...). Depending on the type of (i.e., shared -// vs. local) subsequent calls from other processes will only -// initialize the control block pointer. - -template int -ACE_Malloc::open (void) -{ - ACE_TRACE ("ACE_Malloc::open"); - ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - size_t rounded_bytes = 0; - int first_time = 0; - - this->cb_ptr_ = (ACE_Control_Block *) - this->memory_pool_.init_acquire (sizeof *this->cb_ptr_, - rounded_bytes, - first_time); - if (this->cb_ptr_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "init_acquire failed"), -1); - else if (first_time) - { - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) first time in, control block = %u\n", this->cb_ptr_)); - -#if defined (ACE_HAS_MALLOC_STATS) - // Call the constructor on the ACE_LOCK, using the placement - // operator! - new ((void *) &this->cb_ptr_->malloc_stats_) ACE_Malloc_Stats; -#endif /* ACE_HAS_MALLOC_STATS */ - - // Initialize the freelist pointer to point to the dummy - // ACE_Malloc_Header. - this->cb_ptr_->freep_ = &this->cb_ptr_->base_; - - // Initialize the dummy ACE_Malloc_Header to point to itself. - this->cb_ptr_->freep_->s_.size_ = 0; - this->cb_ptr_->freep_->s_.next_block_ = this->cb_ptr_->freep_; - - // initialize the name list to 0 - this->cb_ptr_->name_head_ = 0; - - - if (rounded_bytes > (sizeof *this->cb_ptr_ + sizeof (ACE_Malloc_Header))) - { - // If we've got any extra space at the end of the control - // block, then skip past the dummy ACE_Malloc_Header to - // point at the first free block. - ACE_Malloc_Header *p = this->cb_ptr_->freep_ + 1; - p->s_.size_ = (rounded_bytes - sizeof *this->cb_ptr_) - / sizeof (ACE_Malloc_Header); - - AMS (++this->cb_ptr_->malloc_stats_.nchunks_); - AMS (++this->cb_ptr_->malloc_stats_.nblocks_); - AMS (++this->cb_ptr_->malloc_stats_.ninuse_); - - // Insert the newly allocated chunk of memory into the free - // list. - this->shared_free ((void *) (p + 1)); - } - } - return 0; -} - -template -ACE_Malloc::ACE_Malloc (LPCTSTR pool_name) - : memory_pool_ (pool_name), - lock_ (pool_name == 0 ? 0 : ACE::basename (pool_name, - ACE_DIRECTORY_SEPARATOR_CHAR)) -{ - ACE_TRACE ("ACE_Malloc::ACE_Malloc"); - this->open (); -} - -template -ACE_Malloc::ACE_Malloc (LPCTSTR pool_name, - LPCTSTR lock_name, - const ACE_MEM_POOL_OPTIONS *options) - : memory_pool_ (pool_name, options), - lock_ (lock_name != 0 ? lock_name : ACE::basename (pool_name, - ACE_DIRECTORY_SEPARATOR_CHAR)) -{ - ACE_TRACE ("ACE_Malloc::ACE_Malloc"); - this->open (); -} - -#if !defined (ACE_HAS_TEMPLATE_TYPEDEFS) -template -ACE_Malloc::ACE_Malloc (LPCTSTR pool_name, - LPCTSTR lock_name, - const void *options) - : memory_pool_ (pool_name, (const ACE_MEM_POOL_OPTIONS *) options), - lock_ (lock_name) -{ - ACE_TRACE ("ACE_Malloc::ACE_Malloc"); - this->open (); -} -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ - - -template -ACE_Malloc::~ACE_Malloc (void) -{ - ACE_TRACE ("ACE_Malloc::~ACE_Malloc"); -} - -// Clean up the resources allocated by ACE_Malloc. - -template int -ACE_Malloc::remove (void) -{ - ACE_TRACE ("ACE_Malloc::remove"); - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) destroying ACE_Malloc\n")); - int result = 0; - -#if defined (ACE_HAS_MALLOC_STATS) - this->print_stats (); -#endif /* ACE_HAS_MALLOC_STATS */ - - // Remove the ACE_LOCK. - this->lock_.remove (); - - // Give the memory pool a chance to release its resources. - result = this->memory_pool_.release (); - - return result; -} - -// General-purpose memory allocator. Assumes caller holds the locks. - -template void * -ACE_Malloc::shared_malloc (size_t nbytes) -{ - ACE_TRACE ("ACE_Malloc::shared_malloc"); - - // Round up request to a multiple of the ACE_Malloc_Header size. - size_t nunits = - (nbytes + sizeof (ACE_Malloc_Header) - 1) / sizeof (ACE_Malloc_Header) - + 1; // Add one for the itself. - - // Begin the search starting at the place in the freelist - // where the last block was found. - ACE_Malloc_Header *prevp = this->cb_ptr_->freep_; - ACE_Malloc_Header *currp = prevp->s_.next_block_; - - // Search the freelist to locate a block of the appropriate size. - - for (int i = 0; ; i++, prevp = currp, currp = currp->s_.next_block_) - { - if (currp->s_.size_ >= nunits) // Big enough - { - AMS (++this->cb_ptr_->malloc_stats_.ninuse_); - if (currp->s_.size_ == nunits) - // Exact size, just update the pointers. - prevp->s_.next_block_ = currp->s_.next_block_; - else - { - // Remaining chunk is larger than requested block, so - // allocate at tail end. - AMS (++this->cb_ptr_->malloc_stats_.nblocks_); - currp->s_.size_ -= nunits; - currp += currp->s_.size_; - currp->s_.size_ = nunits; - } - this->cb_ptr_->freep_ = prevp; - // Skip over the ACE_Malloc_Header when returning pointer. - return (void *) (currp + 1); - } - else if (currp == this->cb_ptr_->freep_) - { - // We've wrapped around freelist without finding a block. - // Therefore, we need to ask the memory pool for a new chunk - // of bytes. - - size_t chunk_bytes = 0; - - if ((currp = (ACE_Malloc_Header *) - this->memory_pool_.acquire (nunits * sizeof (ACE_Malloc_Header), - chunk_bytes)) != 0) - { - AMS (++this->cb_ptr_->malloc_stats_.nblocks_); - AMS (++this->cb_ptr_->malloc_stats_.nchunks_); - AMS (++this->cb_ptr_->malloc_stats_.ninuse_); - - // Compute the chunk size in ACE_Malloc_Header units. - currp->s_.size_ = chunk_bytes / sizeof (ACE_Malloc_Header); - - // Insert the new chunk into the freelist. - this->shared_free ((void *) (currp + 1)); - currp = this->cb_ptr_->freep_; - } - else - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "malloc"), 0); - } - } -} - -// General-purpose memory allocator. - -template void * -ACE_Malloc::malloc (size_t nbytes) -{ - ACE_TRACE ("ACE_Malloc::malloc"); - ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, 0); - - return this->shared_malloc (nbytes); -} - -// General-purpose memory allocator. - -template void * -ACE_Malloc::calloc (size_t nbytes, - char initial_value) -{ - ACE_TRACE ("ACE_Malloc::calloc"); - void *ptr = this->malloc (nbytes); - - if (ptr != 0) - ACE_OS::memset (ptr, initial_value, nbytes); - - return ptr; -} - -// Put block AP in the free list (must be called with locks held!) - -template void -ACE_Malloc::shared_free (void *ap) -{ - ACE_TRACE ("ACE_Malloc::shared_free"); - - if (ap == 0) - return; - - ACE_Malloc_Header *blockp; // Points to the block ACE_Malloc_Header. - ACE_Malloc_Header *currp; - - // Adjust AP to point to the block ACE_Malloc_Header - blockp = (ACE_Malloc_Header *) ap - 1; - - // Search until we find the location where the blocks belongs. Note - // that addresses are kept in sorted order. - - for (currp = this->cb_ptr_->freep_; - blockp <= currp || blockp >= currp->s_.next_block_; - currp = currp->s_.next_block_) - { - if (currp >= currp->s_.next_block_ - && (blockp > currp || blockp < currp->s_.next_block_)) - // Freed block at the start or the end of the memory pool - break; - } - - // Join to upper neighbor - if (blockp + blockp->s_.size_ == currp->s_.next_block_) - { - AMS (--this->cb_ptr_->malloc_stats_.nblocks_); - blockp->s_.size_ += currp->s_.next_block_->s_.size_; - blockp->s_.next_block_ = currp->s_.next_block_->s_.next_block_; - } - else - blockp->s_.next_block_ = currp->s_.next_block_; - - if (currp + currp->s_.size_ == blockp) // Join to lower neighbor - { - AMS (--this->cb_ptr_->malloc_stats_.nblocks_); - currp->s_.size_ += blockp->s_.size_; - currp->s_.next_block_ = blockp->s_.next_block_; - } - else - currp->s_.next_block_ = blockp; - - AMS (--this->cb_ptr_->malloc_stats_.ninuse_); - this->cb_ptr_->freep_ = currp; -} - -// No locks held here, caller must acquire/release lock. - -template ACE_Name_Node * -ACE_Malloc::shared_find (const char *name) -{ - ACE_TRACE ("ACE_Malloc::shared_find"); - - for (ACE_Name_Node *node = this->cb_ptr_->name_head_; - node != 0; - node = node->next_) - if (ACE_OS::strcmp (node->name_, name) == 0) - return node; - - return 0; -} - -template int -ACE_Malloc::shared_bind (const char *name, - void *pointer) -{ - // Combine the two allocations into one to avoid overhead... - ACE_Name_Node *new_node = (ACE_Name_Node *) - this->shared_malloc (sizeof (ACE_Name_Node) + ACE_OS::strlen (name) + 1); - - if (new_node == 0) - return -1; - - // This is a sleezy trick ;-) - new_node->name_ = (char *) (new_node + 1); - - // Insert new node at the head of the list. Note that (new_node) is - // *not* a cast! - ACE_NEW_RETURN (this->cb_ptr_->name_head_, - (new_node) ACE_Name_Node (name, pointer, - this->cb_ptr_->name_head_), - -1); - return 0; -} - -template int -ACE_Malloc::trybind (const char *name, - void *&pointer) -{ - ACE_TRACE ("ACE_Malloc::trybind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - ACE_Name_Node *node = this->shared_find (name); - if (node == 0) - // Didn't find it, so insert it. - return this->shared_bind (name, pointer); - else - { - // Found it, so return a copy of the current entry. - pointer = node->pointer_; - return 1; - } -} - -template int -ACE_Malloc::bind (const char *name, - void *pointer, - int duplicates) -{ - ACE_TRACE ("ACE_Malloc::bind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - if (duplicates == 0 && this->shared_find (name) != 0) - // If we're not allowing duplicates, then if the name is already - // present, return 1. - return 1; - else - // If we get this far, either we're allowing duplicates or we didn't - // find the name yet. - - return this->shared_bind (name, pointer); -} - -template int -ACE_Malloc::find (const char *name, void *&pointer) -{ - ACE_TRACE ("ACE_Malloc::find"); - - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - ACE_Name_Node *node = this->shared_find (name); - - if (node == 0) - return -1; - else - { - pointer = node->pointer_; - return 0; - } -} - -// Returns a count of the number of available chunks that can hold -// byte allocations. Function can be used to determine if you -// have reached a water mark. This implies a fixed amount of allocated -// memory. -// -// @param size - the chunk size of that you would like a count of -// @return function returns the number of chunks of the given size -// that would fit in the currently allocated memory - -template ssize_t -ACE_Malloc::avail_chunks (size_t size) const -{ - ACE_TRACE ("ACE_Malloc::avail_chunks"); - - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, (ACE_LOCK &) this->lock_, -1); - - size_t count = 0; - // Avoid dividing by 0... - size = size == 0 ? 1 : size; - - for (ACE_Malloc_Header *currp = this->cb_ptr_->freep_->s_.next_block_; - currp != this->cb_ptr_->freep_; - currp = currp->s_.next_block_) - // calculate how many will fit in this block. - if (currp->s_.size_ * sizeof (ACE_Malloc_Header) >= size) - count += currp->s_.size_ * sizeof (ACE_Malloc_Header) / size; - - return count; -} - -template int -ACE_Malloc::find (const char *name) -{ - ACE_TRACE ("ACE_Malloc::find"); - - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - return this->shared_find (name) == 0 ? -1 : 0; -} - -template int -ACE_Malloc::unbind (const char *name, void *&pointer) -{ - ACE_TRACE ("ACE_Malloc::unbind"); - - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - ACE_Name_Node *prev = 0; - - for (ACE_Name_Node *curr = this->cb_ptr_->name_head_; - curr != 0; - curr = curr->next_) - { - if (ACE_OS::strcmp (curr->name_, name) == 0) - { - pointer = curr->pointer_; - - if (prev == 0) - this->cb_ptr_->name_head_ = curr->next_; - else - prev->next_ = curr->next_; - - // This will free up both the node and the name due to our - // sleezy trick in bind()! - this->shared_free (curr); - return 0; - } - prev = curr; - } - - // Didn't find it, so fail. - return -1; -} - -template int -ACE_Malloc::unbind (const char *name) -{ - ACE_TRACE ("ACE_Malloc::unbind"); - void *temp = 0; - return this->unbind (name, temp); -} - - -template void -ACE_Malloc_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Malloc_Iterator::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->curr_->dump (); - this->guard_.dump (); - ACE_DEBUG ((LM_DEBUG, "name_ = %s", this->name_)); - ACE_DEBUG ((LM_DEBUG, "\n")); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Malloc_Iterator::ACE_Malloc_Iterator (ACE_Malloc &malloc, - const char *name) - : malloc_ (malloc), - curr_ (0), - guard_ (malloc_.lock_), - name_ (name != 0 ? ACE_OS::strdup (name) : 0) -{ - ACE_TRACE ("ACE_Malloc_Iterator::ACE_Malloc_Iterator"); - // Cheap trick to make code simple. - ACE_Name_Node temp; - this->curr_ = &temp; - this->curr_->next_ = malloc_.cb_ptr_->name_head_; - - this->advance(); -} - -template -ACE_Malloc_Iterator::~ACE_Malloc_Iterator (void) -{ - ACE_OS::free ((void *) this->name_); -} - -template int -ACE_Malloc_Iterator::next (void *&next_entry, - char *&name) -{ - ACE_TRACE ("ACE_Malloc_Iterator::next"); - - if (this->curr_ != 0) - { - next_entry = this->curr_->pointer_; - name = this->curr_->name_; - return 1; - } - else - return 0; -} - -template int -ACE_Malloc_Iterator::next (void *&next_entry) -{ - ACE_TRACE ("ACE_Malloc_Iterator::next"); - - if (this->curr_ != 0) - { - next_entry = this->curr_->pointer_; - return 1; - } - else - return 0; -} - -template int -ACE_Malloc_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Malloc_Iterator::done"); - - return this->curr_ == 0; -} - -template int -ACE_Malloc_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Malloc_Iterator::advance"); - - this->curr_ = this->curr_->next_; - - if (this->name_ == 0) - return this->curr_ != 0; - - while (this->curr_ != 0 - && ACE_OS::strcmp (this->name_, this->curr_->name_) != 0) - this->curr_ = this->curr_->next_; - - return this->curr_ != 0; -} - -#endif /* ACE_MALLOC_T_C */ diff --git a/ace/Malloc_T.h b/ace/Malloc_T.h deleted file mode 100644 index 0a561873138..00000000000 --- a/ace/Malloc_T.h +++ /dev/null @@ -1,446 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Malloc_T.h -// -// = AUTHOR -// Doug Schmidt and Irfan Pyarali -// -// ============================================================================ - -#if !defined (ACE_MALLOC_T_H) -#define ACE_MALLOC_T_H - -#include "ace/ACE.h" -#include "ace/Synch.h" -#include "ace/Malloc.h" -#include "ace/Free_List.h" - -template -class ACE_Cached_Mem_Pool_Node -{ - // = TITLE - // keeps unused memory within a free - // list. - // - // = DESCRIPTION - // The length of a piece of unused memory must be greater than - // sizeof (void*). This makes sense because we'll waste even - // more memory if we keep them in a separate data structure. - // This class should really be placed within the next class - // . But this can't be done due to C++ - // compiler portability problems. -public: - T *addr (void); - // return the address of free memory. - - ACE_Cached_Mem_Pool_Node *get_next (void); - // get the next ACE_Cached_Mem_Pool_Node in a list. - - void set_next (ACE_Cached_Mem_Pool_Node *ptr); - // set the next ACE_Cached_Mem_Pool_Node. - -private: - ACE_Cached_Mem_Pool_Node *next_; - // Since memory is not used when placed in a free list, - // we can use it to maintain the structure of free list. - // I was using union to hide the fact of overlapping memory - // usage. However, that cause problem on MSVC. So, I now turn - // back to hack this with casting. -}; - -template -class ACE_Cached_Allocator : public ACE_New_Allocator -{ -public: - ACE_Cached_Allocator (size_t n_chunks); - // Create a cached memory poll with chunks - // each with sizeof (TYPE) size. - - ~ACE_Cached_Allocator (void); - // clear things up. - - void* malloc (size_t); - // get a chunk of memory from free store. - - void free (void *); - // return a chunk of memory back to free store. - -private: - T *pool_; - // remember how we allocate the memory in the first place so - // we can clear things up later. - - ACE_Locked_Free_List, ACE_LOCK> free_list_; - // Maintain a cached memory free list. -}; - -template -class ACE_Allocator_Adapter : public ACE_Allocator -{ - // = TITLE - // This class is an Adapter that allows the to - // use the class below. -public: - // Trait. - typedef MALLOC ALLOCATOR; - -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) - // The following code will break C++ compilers that don't support - // template typedefs correctly. - typedef const ACE_TYPENAME MALLOC::MEMORY_POOL_OPTIONS *MEMORY_POOL_OPTIONS; -#else - typedef const void *MEMORY_POOL_OPTIONS; -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ - - // = Initialization. - ACE_Allocator_Adapter (LPCTSTR pool_name = 0); - - ACE_Allocator_Adapter (LPCTSTR pool_name, - LPCTSTR lock_name, - MEMORY_POOL_OPTIONS options = 0) - : allocator_ (pool_name, lock_name, options) - { - ACE_TRACE ("ACE_Allocator_Adapter::ACE_Allocator_Adapter"); - } - // Constructor (this has to be inline to avoid bugs with some C++ compilers. - - virtual ~ACE_Allocator_Adapter (void); - // Destructor. - - // = Memory Management - - virtual void *malloc (size_t nbytes); - // Allocate , but don't give them any initial value. - - virtual void *calloc (size_t nbytes, char initial_value = '\0'); - // Allocate , giving them all an . - - virtual void free (void *ptr); - // Free (must have been allocated by ). - - virtual int remove (void); - // Remove any resources associated with this memory manager. - - // = Map manager like functions - - virtual int bind (const char *name, void *pointer, int duplicates = 0); - // Associate with . If == 0 then do - // not allow duplicate / associations, else if - // != 0 then allow duplicate / - // assocations. Returns 0 if successfully binds (1) a previously - // unbound or (2) != 0, returns 1 if trying to - // bind a previously bound and == 0, else - // returns -1 if a resource failure occurs. - - virtual int trybind (const char *name, void *&pointer); - // Associate with . Does not allow duplicate - // / associations. Returns 0 if successfully binds - // (1) a previously unbound , 1 if trying to bind a previously - // bound , or returns -1 if a resource failure occurs. When - // this call returns 's value will always reference the - // void * that is associated with. Thus, if the caller needs - // to use (e.g., to free it) a copy must be maintained by - // the caller. - - virtual int find (const char *name, void *&pointer); - // Locate and pass out parameter via pointer. If found, - // return 0, Returns -1 if failure occurs. - - virtual int find (const char *name); - // returns 0 if the name is in the mapping. -1, otherwise. - - virtual int unbind (const char *name); - // Unbind (remove) the name from the map. Don't return the pointer - // to the caller - - virtual int unbind (const char *name, void *&pointer); - // Break any association of name. Returns the value of pointer in - // case the caller needs to deallocate memory. - - // = Protection and "sync" (i.e., flushing data to backing store). - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at base_addr_>. If == -1 then sync the - // whole region. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - ALLOCATOR &alloc (void); - // Returns the underlying allocator. - -#if defined (ACE_HAS_MALLOC_STATS) - virtual void print_stats (void) const; - // Dump statistics of how malloc is behaving. -#endif /* ACE_HAS_MALLOC_STATS */ - - virtual void dump (void) const; - // Dump the state of the object. - -private: - ALLOCATOR allocator_; - // ALLOCATOR instance, which is owned by the adapter. -}; - -// Forward declaration. -template -class ACE_Malloc_Iterator; - -template -class ACE_Malloc -{ - // = TITLE - // Define a C++ class that uses parameterized types to provide - // an extensible mechanism for encapsulating various of dynamic - // memory management strategies. - // - // = DESCRIPTION - // This class can be configured flexibly with different - // MEMORY_POOL strategies and different types of ACE_LOCK - // strategies. -public: - friend class ACE_Malloc_Iterator; - typedef ACE_MEM_POOL MEMORY_POOL; - typedef ACE_MEM_POOL_OPTIONS MEMORY_POOL_OPTIONS; - - // = Initialization and termination methods. - ACE_Malloc (LPCTSTR pool_name = 0); - // Initialize ACE_Malloc. This constructor passes to - // initialize the memory pool, and uses to - // automatically extract out the name used for the underlying lock - // name (if necessary). - - ACE_Malloc (LPCTSTR pool_name, - LPCTSTR lock_name, - const ACE_MEM_POOL_OPTIONS *options = 0); - // Initialize ACE_Malloc. This constructor passes to - // initialize the memory pool, and uses to automatically - // extract out the name used for the underlying lock name (if - // necessary). In addition, is passed through to - // initialize the underlying memory pool. - -#if !defined (ACE_HAS_TEMPLATE_TYPEDEFS) - ACE_Malloc (LPCTSTR pool_name, - LPCTSTR lock_name, - const void *options = 0); - // This is necessary to work around template bugs with certain C++ - // compilers. -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ - - ~ACE_Malloc (void); - // Destructor - - int remove (void); - // Releases resources allocated by ACE_Malloc. - - // = Memory management - - void *malloc (size_t nbytes); - // Allocate , but don't give them any initial value. - - void *calloc (size_t nbytes, char initial_value = '\0'); - // Allocate , giving them . - - void free (void *ptr); - // Deallocate memory pointed to by , which must have been - // allocated previously by malloc>. - - MEMORY_POOL &memory_pool (void); - // Returns a reference to the underlying memory pool. - - // = Map manager like functions - - int bind (const char *name, void *pointer, int duplicates = 0); - // Associate with . If == 0 then do - // not allow duplicate / associations, else if - // != 0 then allow duplicate / - // assocations. Returns 0 if successfully binds (1) a previously - // unbound or (2) != 0, returns 1 if trying to - // bind a previously bound and == 0, else - // returns -1 if a resource failure occurs. - - int trybind (const char *name, void *&pointer); - // Associate with . Does not allow duplicate - // / associations. Returns 0 if successfully binds - // (1) a previously unbound , 1 if trying to bind a previously - // bound , or returns -1 if a resource failure occurs. When - // this call returns 's value will always reference the - // void * that is associated with. Thus, if the caller needs - // to use (e.g., to free it) a copy must be maintained by - // the caller. - - int find (const char *name, void *&pointer); - // Locate and pass out parameter via . If found, - // return 0, returns -1 if failure occurs. - - int find (const char *name); - // Returns 0 if is in the mapping. -1, otherwise. - - int unbind (const char *name); - // Unbind (remove) the name from the map. Don't return the pointer - // to the caller. If you want to remove all occurrences of - // you'll need to call this method multiple times until it fails... - - int unbind (const char *name, void *&pointer); - // Unbind (remove) one association of to . Returns - // the value of pointer in case the caller needs to deallocate - // memory. If you want to remove all occurrences of you'll - // need to call this method multiple times until it fails... - - // = Protection and "sync" (i.e., flushing data to backing store). - - int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at base_addr_>. If == -1 then sync the - // whole region. - - int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . - - int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - ssize_t avail_chunks (size_t size) const; - // Returns a count of the number of available chunks that can hold - // byte allocations. Function can be used to determine if you - // have reached a water mark. This implies a fixed amount of allocated - // memory. - // - // @param size - the chunk size of that you would like a count of - // @return function returns the number of chunks of the given size - // that would fit in the currently allocated memory. - -#if defined (ACE_HAS_MALLOC_STATS) - void print_stats (void) const; - // Dump statistics of how malloc is behaving. -#endif /* ACE_HAS_MALLOC_STATS */ - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - int open (void); - // Initialize the Malloc pool. - - int shared_bind (const char *name, void *pointer); - // Associate with . Assumes that locks are held by - // callers. - - ACE_Name_Node *shared_find (const char *name); - // Try to locate . If found, return the associated - // , else returns 0 if can't find the . - // Assumes that locks are held by callers. - - void *shared_malloc (size_t nbytes); - // Allocate memory. Assumes that locks are held by callers. - - void shared_free (void *ptr); - // Deallocate memory. Assumes that locks are held by callers. - - ACE_Control_Block *cb_ptr_; - // Pointer to the control block (stored in memory controlled by - // MEMORY_POOL). - - MEMORY_POOL memory_pool_; - // Pool of memory used by ACE_Malloc - - ACE_LOCK lock_; - // Local that ensures mutual exclusion. -}; - -template -class ACE_Malloc_Iterator -{ - // = TITLE - // Iterator for names stored in Malloc'd memory. - // - // = DESCRIPTION - // Does not allows deletions while iteration is occurring. -public: - // = Initialization method. - ACE_Malloc_Iterator (ACE_Malloc &malloc, - const char *name = 0); - // if = 0 it will iterate through everything else only - // through those entries whose match. - - ~ACE_Malloc_Iterator (void); - - // = Iteration methods. - - int next (void *&next_entry); - // Pass back the next in the set that hasn't yet been - // visited. Returns 0 when all items have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - int next (void *&next_entry, char *&name); - // Pass back the next (and the associated with it) in - // the set that hasn't yet been visited. Returns 0 when all items - // have been seen, else 1. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Malloc &malloc_; - // Malloc we are iterating over. - - ACE_Name_Node *curr_; - // Keeps track of how far we've advanced... - - ACE_Read_Guard guard_; - // Lock Malloc for the lifetime of the iterator. - - const char *name_; - // Name that we are searching for. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Malloc_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Malloc_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Malloc_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_MALLOC_H */ diff --git a/ace/Malloc_T.i b/ace/Malloc_T.i deleted file mode 100644 index c6ca4e7fad0..00000000000 --- a/ace/Malloc_T.i +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Malloc_T.i - -template ACE_INLINE T * -ACE_Cached_Mem_Pool_Node::addr (void) -{ - return (T *) this; -} - -template ACE_INLINE ACE_Cached_Mem_Pool_Node * -ACE_Cached_Mem_Pool_Node::get_next (void) -{ - return this->next_; -} - -template ACE_INLINE void -ACE_Cached_Mem_Pool_Node::set_next (ACE_Cached_Mem_Pool_Node *ptr) -{ - this->next_ = ptr; -} - -template ACE_INLINE void * -ACE_Cached_Allocator::malloc (size_t nbytes) -{ - // Check if size requested fits within pre-determined size. - if (nbytes > sizeof (T)) - return NULL; - - // addr() call is really not absolutely necessary because of the way - // ACE_Cached_Mem_Pool_Node's internal structure arranged. - return this->free_list_.remove ()->addr (); -} - -template ACE_INLINE void -ACE_Cached_Allocator::free (void * ptr) -{ - this->free_list_.add ((ACE_Cached_Mem_Pool_Node *) ptr) ; -} - -template ACE_INLINE void * -ACE_Allocator_Adapter::malloc (size_t nbytes) -{ - ACE_TRACE ("ACE_Allocator_Adapter::malloc"); - return this->allocator_.malloc (nbytes); -} - -template ACE_INLINE void * -ACE_Allocator_Adapter::calloc (size_t nbytes, - char initial_value) -{ - ACE_TRACE ("ACE_Allocator_Adapter::malloc"); - return this->allocator_.calloc (nbytes, initial_value); -} - -template ACE_INLINE MALLOC & -ACE_Allocator_Adapter::alloc (void) -{ - ACE_TRACE ("ACE_Allocator_Adapter::allocator"); - return this->allocator_; -} - -template ACE_INLINE void -ACE_Allocator_Adapter::free (void *ptr) -{ - ACE_TRACE ("ACE_Allocator_Adapter::free"); - this->allocator_.free (ptr); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::remove (void) -{ - ACE_TRACE ("ACE_Allocator_Adapter::remove"); - return this->allocator_.remove (); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::trybind (const char *name, - void *&pointer) -{ - ACE_TRACE ("ACE_Allocator_Adapter::trybind"); - return this->allocator_.trybind (name, pointer); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::bind (const char *name, - void *pointer, - int duplicates) -{ - ACE_TRACE ("ACE_Allocator_Adapter::bind"); - return this->allocator_.bind (name, pointer, duplicates); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::find (const char *name, - void *&pointer) -{ - ACE_TRACE ("ACE_Allocator_Adapter::find"); - return this->allocator_.find (name, pointer); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::find (const char *name) -{ - ACE_TRACE ("ACE_Allocator_Adapter::find"); - return this->allocator_.find (name); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::unbind (const char *name, void *&pointer) -{ - ACE_TRACE ("ACE_Allocator_Adapter::unbind"); - return this->allocator_.unbind (name, pointer); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::unbind (const char *name) -{ - ACE_TRACE ("ACE_Allocator_Adapter::unbind"); - return this->allocator_.unbind (name); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::sync (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_Allocator_Adapter::sync"); - return this->allocator_.sync (len, flags); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::sync (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_Allocator_Adapter::sync"); - return this->allocator_.sync (addr, len, flags); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::protect (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_Allocator_Adapter::protect"); - return this->allocator_.protect (len, flags); -} - -template ACE_INLINE int -ACE_Allocator_Adapter::protect (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_Allocator_Adapter::protect"); - return this->allocator_.protect (addr, len, flags); -} - -template ACE_MEM_POOL & -ACE_Malloc::memory_pool (void) -{ - ACE_TRACE ("ACE_Malloc::memory_pool"); - return this->memory_pool_; -} - -template int -ACE_Malloc::sync (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_Malloc::sync"); - return this->memory_pool_.sync (len, flags); -} - -template int -ACE_Malloc::sync (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_Malloc::sync"); - return this->memory_pool_.sync (addr, len, flags); -} - -template int -ACE_Malloc::protect (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_Malloc::protect"); - return this->memory_pool_.protect (len, flags); -} - -template int -ACE_Malloc::protect (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_Malloc::protect"); - return this->memory_pool_.protect (addr, len, flags); -} - diff --git a/ace/Managed_Object.cpp b/ace/Managed_Object.cpp deleted file mode 100644 index 8b3680cbe59..00000000000 --- a/ace/Managed_Object.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL - -#if !defined (ACE_MANAGED_OBJECT_CPP) -#define ACE_MANAGED_OBJECT_CPP - -#include "ace/Managed_Object.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Managed_Object.i" -#endif /* __ACE_INLINE__ */ - -template -ACE_Cleanup_Adapter::~ACE_Cleanup_Adapter (void) -{ -} - -#endif /* ACE_MANAGED_OBJECT_CPP */ diff --git a/ace/Managed_Object.h b/ace/Managed_Object.h deleted file mode 100644 index 0566718159f..00000000000 --- a/ace/Managed_Object.h +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Managed_Object.h -// -// = AUTHORS -// David L. Levine -// -// ============================================================================ - -#if !defined (ACE_MANAGED_OBJECT_H) -#define ACE_MANAGED_OBJECT_H - -#include "ace/OS.h" -#include "ace/Object_Manager.h" - -template -class ACE_Cleanup_Adapter : public ACE_Cleanup -{ - // = TITLE - // Adapter for ACE_Cleanup objects that allows them to be readily - // managed by the ACE_Object_Manager. - // - // = DESCRIPTION - // This template class adapts an object of any type to be an - // ACE_Cleanup object. The object can then be destroyed - // type-safely by the ACE_Object_Manager. This class is - // typically used to replace a cast; but, it's a bit cleaner and - // allows insertion of, say, run-time type identification - // internally if desired. -public: - ACE_Cleanup_Adapter (void); - // Default constructor. - - virtual ~ACE_Cleanup_Adapter (void); - // Virtual destructor, needed by some compilers for vtable placement. - - TYPE &object (void); - // Accessor for contained object. - -private: - TYPE object_; - // Contained object. -}; - -template -class ACE_Managed_Object -{ - // = TITLE - // Wrapper for interface to allocate an object managed by the - // ACE_Object_Manager. - // - // = DESCRIPTION - // This template class wraps an interface that is used to - // allocate and access an object that is managed by the - // ACE_Object_Manager. Because static template member functions - // are not supported by most compilers, it is a separate - // (template) class. - // - // This interface is typically used to replace a static object - // with one that is dynamically allocated. It helps to avoid - // problems with order of static object - // construction/destruction. Managed objects won't be allocated - // until needed, but should be allocated when first needed. And - // they are destroyed in the reverse order of construction. - // - // get_preallocated_object () accesses a "preallocated" object, - // i.e., one that is identified by a value in the - // ACE_Object_Manager:: Preallocated_Object enum. These objects - // are used internally by the ACE library. - // - // Hooks are provided for the application to preallocate objects - // via the same mechanism. - // ACE_APPLICATION_PREALLOCATED_OBJECT_DECLARATIONS can be used - // to define enum values; - // ACE_APPLICATION_PREALLOCATED_OBJECT_DEFINITIONS can be used - // to define the corresponding objects. The format of the ACE - // internal library definitions should be followed. And - // similarly, ACE_APPLICATION_PREALLOCATED_ARRAY_DECLARATIONS - // and ACE_APPLICATION_PREALLOCATED_ARRAY_DEFINITIONS can be - // used to preallocate arrays. - // - // By default, preallocation uses dynamic allocation. The - // preallocated objects and arrays are allocated off the heap in - // the ACE_Object_Manager constructor. The statically place the - // preallocated objects in program global data instead of on the - // heap, #define ACE_HAS_STATIC_PREALLOCATION prior to building - // the ACE library. -public: - static TYPE *get_preallocated_object (ACE_Object_Manager::Preallocated_Object id) - { - // The preallocated objects are in a separate, "read-only" array so - // that this function doesn't need a lock. Also, because it is - // intended _only_ for use with hard-code values, it performs no - // range checking on "id". - - // Cast the return type of the the object pointer based - // on the type of the function template parameter. - return &((ACE_Cleanup_Adapter *) - ACE_Object_Manager::preallocated_object[id])->object (); - } - // Get the preallocated object identified by "id". Returns a - // pointer to the object. Beware: no error indication is provided, - // because it can _only_ be used for accessing preallocated objects. - // Note: the function definition is inlined here so that it compiles - // on AIX 4.1 w/xlC v. 3.01. - - static TYPE *get_preallocated_array (ACE_Object_Manager::Preallocated_Array id) - { - // The preallocated array are in a separate, "read-only" array so - // that this function doesn't need a lock. Also, because it is - // intended _only_ for use with hard-code values, it performs no - // range checking on "id". - - // Cast the return type of the the object pointer based - // on the type of the function template parameter. - return &((ACE_Cleanup_Adapter *) - ACE_Object_Manager::preallocated_array[id])->object (); - } - // Get the preallocated array identified by "id". Returns a - // pointer to the array. Beware: no error indication is provided, - // because it can _only_ be used for accessing preallocated arrays. - // Note: the function definition is inlined here so that it compiles - // on AIX 4.1 w/xlC v. 3.01. - -private: - // Disallow instantiation of this class. - ACE_UNIMPLEMENTED_FUNC (ACE_Managed_Object ()) - ACE_UNIMPLEMENTED_FUNC (ACE_Managed_Object (const ACE_Managed_Object &)) - ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Managed_Object &)) - - friend class this_prevents_compiler_warning_about_only_private_constructors; -}; - -#if defined (__ACE_INLINE__) -#include "ace/Managed_Object.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Managed_Object.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Managed_Object.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_MANAGED_OBJECT_H */ diff --git a/ace/Managed_Object.i b/ace/Managed_Object.i deleted file mode 100644 index d4dd6043418..00000000000 --- a/ace/Managed_Object.i +++ /dev/null @@ -1,18 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -template -ACE_INLINE -ACE_Cleanup_Adapter::ACE_Cleanup_Adapter (void) - // Note: don't explicitly initialize "object_", because TYPE may not - // have a default constructor. Let the compiler figure it out . . . -{ -} - -template -ACE_INLINE -TYPE & -ACE_Cleanup_Adapter::object (void) -{ - return this->object_; -} diff --git a/ace/Map_Manager.cpp b/ace/Map_Manager.cpp deleted file mode 100644 index 9e132a53f22..00000000000 --- a/ace/Map_Manager.cpp +++ /dev/null @@ -1,819 +0,0 @@ -// $Id$ - -#if !defined (ACE_MAP_MANAGER_C) -#define ACE_MAP_MANAGER_C - -#define ACE_BUILD_DLL -#include "ace/Synch.h" -#include "ace/Malloc.h" -#include "ace/Service_Config.h" -#include "ace/Map_Manager.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Map_Manager.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Map_Entry) - -template -ACE_Map_Entry::~ACE_Map_Entry (void) -{ - // No-op just to keep some compilers happy... -} - -template void -ACE_Map_Entry::dump (void) const -{ - ACE_TRACE ("ACE_Map_Entry::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "is_free_ = %d", this->is_free_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Map_Manager) - -template void -ACE_Map_Manager::dump (void) const -{ - ACE_TRACE ("ACE_Map_Manager::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "total_size_ = %d", this->total_size_)); - ACE_DEBUG ((LM_DEBUG, "\ncur_size_ = %d", this->cur_size_)); - this->allocator_->dump (); - this->lock_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Map_Manager::ACE_Map_Manager (size_t size, - ACE_Allocator *alloc) - : search_structure_ (0), - allocator_ (0), - total_size_ (0), - cur_size_ (0) -{ - ACE_TRACE ("ACE_Map_Manager::ACE_Map_Manager"); - - if (this->open (size, alloc) == -1) - ACE_ERROR ((LM_ERROR, "ACE_Map_Manager\n")); -} - -template -ACE_Map_Manager::ACE_Map_Manager (ACE_Allocator *alloc) - : search_structure_ (0), - allocator_ (0), - total_size_ (0), - cur_size_ (0) -{ - ACE_TRACE ("ACE_Map_Manager::ACE_Map_Manager"); - if (this->open (ACE_DEFAULT_MAP_SIZE, alloc) == -1) - ACE_ERROR ((LM_ERROR, "ACE_Map_Manager\n")); -} - -template int -ACE_Map_Manager::close_i (void) -{ - ACE_TRACE ("ACE_Map_Manager::close_i"); - - this->free_search_structure (); - return 0; -} - -template int -ACE_Map_Manager::close (void) -{ - ACE_TRACE ("ACE_Map_Manager::close"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->close_i (); -} - -template -ACE_Map_Manager::~ACE_Map_Manager (void) -{ - ACE_TRACE ("ACE_Map_Manager::~ACE_Map_Manager"); - this->close (); -} - -template int -ACE_Map_Manager::resize_i (size_t size) -{ - ACE_TRACE ("ACE_Map_Manager::resize_i"); - - // If we need to grow buffer, then remove the existing buffer. - void *ptr; - - ACE_ALLOCATOR_RETURN (ptr, - this->allocator_->malloc (size * sizeof (ACE_Map_Entry)), - -1); - - size_t i; - - ACE_Map_Entry *temp = (ACE_Map_Entry *) ptr; - - // Copy over the currently active elements. - for (i = 0; i < this->cur_size_; i++) - { - temp[i] = this->search_structure_[i]; // Structure assignment. - } - - this->total_size_ = size; - - // Mark the newly allocated elements as being "free". - - for (i = this->cur_size_; i < this->total_size_; i++) - { - // Call the constructor for each element in the array. - new (&(temp[i])) ACE_Map_Entry; - temp[i].is_free_ = 1; - } - - this->free_search_structure (); - - this->search_structure_ = temp; - return 0; -} - -template -ACE_Map_Iterator -ACE_Map_Manager::begin (void) -{ - return ACE_Map_Iterator (*this); -} - -template -ACE_Map_Iterator -ACE_Map_Manager::end (void) -{ - return ACE_Map_Iterator (*this, 1); -} - -template -ACE_Map_Reverse_Iterator -ACE_Map_Manager::rbegin (void) -{ - return ACE_Map_Reverse_Iterator (*this); -} - -template -ACE_Map_Reverse_Iterator -ACE_Map_Manager::rend (void) -{ - return ACE_Map_Reverse_Iterator (*this, 1); -} - -template void -ACE_Map_Manager::free_search_structure (void) -{ - if (this->search_structure_ != 0) - { - for (size_t i = 0; i < this->total_size_; i++) - // Explicitly call the destructor. - { - ACE_Map_Entry &ss = this->search_structure_[i]; - ss.ACE_Map_Entry::~ACE_Map_Entry (); - } - - // Actually free the memory. - this->allocator_->free (this->search_structure_); - this->search_structure_ = 0; - } -} - -// Create a new search_structure of size SIZE. - -template int -ACE_Map_Manager::open (size_t size, - ACE_Allocator *alloc) -{ - ACE_TRACE ("ACE_Map_Manager::open"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - if (alloc == 0) - alloc = ACE_Allocator::instance (); - - this->allocator_ = alloc; - - // If we need to grow buffer, then remove the existing buffer. - if (this->total_size_ < size) - return this->resize_i (size); - else - return 0; -} - -template int -ACE_Map_Manager::shared_find (const EXT_ID &ext_id, - int &first_free) -{ - // See if the entry is already there, keeping track of the first - // free slot. - - for (size_t i = 0; i < this->cur_size_; i++) - { - ACE_Map_Entry &ss = this->search_structure_[i]; - - if (ss.is_free_ == 0) - { - if (ss.ext_id_ == ext_id) - return i; - } - else if (first_free == -1) - first_free = int (i); - } - - errno = ENOENT; - return -1; -} - -template int -ACE_Map_Manager::equal (const EXT_ID &id1, - const EXT_ID &id2) -{ - return id1 == id2; -} - -// Find the corresponding to the . - -template int -ACE_Map_Manager::shared_find (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::shared_find"); - - for (size_t i = 0; i < this->cur_size_; i++) - { - const ACE_Map_Entry &ss - = this->search_structure_[i]; - - if (ss.is_free_ == 0 && this->equal (ss.ext_id_, ext_id)) - // We found it! - return i; - } - - // not found - errno = ENOENT; - return -1; -} - -template int -ACE_Map_Manager::shared_bind (const EXT_ID &ext_id, - const INT_ID &int_id, - int first_free) -{ - if (first_free > -1) - { - // We found a free spot, let's reuse it. - - ACE_Map_Entry &ss = this->search_structure_[first_free]; - - ss.ext_id_ = ext_id; - ss.int_id_ = int_id; - ss.is_free_ = 0; - this->allocator_->sync ((void *) &this->search_structure_[first_free], sizeof ss); - return 0; - } - - // Check if we have reached total_size_ - else if (this->cur_size_ == this->total_size_) - // We are out of room so grow the map - if (this->resize_i (this->total_size_ + ACE_DEFAULT_MAP_SIZE) == -1) - return -1; - - // Insert at the end of the active portion. - - ACE_Map_Entry &ss = this->search_structure_[this->cur_size_]; - - ss.int_id_ = int_id; - ss.ext_id_ = ext_id; - ss.is_free_ = 0; - this->allocator_->sync ((void *) &this->search_structure_[this->cur_size_], sizeof ss); - this->cur_size_++; - this->allocator_->sync ((void *) &this->cur_size_, sizeof this->cur_size_); - return 0; -} - -template int -ACE_Map_Manager::trybind_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::trybind_i"); - int first_free = -1; - int index = this->shared_find (ext_id, first_free); - - if (index >= 0) - { - // There was already something there, so make a copy, but - // *don't* update anything in the map! - - int_id = this->search_structure_[index].int_id_; - return 1; - } - else - // We didn't find it, so let's bind it! - return this->shared_bind (ext_id, int_id, first_free); -} - -template int -ACE_Map_Manager::trybind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::trybind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->trybind_i (ext_id, int_id); -} - -template int -ACE_Map_Manager::find_i (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::find_i"); - return this->shared_find (ext_id); -} - -// Find the INT_ID corresponding to the EXT_ID. - -template int -ACE_Map_Manager::find (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::find"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->find_i (ext_id); -} - -// Unbind (remove) the EXT_ID from the map and return it via an out -// parameter. Note that this method does *not* free up the INT_ID -// structure. Thus, if there is dynamic memory associated with this, -// the caller is responsible for freeing this memory. - -template int -ACE_Map_Manager::unbind_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::unbind_i"); - - ssize_t index = this->shared_unbind (ext_id); - - if (index == -1) - return -1; - else - { - int_id = this->search_structure_[index].int_id_; - return 0; - } -} - -// Associate with . If is already in the -// map then the is not changed. Returns 0 if a new -// entry is bound successfully, returns 1 if an attempt is made to -// bind an existing entry, and returns -1 if failures occur. - -template int -ACE_Map_Manager::bind_i (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::bind_i"); - - int first_free = -1; - // We need to save errno since may set errno to - // ENOENT. - int error = errno; - int index = this->shared_find (ext_id, first_free); - - if (index >= 0) - // It was already bound, so return 1. - return 1; - - else - { - // Restore errno. - errno = error; - // We didn't find it, so let's bind it! - return this->shared_bind (ext_id, int_id, first_free); - } -} - -// Associate with . If is not in the -// map then behaves just like . Otherwise, store the old -// values of and into the "out" parameters and -// rebind the new parameters. This is very useful if you need to -// have an atomic way of updating and you also need -// full control over memory allocation. Returns 0 if a new entry is -// bound successfully, returns 1 if an existing entry was rebound, -// and returns -1 if failures occur. - -template int -ACE_Map_Manager::rebind_i (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id) -{ - ACE_TRACE ("ACE_Map_Manager::rebind_i"); - - int first_free = -1; - int index = this->shared_find (ext_id, first_free); - - if (index >= 0) - { - // We found it, so make copies of the old entries and rebind - // current entries. - - ACE_Map_Entry &ss = this->search_structure_[index]; - - old_ext_id = ss.ext_id_; - old_int_id = ss.int_id_; - ss.ext_id_ = ext_id; - ss.int_id_ = int_id; - this->allocator_->sync ((void *) &this->search_structure_[index], sizeof ss); - return 1; - } - else - // We didn't find it, so let's bind it! - return this->shared_bind (ext_id, int_id, first_free); -} - -// Find the INT_ID corresponding to the EXT_ID. - -template int -ACE_Map_Manager::find_i (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::find_i"); - - int index = this->shared_find (ext_id); - - if (index == -1) - // Didn't find it. - return -1; - else - { - // Found it, so assign a copy. - int_id = this->search_structure_[index].int_id_; - return index; - } -} - -// Unbind (remove) the EXT_ID from the map. Keeps track of where -// the EXT_ID was found so that this->unbind (EXT_ID, INT_ID) -// can return it to the caller. - -template int -ACE_Map_Manager::shared_unbind (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::shared_unbind"); - for (size_t i = 0; i < this->cur_size_; i++) - { - ACE_Map_Entry &ss = this->search_structure_[i]; - - if (ss.is_free_ == 0 && this->equal (ss.ext_id_, ext_id)) - { - size_t index = i; - - // Mark this entry as being free. - ss.is_free_ = 1; - - this->allocator_->sync ((void *) &ss.is_free_, - sizeof ss.is_free_); - - // If we just unbound the highest active entry, then we need - // to figure out where the next highest active entry is. - - if (i + 1 == this->cur_size_) - { - while (i > 0 && this->search_structure_[--i].is_free_) - continue; - - if (i == 0 && this->search_structure_[i].is_free_) - this->cur_size_ = 0; - else - this->cur_size_ = i + 1; - this->allocator_->sync ((void *) &this->cur_size_, - sizeof this->cur_size_); - } - return index; - } - } - errno = ENOENT; - return -1; -} - -template int -ACE_Map_Manager::unbind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::unbind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->unbind_i (ext_id, int_id); -} - -template int -ACE_Map_Manager::bind (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::bind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->bind_i (ext_id, int_id); -} - -template int -ACE_Map_Manager::rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id) -{ - ACE_TRACE ("ACE_Map_Manager::rebind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id); -} - -template int -ACE_Map_Manager::find (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_TRACE ("ACE_Map_Manager::find"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->find_i (ext_id, int_id); -} - -// Unbind (remove) the EXT_ID from the map. Don't return the INT_ID -// to the caller (this is useful for collections where the INT_IDs are -// *not* dynamically allocated...) - -template int -ACE_Map_Manager::unbind_i (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::unbind_i"); - return this->shared_unbind (ext_id) == -1 ? -1 : 0; -} - -template int -ACE_Map_Manager::unbind (const EXT_ID &ext_id) -{ - ACE_TRACE ("ACE_Map_Manager::unbind"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - return this->unbind_i (ext_id) == -1 ? -1 : 0; -} - -template size_t -ACE_Map_Manager::current_size (void) -{ - ACE_TRACE ("ACE_Map_Manager::current_size"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, - ACE_static_cast(size_t, -1)); - return this->cur_size_; -} - -template size_t -ACE_Map_Manager::total_size (void) -{ - ACE_TRACE ("ACE_Map_Manager::total_size"); - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, - ACE_static_cast(size_t, -1)); - return this->total_size_; -} - -// @@ && @@ - -ACE_ALLOC_HOOK_DEFINE(ACE_Map_Iterator_Base) - -template void -ACE_Map_Iterator_Base::dump_i (void) const -{ - ACE_TRACE ("ACE_Map_Iterator_Base::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "next_ = %d", this->next_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Map_Iterator_Base::ACE_Map_Iterator_Base (ACE_Map_Manager &mm, int head) - : map_man_ (&mm), - next_ (-1) -{ - ACE_TRACE ("ACE_Map_Iterator_Base::ACE_Map_Iterator_Base"); - if (head == 0) - this->next_ = this->map_man_->cur_size_; -} - -template int -ACE_Map_Iterator_Base::next (ACE_Map_Entry *&mm) -{ - ACE_TRACE ("ACE_Map_Iterator_Base::next"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - if (this->map_man_->search_structure_ != 0 - // Note that this->next_ is never negative at this point... - && ACE_static_cast(size_t, this->next_) < this->map_man_->cur_size_ - && this->next_ > -1) - { - mm = &this->map_man_->search_structure_[this->next_]; - return 1; - } - else - return 0; -} - -template int -ACE_Map_Iterator_Base::done (void) const -{ - ACE_TRACE ("ACE_Map_Iterator_Base::done"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - return this->map_man_->search_structure_ == 0 - // Note that this->next_ is never negative at this point... - || ACE_static_cast(size_t, this->next_) >= this->map_man_->cur_size_ - || this->next_ <= -1; -} - -template int -ACE_Map_Iterator_Base::forward_i (void) -{ - ACE_TRACE ("ACE_Map_Iterator_Base::forward_i"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - for (++this->next_; - ACE_static_cast(size_t, this->next_) < this->map_man_->cur_size_ - && this->map_man_->search_structure_[this->next_].is_free_; - this->next_++) - continue; - return ACE_static_cast(size_t, this->next_) < this->map_man_->cur_size_; -} - -template int -ACE_Map_Iterator_Base::reverse_i (void) -{ - ACE_TRACE ("ACE_Map_Iterator_Base::reverse_i"); - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->map_man_->lock_, -1); - - for (--this->next_; - this->next_ >= 0 - && this->map_man_->search_structure_[this->next_].is_free_; - this->next_--) - continue; - return this->next_ >= 0; -} - -template -ACE_Map_Entry& -ACE_Map_Iterator_Base::operator* (void) -{ - ACE_TRACE ("ACE_Map_Iterator_Base::operator*"); - ACE_Map_Entry *retv; - - ACE_ASSERT (this->next (retv) != 0); - return *retv; -} - -template int -ACE_Map_Iterator_Base::operator== (const ACE_Map_Iterator_Base &rhs) const -{ - ACE_TRACE ("ACE_Map_Iterator_Base::operator=="); - return (this->map_man_ == rhs.map_man_ && this->next_ == rhs.next_); -} - -template int -ACE_Map_Iterator_Base::operator!= (const ACE_Map_Iterator_Base &rhs) const -{ - ACE_TRACE ("ACE_Map_Iterator_Base::operator!="); - return (this->next_ != rhs.next_ || this->map_man_ != rhs.map_man_); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Map_Iterator) - -template void -ACE_Map_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Map_Iterator::dump"); - - this->dump_i (); -} - -template -ACE_Map_Iterator::ACE_Map_Iterator (ACE_Map_Manager &mm, int tail) - : ACE_Map_Iterator_Base (mm, (tail == 0 ? 1 : 0)) -{ - ACE_TRACE ("ACE_Map_Iterator::ACE_Map_Iterator"); - if (tail == 0 && this->map_man_->search_structure_ != 0) - this->forward_i (); -} - -template int -ACE_Map_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Map_Iterator::advance"); - return this->forward_i (); -} - -template -ACE_Map_Iterator -ACE_Map_Iterator::operator++ (void) -{ - ACE_TRACE ("ACE_Map_Iterator::operator++ (void)") - ACE_Map_Iterator retv (*this); - - this->forward_i (); - return retv; -} - -template -ACE_Map_Iterator& -ACE_Map_Iterator::operator++ (int) -{ - ACE_TRACE ("ACE_Map_Iterator::operator++ (int)") - this->forward_i (); - return *this; -} - -template -ACE_Map_Iterator -ACE_Map_Iterator::operator-- (void) -{ - ACE_TRACE ("ACE_Map_Iterator::operator-- (void)") - ACE_Map_Iterator retv (*this); - - this->reverse_i (); - return retv; -} - -template -ACE_Map_Iterator& -ACE_Map_Iterator::operator-- (int) -{ - ACE_TRACE ("ACE_Map_Iterator::operator-- (int)") - this->reverse_i (); - return *this; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Map_Reverse_Iterator) - -template void -ACE_Map_Reverse_Iterator::dump (void) const -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::dump"); - - this->dump_i (); -} - -template -ACE_Map_Reverse_Iterator::ACE_Map_Reverse_Iterator (ACE_Map_Manager &mm, int head) - : ACE_Map_Iterator_Base (mm, head) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::ACE_Map_Reverse_Iterator"); - if (head == 0 && this->map_man_->search_structure_ != 0) - this->reverse_i (); -} - -template int -ACE_Map_Reverse_Iterator::advance (void) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::advance"); - return this->reverse_i (); -} - -template -ACE_Map_Reverse_Iterator -ACE_Map_Reverse_Iterator::operator++ (void) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::operator++ (void)"); - ACE_Map_Reverse_Iterator retv (*this); - - this->reverse_i (); - return retv; -} - -template -ACE_Map_Reverse_Iterator& -ACE_Map_Reverse_Iterator::operator++ (int) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::operator++ (int)"); - this->reverse_i (); - return *this; -} - -template -ACE_Map_Reverse_Iterator -ACE_Map_Reverse_Iterator::operator-- (void) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::operator-- (void)"); - ACE_Map_Reverse_Iterator retv (*this); - - this->forward_i (); - return retv; -} - -template -ACE_Map_Reverse_Iterator& -ACE_Map_Reverse_Iterator::operator-- (int) -{ - ACE_TRACE ("ACE_Map_Reverse_Iterator::operator-- (int)"); - this->forward_i (); - return *this; -} - -#endif /* ACE_MAP_MANAGER_C */ diff --git a/ace/Map_Manager.h b/ace/Map_Manager.h deleted file mode 100644 index 4bebfcb3d64..00000000000 --- a/ace/Map_Manager.h +++ /dev/null @@ -1,410 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Map_Manager.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_MAP_MANAGER_H) -#define ACE_MAP_MANAGER_H - -#include "ace/ACE.h" - -// Forward declaration. -class ACE_Allocator; - -template -class ACE_Map_Entry -{ - // = TITLE - // An entry in the Map. -public: - EXT_ID ext_id_; - // Key used to look up an entry. - - INT_ID int_id_; - // The contents of the entry itself. - - int is_free_; - // Keeps track whether entry is free or not. - - ~ACE_Map_Entry (void); - // We need this destructor to keep some compilers from complaining. - // It's just a no-op, however. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -// Forward decl. -template -class ACE_Map_Iterator_Base; - -// Forward decl. -template -class ACE_Map_Iterator; - -// Forward decl. -template -class ACE_Map_Reverse_Iterator; - -template -class ACE_Map_Manager -{ - // = TITLE - // Define a map abstraction that associates s with - // s. - // - // = DESCRIPTION - // The must support (this constraint can - // be alleviated via template specialization). The - // class uses an to allocate - // memory. The user can make this a persistant class by - // providing an with a persistable memory pool. - // - // This implementation of a map uses an array, which is searched - // linearly. For more efficient searching you should use the - // . -public: - friend class ACE_Map_Iterator_Base; - friend class ACE_Map_Iterator; - friend class ACE_Map_Reverse_Iterator; - - // = Traits. - typedef EXT_ID KEY; - typedef INT_ID VALUE; - typedef ACE_Map_Entry ENTRY; - typedef ACE_Map_Iterator ITERATOR; - typedef ACE_Map_Reverse_Iterator REVERSE_ITERATOR; - - typedef ACE_Map_Iterator iterator; - typedef ACE_Map_Reverse_Iterator reverse_iterator; - - // = Initialization and termination methods. - ACE_Map_Manager (ACE_Allocator *alloc = 0); - // Initialize a with the . - - ACE_Map_Manager (size_t size, - ACE_Allocator *alloc = 0); - // Initialize a with entries. - - int open (size_t length = ACE_DEFAULT_MAP_SIZE, - ACE_Allocator *alloc = 0); - // Initialize a with size . - - int close (void); - // Close down a and release dynamically allocated - // resources. - - ~ACE_Map_Manager (void); - // Close down a and release dynamically allocated - // resources. - - int trybind (const EXT_ID &ext_id, - INT_ID &int_id); - // Associate with if and only if is not - // in the map. If is already in the map then the - // parameter is overwritten with the existing value in the map - // Returns 0 if a new entry is bound successfully, returns 1 if an - // attempt is made to bind an existing entry, and returns -1 if - // failures occur. - - int bind (const EXT_ID &ext_id, - const INT_ID &int_id); - // Associate with . If is already in the - // map then the is not changed. Returns 0 if a new - // entry is bound successfully, returns 1 if an attempt is made to - // bind an existing entry, and returns -1 if failures occur. - - int rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id); - // Associate with . If is not in the - // map then behaves just like . Otherwise, store the old - // values of and into the "out" parameters and - // rebind the new parameters. This is very useful if you need to - // have an atomic way of updating and you also need - // full control over memory allocation. Returns 0 if a new entry is - // bound successfully, returns 1 if an existing entry was rebound, - // and returns -1 if failures occur. - - int find (const EXT_ID &ext_id, INT_ID &int_id); - // Locate and pass out parameter via . If found, - // returns and non-negative integer; returns -1 if not found. - - int find (const EXT_ID &ext_id); - // Returns a non-negative integer if the is in the mapping, otherwise -1. - - int unbind (const EXT_ID &ext_id); - // Unbind (remove) the from the map. Don't return the - // to the caller (this is useful for collections where the - // s are *not* dynamically allocated...) Returns 0 if - // successful, else -1. - - int unbind (const EXT_ID &ext_id, INT_ID &int_id); - // Break any association of . Returns the value of - // in case the caller needs to deallocate memory. Returns 0 if - // successful, else -1. - - size_t current_size (void); - // Return the current size of the map. - - size_t total_size (void); - // Return the total size of the map. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iterator factory functions. - - ACE_Map_Iterator begin (void); - ACE_Map_Iterator end (void); - // Return forward iterator. - - ACE_Map_Reverse_Iterator rbegin (void); - ACE_Map_Reverse_Iterator rend (void); - // Return reverse iterator. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - - void free_search_structure (void); - // Explicitly call the destructors and free up the search_structure_. - - ACE_Map_Entry *search_structure_; - // Implementation of the Map (should use hashing instead of - // array...). - - // = The following methods do the actual work. - - // These methods assume that the locks are held by the private - // methods. - - int bind_i (const EXT_ID &ext_id, const INT_ID &int_id); - // Performs the binding of to . Must be - // called with locks held. - - int rebind_i (const EXT_ID &ext_id, const INT_ID &int_id, - EXT_ID &old_ext_id, INT_ID &old_int_id); - // Performs a rebinding of to . Must be called - // with locks held. - - int find_i (const EXT_ID &ext_id, INT_ID &int_id); - // Performs a find of using as the key. Must be - // called with locks held. - - int find_i (const EXT_ID &ext_id); - // Performs a find using as the key. Must be called with - // locks held. - - int unbind_i (const EXT_ID &ext_id, INT_ID &int_id); - // Performs an unbind of using as the key. Must - // be called with locks held. - - int unbind_i (const EXT_ID &ext_id); - // Performs an unbind using as the key. Must be called - // with locks held. - - int trybind_i (const EXT_ID &ext_id, INT_ID &int_id); - // Performs a conditional bind of using as the - // key. Must be called with locks held. - - int resize_i (size_t size); - // Resize the map. Must be called with locks held. - - int close_i (void); - // Close down a . Must be called with - // locks held. - - ACE_Allocator *allocator_; - // Pointer to a memory allocator. - - ACE_LOCK lock_; - // Synchronization variable for the MT_SAFE . - - int equal (const EXT_ID &id1, const EXT_ID &id2); - // Returns 1 if == , else 0. This is defined as a - // separate method to facilitate template specialization. - -private: - - int shared_find (const EXT_ID &ext_id, int &first_free); - // Locate an entry, keeping track of the first free slot. Must be - // called with locks held. - - int shared_find (const EXT_ID &ext_id); - // Locate an entry. Must be called with locks held. - - int shared_bind (const EXT_ID &ext_id, const INT_ID &int_id, int first_free); - // Bind an entry. Must be called with locks held. - - int shared_unbind (const EXT_ID &ext_id); - // Unbind (remove) the from the map. Keeps track of where - // the was found so that this->unbind (, ) - // can return it to the caller. Must be called with locks held. - - size_t total_size_; - // Total number of elements in this->search_structure_. - - size_t cur_size_; - // Index of highest active elementin this->search_structure_. - - // = Disallow these operations. - ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Map_Manager &)) - ACE_UNIMPLEMENTED_FUNC (ACE_Map_Manager (const ACE_Map_Manager &)) -}; - -template -class ACE_Map_Iterator_Base -{ - // = TITLE - // Iterator for the ACE_Map_Manager. -public: - // = Initialization method. - ACE_Map_Iterator_Base (ACE_Map_Manager &mm, - int head); - // Contructor. If head != 0, the iterator constructed is positioned - // at the head of the map, it is positioned at the end otherwise. - - // = Iteration methods. - - int next (ACE_Map_Entry *&next_entry); - // Pass back the next that hasn't been seen in the Set. - // Returns 0 when all items have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - ACE_Map_Entry& operator* (void); - // Returns a reference to the interal element is pointing to. - - int operator== (const ACE_Map_Iterator_Base &) const; - int operator!= (const ACE_Map_Iterator_Base &) const; - // Check if two iterators point to the same position - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - int forward_i (void); - // Move forward by one element in the set. Returns 0 when there's - // no more item in the set after the current items, else 1. - - int reverse_i (void); - // Move backware by one element in the set. Returns 0 when there's - // no more item in the set before the current item, else 1. - - void dump_i (void) const; - // Dump the state of an object. - - ACE_Map_Manager *map_man_; - // Map we are iterating over. - - ssize_t next_; - // Keeps track of how far we've advanced... -}; - -template -class ACE_Map_Iterator - : public ACE_Map_Iterator_Base -{ - // = TITLE - // Iterator for the ACE_Map_Manager. -public: - // = Initialization method. - ACE_Map_Iterator (ACE_Map_Manager &mm, - int tail = 0); - - // = Iteration methods. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iteration, compare, and reference functions. - - ACE_Map_Iterator operator++ (void); - // Postfix advance. - - ACE_Map_Iterator& operator++ (int); - // Prefix advance. - - ACE_Map_Iterator operator-- (void); - // Postfix advance. - - ACE_Map_Iterator& operator-- (int); - // Prefix advance. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -template -class ACE_Map_Reverse_Iterator - : public ACE_Map_Iterator_Base -{ - // = TITLE - // Reverse Iterator for the ACE_Map_Manager. -public: - // = Initialization method. - ACE_Map_Reverse_Iterator (ACE_Map_Manager &mm, - int head = 0); - - // = Iteration methods. - - int advance (void); - // Move forward by one element in the set. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - // = STL styled iteration, compare, and reference functions. - - ACE_Map_Reverse_Iterator operator++ (void); - // Postfix advance. - - ACE_Map_Reverse_Iterator& operator++ (int); - // Prefix advance. - - ACE_Map_Reverse_Iterator operator-- (void); - // Postfix advance. - - ACE_Map_Reverse_Iterator& operator-- (int); - // Prefix advance. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. -}; - -#if defined (__ACE_INLINE__) -#include "ace/Map_Manager.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Map_Manager.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Map_Manager.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_MAP_MANAGER_H */ diff --git a/ace/Map_Manager.i b/ace/Map_Manager.i deleted file mode 100644 index 7e1703cd066..00000000000 --- a/ace/Map_Manager.i +++ /dev/null @@ -1,4 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Map_Manager.i diff --git a/ace/Mem_Map.cpp b/ace/Mem_Map.cpp deleted file mode 100644 index 5f482ab33e8..00000000000 --- a/ace/Mem_Map.cpp +++ /dev/null @@ -1,226 +0,0 @@ -// Mem_Map.cpp -// $Id$ - -// Defines the member functions for the memory mapping facility. - -#define ACE_BUILD_DLL -#include "ace/Mem_Map.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Mem_Map.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Mem_Map) - -void -ACE_Mem_Map::dump (void) const -{ - ACE_TRACE ("ACE_Mem_Map::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "base_addr_ = %x", this->base_addr_)); - ACE_DEBUG ((LM_DEBUG, "\nfilename_ = %s", this->filename_)); - ACE_DEBUG ((LM_DEBUG, "\nlength_ = %d", this->length_)); - ACE_DEBUG ((LM_DEBUG, "\nhandle_ = %d", this->handle_)); - ACE_DEBUG ((LM_DEBUG, "\nfile_mapping_ = %d", this->file_mapping_)); - ACE_DEBUG ((LM_DEBUG, "\nclose_handle_ = %d", this->close_handle_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -int -ACE_Mem_Map::close (void) -{ - ACE_TRACE ("ACE_Mem_Map::close"); - - this->unmap (); - - return this->close_handle (); -} - -ACE_Mem_Map::~ACE_Mem_Map (void) -{ - ACE_TRACE ("ACE_Mem_Map::~ACE_Mem_Map"); - - this->close (); -} - -// This function does the dirty work of actually calling ACE_OS::mmap -// to map the file into memory. - -int -ACE_Mem_Map::map_it (ACE_HANDLE handle, - int len_request, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_Mem_Map::map_it"); - this->base_addr_ = addr; - this->handle_ = handle; - - long file_len = ACE_OS::filesize (this->handle_); - - if (file_len == -1) - return -1; - - if (this->length_ < ACE_static_cast(size_t, file_len)) - { - // If the length of the mapped region is less than the length of - // the file then we force a complete new remapping by setting - // the descriptor to ACE_INVALID_HANDLE (closing down the - // descriptor if necessary). - this->close_filemapping_handle (); - } - - // At this point we know is not negative... - this->length_ = ACE_static_cast(size_t, file_len); - - if (len_request == -1) - len_request = 0; - - if ((this->length_ == 0 && len_request > 0) - || this->length_ < ACE_static_cast(size_t, len_request)) - { - this->length_ = len_request; - - // Extend the backing store. -#if defined (ACE_HAS_P_READ_WRITE) - if (ACE_OS::pwrite (this->handle_, "", 1, - len_request > 0 ? len_request - 1 : 0) == -1) -#else - if (ACE_OS::lseek (this->handle_, - len_request > 0 ? len_request - 1 : 0, - SEEK_SET) == -1 - || ACE_OS::write (this->handle_, "", 1) == -1 - || ACE_OS::lseek (this->handle_, 0, SEEK_SET) == -1) -#endif /* ACE_HAD_P_READ_WRITE */ - return -1; - } - - this->base_addr_ = ACE_OS::mmap (this->base_addr_, - this->length_, - prot, - share, - this->handle_, - off_t (ACE::round_to_pagesize (pos)), - &this->file_mapping_, - sa); - - return this->base_addr_ == MAP_FAILED ? -1 : 0; -} - -int -ACE_Mem_Map::open (LPCTSTR file_name, - int flags, - int mode, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_Mem_Map::open"); - - ACE_OS::strncpy (this->filename_, file_name, MAXPATHLEN); - - this->handle_ = ACE_OS::open (file_name, flags, mode, sa); - - if (this->handle_ == ACE_INVALID_HANDLE) - return -1; - else - { - this->close_handle_ = 1; - return 0; - } -} - -int -ACE_Mem_Map::map (LPCTSTR file_name, - int len, - int flags, - int mode, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_Mem_Map::map"); - this->length_ = 0; - - if (this->open (file_name, flags, mode, sa) == -1) - return -1; - else - return this->map_it (this->handle (), len, prot, share, addr, pos, sa); -} - -ACE_Mem_Map::ACE_Mem_Map (void) - : base_addr_ (MAP_FAILED), - length_ (0), - handle_ (ACE_INVALID_HANDLE), - file_mapping_ (ACE_INVALID_HANDLE), - close_handle_ (0) -{ - ACE_TRACE ("ACE_Mem_Map::ACE_Mem_Map"); - ACE_OS::memset (this->filename_, 0, sizeof this->filename_); -} - -// Map a file specified by FILE_NAME. - -ACE_Mem_Map::ACE_Mem_Map (LPCTSTR file_name, - int len, - int flags, - int mode, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) - : base_addr_ (MAP_FAILED), - length_ (0), - handle_ (ACE_INVALID_HANDLE), - file_mapping_ (ACE_INVALID_HANDLE), - close_handle_ (0) -{ - ACE_TRACE ("ACE_Mem_Map::ACE_Mem_Map"); - if (this->map (file_name, len, flags, mode, prot, share, addr, pos, sa) < 0) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Mem_Map::ACE_Mem_Map")); -} - -// Map a file from an open file descriptor HANDLE. This function will -// lookup the length of the file if it is not given. - -ACE_Mem_Map::ACE_Mem_Map (ACE_HANDLE handle, - int len, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) - : base_addr_ (MAP_FAILED), - length_ (0), - handle_ (ACE_INVALID_HANDLE), - file_mapping_ (ACE_INVALID_HANDLE), - close_handle_ (0) -{ - ACE_TRACE ("ACE_Mem_Map::ACE_Mem_Map"); - - ACE_OS::memset (this->filename_, 0, sizeof this->filename_); - - if (this->map (handle, len, prot, share, addr, pos, sa) < 0) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Mem_Map::ACE_Mem_Map")); -} - -// Close down and remove the file from the file system. - -int -ACE_Mem_Map::remove (void) -{ - ACE_TRACE ("ACE_Mem_Map::remove"); - - ACE_OS::ftruncate (this->handle_, 0); - this->close (); - - if (this->filename_[0] != '\0') - return ACE_OS::unlink (this->filename_); - else - return 0; -} diff --git a/ace/Mem_Map.h b/ace/Mem_Map.h deleted file mode 100644 index 48900f59f80..00000000000 --- a/ace/Mem_Map.h +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Mem_Map.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_MEM_MAP_H) -#define ACE_MEM_MAP_H - -#include "ace/ACE.h" - -class ACE_Export ACE_Mem_Map -{ - // = TITLE - // C++ interface OS memory mapping system call. - // - // = DESCRIPTION - // This class works with both the mmap(2) UNIX system and the - // Win32 family of memory mapping system calls. -public: - // = Initialization and termination methods. - - ACE_Mem_Map (void); - // Default constructor. - - ACE_Mem_Map (ACE_HANDLE handle, - int length = -1, - int prot = PROT_RDWR, - int share = MAP_PRIVATE, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // Map a file from an open file descriptor . This function - // will lookup the length of the file if it is not given. - - ACE_Mem_Map (LPCTSTR filename, - int len = -1, - int flags = O_RDWR | O_CREAT, - int mode = ACE_DEFAULT_FILE_PERMS, - int prot = PROT_RDWR, - int share = MAP_PRIVATE, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // Map a file specified by . - - int map (ACE_HANDLE handle, - int length = -1, - int prot = PROT_RDWR, - int share = MAP_PRIVATE, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // Map a file from an open file descriptor . This function - // will lookup the length of the file if it is not given. - - int map (int length = -1, - int prot = PROT_RDWR, - int share = MAP_PRIVATE, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // Remap the file associated with . - - int map (LPCTSTR filename, - int len = -1, - int flags = O_RDWR | O_CREAT, - int mode = ACE_DEFAULT_FILE_PERMS, - int prot = PROT_RDWR, - int share = MAP_PRIVATE, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // Map a file specified by . - - ~ACE_Mem_Map (void); - // Destructor. - - int open (LPCTSTR filename, - int flags = O_RDWR | O_CREAT, - int mode = ACE_DEFAULT_FILE_PERMS, - LPSECURITY_ATTRIBUTES sa = 0); - // Open the file without mapping it. - - int close (void); - // Close down the if necessary and unmap the mapping. - - int close_handle (void); - // Close down the if necessary. - - int close_filemapping_handle (void); - // Close down the internal if necessary. This is - // mostly necessary on Win32, that has a different handle for - // file-mapping kernal object. - - int operator () (void *&addr); - // This operator passes back the starting address of the mapped - // file. - - void *addr (void) const; - // Return the base address. - - size_t size (void) const; - // This function returns the number of bytes currently mapped in the - // file. - - int unmap (int len = -1); - // Unmap the region starting at . - - int unmap (void *addr, int len); - // Unmap the region starting at . - - int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . If == -1 then sync the whole - // region. - - int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . - - int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. If == -1 then - // change protection of all pages in the mapped region. - - int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - int remove (void); - // Close down and remove the file from the file system. - - int advise (int behavior, int len = -1); - // Hook into the underlying VM system. - - ACE_HANDLE handle (void) const; - // Return the underlying . - - const TCHAR *filename (void) const; - // Return the name of file that is mapped (if any). - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - void *base_addr_; - // Base address of the memory-mapped file. - - TCHAR filename_[MAXPATHLEN + 1]; - // Name of the file that is mapped. - - size_t length_; - // Length of the mapping. - - ACE_HANDLE handle_; - // HANDLE for the open file. - - ACE_HANDLE file_mapping_; - // HANDLE for the open mapping. - - int close_handle_; - // Keeps track of whether we need to close the handle. This is set - // if we opened the file. - - int map_it (ACE_HANDLE handle, - int len = -1, - int prot = PROT_RDWR, - int share = MAP_SHARED, - void *addr = 0, - off_t pos = 0, - LPSECURITY_ATTRIBUTES sa = 0); - // This method does the dirty work of actually calling ::mmap to map - // the file into memory. - - // = Disallow copying and assignment. - ACE_Mem_Map (const ACE_Mem_Map &); - void operator = (const ACE_Mem_Map &); -}; - -#if defined (__ACE_INLINE__) -#include "ace/Mem_Map.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_MEM_MAP_H */ diff --git a/ace/Mem_Map.i b/ace/Mem_Map.i deleted file mode 100644 index 110803bfbfb..00000000000 --- a/ace/Mem_Map.i +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Mem_Map.i - -ACE_INLINE ACE_HANDLE -ACE_Mem_Map::handle (void) const -{ - ACE_TRACE ("ACE_Mem_Map::handle"); - return this->handle_; -} - -// Return the name of file that is mapped (if any). - -ACE_INLINE const TCHAR * -ACE_Mem_Map::filename (void) const -{ - return this->filename_; -} - -ACE_INLINE int -ACE_Mem_Map::map (ACE_HANDLE handle, - int len, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_Mem_Map::map"); - return this->map_it (handle, len, prot, share, addr, pos, sa); -} - -// Remap the file associated with handle_>. - -ACE_INLINE int -ACE_Mem_Map::map (int len, - int prot, - int share, - void *addr, - off_t pos, - LPSECURITY_ATTRIBUTES sa) -{ - ACE_TRACE ("ACE_Mem_Map::map"); - return this->map_it (this->handle (), len, prot, - share, addr, pos, sa); -} - -// This operator passes back the starting address of the mapped file. - -ACE_INLINE int -ACE_Mem_Map::operator () (void *&addr) -{ - ACE_TRACE ("ACE_Mem_Map::operator"); - - if (this->base_addr_ == MAP_FAILED) - return -1; - else - { - addr = this->base_addr_; - return 0; - } -} - -// Return the base address. - -ACE_INLINE void * -ACE_Mem_Map::addr (void) const -{ - ACE_TRACE ("ACE_Mem_Map::addr"); - - return this->base_addr_; -} - -// This function returns the number of bytes currently mapped in the -// file. - -ACE_INLINE size_t -ACE_Mem_Map::size (void) const -{ - ACE_TRACE ("ACE_Mem_Map::size"); - return this->length_; -} - -ACE_INLINE int -ACE_Mem_Map::close_filemapping_handle (void) -{ - int result = 0; - - if (this->file_mapping_ != this->handle_ - && this->file_mapping_ != ACE_INVALID_HANDLE) - { - result = ACE_OS::close (this->file_mapping_); - this->file_mapping_ = ACE_INVALID_HANDLE; - } - - return result; -} - -// Unmap the region starting at base_addr_>. - -ACE_INLINE int -ACE_Mem_Map::unmap (int len) -{ - ACE_TRACE ("ACE_Mem_Map::unmap"); - - this->close_filemapping_handle (); - - if (this->base_addr_ != MAP_FAILED) - { - int result = ACE_OS::munmap (this->base_addr_, len < 0 ? this->length_ : len); - this->base_addr_ = MAP_FAILED; - return result; - } - else - return 0; -} - -// Unmap the region starting at . - -ACE_INLINE int -ACE_Mem_Map::unmap (void *addr, int len) -{ - ACE_TRACE ("ACE_Mem_Map::unmap"); - - this->close_filemapping_handle (); - - return ACE_OS::munmap (addr, len < 0 ? this->length_ : len); -} - -// Sync bytes of the memory region to the backing store starting -// at base_addr_>. If == -1 then sync the whole mapped -// region. - -ACE_INLINE int -ACE_Mem_Map::sync (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_Mem_Map::sync"); - return ACE_OS::msync (this->base_addr_, len < 0 ? this->length_ : len, flags); -} - -// Sync bytes of the memory region to the backing store starting -// at . - -ACE_INLINE int -ACE_Mem_Map::sync (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_Mem_Map::sync"); - return ACE_OS::msync (addr, len, flags); -} - -// Change the protection of the pages of the mapped region to -// starting at base_addr_> up to bytes. If == -1 -// then change protection of all pages in the mapped region. - -ACE_INLINE int -ACE_Mem_Map::protect (ssize_t len, int prot) -{ - ACE_TRACE ("ACE_Mem_Map::protect"); - if (len < 0) - len = this->length_; - return ACE_OS::mprotect (this->base_addr_, len, prot); -} - -// Change the protection of the pages of the mapped region to -// starting at up to bytes. - -ACE_INLINE int -ACE_Mem_Map::protect (void *addr, size_t len, int prot) -{ - ACE_TRACE ("ACE_Mem_Map::protect"); - return ACE_OS::mprotect (addr, len, prot); -} - -// Hook into the underlying VM system. - -ACE_INLINE int -ACE_Mem_Map::advise (int behavior, int len) -{ - ACE_TRACE ("ACE_Mem_Map::advise"); - if (len < 0) - len = this->length_; - return ACE_OS::madvise ((caddr_t) this->base_addr_, len, behavior); -} - -ACE_INLINE int -ACE_Mem_Map::close_handle (void) -{ - int result = 0; - - if (this->close_handle_) - { - this->close_handle_ = 0; - result = ACE_OS::close (this->handle_); - this->handle_ = ACE_INVALID_HANDLE; - } - - return result; -} - - diff --git a/ace/Memory_Pool.cpp b/ace/Memory_Pool.cpp deleted file mode 100644 index 721be55956e..00000000000 --- a/ace/Memory_Pool.cpp +++ /dev/null @@ -1,753 +0,0 @@ -// $Id$ - -// Memory_Pool.cpp -#define ACE_BUILD_DLL -#include "ace/Memory_Pool.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Memory_Pool.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Local_Memory_Pool) - -void -ACE_Local_Memory_Pool::dump (void) const -{ - ACE_TRACE ("ACE_Local_Memory_Pool::dump"); -} - -ACE_Local_Memory_Pool::ACE_Local_Memory_Pool (LPCTSTR , - const OPTIONS *) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::ACE_Local_Memory_Pool"); -} - -void * -ACE_Local_Memory_Pool::acquire (size_t nbytes, - size_t &rounded_bytes) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::acquire"); - rounded_bytes = this->round_up (nbytes); - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquiring more chunks, nbytes = %d, rounded_bytes = %d\n", nbytes, rounded_bytes)); - - void *cp = (void *) new char[rounded_bytes]; - - if (cp == 0) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %u\n", cp), 0); - else - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquired more chunks, nbytes = %d, rounded_bytes = %d, new break = %d\n", nbytes, rounded_bytes, cp)); - return cp; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_MMAP_Memory_Pool) - -void -ACE_MMAP_Memory_Pool::dump (void) const -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::dump"); -} - -int -ACE_MMAP_Memory_Pool::release (void) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::release"); - this->mmap_.remove (); - return 0; -} - -int -ACE_MMAP_Memory_Pool::sync (ssize_t len, int flags) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::sync"); - - if (len < 0) - len = ACE_OS::lseek (this->mmap_.handle (), 0, SEEK_END); - - return this->mmap_.sync (len, flags); -} - -// Sync bytes of the memory region to the backing store starting -// at . - -int -ACE_MMAP_Memory_Pool::sync (void *addr, size_t len, int flags) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::sync"); - return ACE_OS::msync (addr, len, flags); -} - -// Change the protection of the pages of the mapped region to -// starting at base_addr_> up to bytes. If == -1 -// then change protection of all pages in the mapped region. - -int -ACE_MMAP_Memory_Pool::protect (ssize_t len, int prot) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::protect"); - - if (len < 0) - len = ACE_OS::lseek (this->mmap_.handle (), 0, SEEK_END); - - return this->mmap_.protect (len, prot); -} - -// Change the protection of the pages of the mapped region to -// starting at up to bytes. - -int -ACE_MMAP_Memory_Pool::protect (void *addr, size_t len, int prot) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::protect"); - return ACE_OS::mprotect (addr, len, prot); -} - -ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool (LPCTSTR backing_store_name, - const OPTIONS *options) - : base_addr_ (0), - flags_ (MAP_SHARED), - write_each_page_ (0), - minimum_bytes_ (0), - sa_ (0) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool"); - -#if (defined (ACE_HAS_SIGINFO_T) && !defined (ACE_LACKS_SI_ADDR)) || defined (ACE_WIN32) - // For plaforms that give the faulting address. - guess_on_fault_ = 0; -#else - // For plaforms that do NOT give the faulting address, let the - // options decide whether to guess or not. - if (options) - guess_on_fault_ = options->guess_on_fault_; - else - // If no options are specified, default to true. - guess_on_fault_ = 1; -#endif - - // Only change the defaults if != 0. - if (options) - { - if (options->use_fixed_addr_) - { - this->base_addr_ = options->base_addr_; - ACE_SET_BITS (flags_, MAP_FIXED); - } - this->write_each_page_ = options->write_each_page_; - this->minimum_bytes_ = options->minimum_bytes_; - if (options->flags_ != 0) - this->flags_ = options->flags_; - if (options->sa_ != 0) - this->sa_ = options->sa_; - } - - if (backing_store_name == 0) - // Only create a new unique filename for the backing store file - // if the user didn't supply one... - backing_store_name = ACE_DEFAULT_BACKING_STORE; // from "ace/OS.h" - - ACE_OS::strncpy (this->backing_store_name_, - backing_store_name, - (sizeof this->backing_store_name_ / sizeof (TCHAR))); - -#if !defined (ACE_WIN32) && !defined (CHORUS) - if (this->signal_handler_.register_handler (SIGSEGV, this) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", this->backing_store_name_)); -#endif /* ACE_WIN32 */ -} - -// Compute the new file_offset of the backing store and commit the -// memory. -int -ACE_MMAP_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, - off_t &file_offset) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::commit_backing_store_name"); - - size_t seek_len; - - if (this->write_each_page_) - // Write to the end of every block to ensure that we have enough - // space in the backing store. - seek_len = this->round_up (1); // round_up(1) is one page. - else - // We're willing to risk it all in the name of efficiency... - seek_len = rounded_bytes; - - // The following loop will execute multiple times (if - // this->write_each_page == 1) or just once (if - // this->write_each_page == 0). - - for (size_t cur_block = 0; - cur_block < rounded_bytes; - cur_block += seek_len) - { - file_offset = ACE_OS::lseek (this->mmap_.handle () , seek_len - 1, SEEK_END); - - if (file_offset == -1 || ACE_OS::write (this->mmap_.handle (), "", 1) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", this->backing_store_name_), -1); - } - - // Increment by one to put us at the beginning of the next chunk... - file_offset++; - return 0; -} - -// Memory map the file up to bytes. - -int -ACE_MMAP_Memory_Pool::map_file (off_t file_offset) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::map_file"); - - // Unmap the existing mapping. - this->mmap_.unmap (); - - // Remap the file. - if (this->mmap_.map (file_offset, PROT_RDWR, - this->flags_, this->base_addr_, 0, this->sa_) == -1 - || this->base_addr_ != 0 && this->mmap_.addr () != this->base_addr_) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) base_addr = %u, addr = %u, file_offset = %u, %p\n", - this->mmap_.addr (), this->base_addr_, - file_offset, this->backing_store_name_), -1); - - return 0; -} - -// Ask operating system for more shared memory, increasing the mapping -// accordingly. Note that this routine assumes that the appropriate -// locks are held when it is called. - -void * -ACE_MMAP_Memory_Pool::acquire (size_t nbytes, - size_t &rounded_bytes) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::acquire"); - rounded_bytes = this->round_up (nbytes); - - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquiring more chunks, nbytes = - // %d, rounded_bytes = %d\n", nbytes, rounded_bytes)); - - off_t file_offset; - - if (this->commit_backing_store_name (rounded_bytes, - file_offset) == -1) - return 0; - - if (this->map_file (file_offset) == -1) - return 0; - - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquired more chunks, nbytes = %d, - // rounded_bytes = %d, file_offset = %d\n", nbytes, rounded_bytes, - // file_offset)); - - return (void *) ((char *) this->mmap_.addr () + (this->mmap_.size () - rounded_bytes)); -} - -// Ask system for initial chunk of shared memory. - -void * -ACE_MMAP_Memory_Pool::init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::init_acquire"); - - first_time = 0; - - if (nbytes < (size_t) this->minimum_bytes_) - nbytes = this->minimum_bytes_; - - if (this->mmap_.open (this->backing_store_name_, - O_RDWR | O_CREAT | O_TRUNC | O_EXCL, - ACE_DEFAULT_FILE_PERMS, this->sa_) != -1) - { - // First time in, so need to acquire memory. - first_time = 1; - return this->acquire (nbytes, rounded_bytes); - } - else if (errno == EEXIST) - { - errno = 0; - // Reopen file *without* using O_EXCL... - if (this->mmap_.map (this->backing_store_name_, - -1, - O_RDWR, - ACE_DEFAULT_FILE_PERMS, - PROT_RDWR, - this->flags_, - this->base_addr_, - 0, - this->sa_) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), 0); - - return this->mmap_.addr (); - } - else - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), 0); -} - -int -ACE_MMAP_Memory_Pool::remap (void *addr) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::remap"); - ACE_DEBUG ((LM_DEBUG, "Remapping with fault address at: %X\n", addr)); - off_t current_file_offset = ACE_OS::filesize (this->mmap_.handle ()); - // ACE_OS::lseek (this->mmap_.handle (), 0, SEEK_END); - - if (!(addr < (void *) ((char *) this->mmap_.addr () + current_file_offset) - && addr >= this->mmap_.addr ())) - return -1; - - // Extend the mapping to cover the size of the backing store. - return this->map_file (current_file_offset); -} - -ACE_MMAP_Memory_Pool_Options::ACE_MMAP_Memory_Pool_Options (void *base_addr, - int use_fixed_addr, - int write_each_page, - off_t minimum_bytes, - u_int flags, - int guess_on_fault, - LPSECURITY_ATTRIBUTES sa) - : base_addr_ (base_addr), - use_fixed_addr_ (use_fixed_addr), - write_each_page_ (write_each_page), - minimum_bytes_ (minimum_bytes), - flags_ (flags), - guess_on_fault_ (guess_on_fault), - sa_ (sa) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool_Options::ACE_MMAP_Memory_Pool_Options"); -} - -// Handle SIGSEGV and SIGBUS signals to remap memory properly. When a -// process reads or writes to non-mapped memory a signal (SIGBUS or -// SIGSEGV) will be triggered. At that point, the ACE_Sig_Handler -// (which is part of the ACE_Reactor) will catch the signal and -// dispatch the handle_signal() method defined here. If the SIGSEGV -// signal occurred due to the fact that the mapping wasn't uptodate -// with respect to the backing store, the handler method below will -// update the mapping accordingly. When the signal handler returns, -// the instruction should be restarted and the operation should work. - -int -ACE_MMAP_Memory_Pool::handle_signal (int signum, siginfo_t *siginfo, ucontext_t *) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::handle_signal"); - - if (signum != SIGSEGV) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) ignoring signal %S\n", - signum), -1); - else - ; // ACE_DEBUG ((LM_DEBUG, "(%P|%t) received %S\n", signum)); - - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) new mapping address = %u\n", (char *) this->base_addr_ + current_file_offset)); - -#if defined (ACE_HAS_SIGINFO_T) && !defined (ACE_LACKS_SI_ADDR) - // Make sure that the pointer causing the problem is within the - // range of the backing store. - - if (siginfo != 0) - { - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) si_signo = %d, si_code = %d, addr = %u\n", siginfo->si_signo, siginfo->si_code, siginfo->si_addr)); - if (this->remap ((void *) siginfo->si_addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) address %u out of range\n", - siginfo->si_addr), -1); - return 0; - } -#else - ACE_UNUSED_ARG(siginfo); -#endif /* ACE_HAS_SIGINFO_T && !defined ACE_LACKS_SI_ADDR */ - // If guess_on_fault_ is true, then we want to try to remap without - // knowing the faulting address. guess_on_fault_ can only be true - // on platforms that do not provide the faulting address through - // signals or exceptions. - if (guess_on_fault_) - { - off_t current_file_offset = ACE_OS::filesize (this->mmap_.handle ()); - - // Extend the mapping to cover the size of the backing store. - return this->map_file (current_file_offset); - } - else - return -1; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Lite_MMAP_Memory_Pool) - -ACE_Lite_MMAP_Memory_Pool::ACE_Lite_MMAP_Memory_Pool (LPCTSTR backing_store_name, - const OPTIONS *options) - : ACE_MMAP_Memory_Pool (backing_store_name, options) -{ - ACE_TRACE ("ACE_Lite_MMAP_Memory_Pool::ACE_Lite_MMAP_Memory_Pool"); -} - -int -ACE_Lite_MMAP_Memory_Pool::sync (ssize_t, int) -{ - ACE_TRACE ("ACE_Lite_MMAP_Memory_Pool::sync"); - return 0; -} - -int -ACE_Lite_MMAP_Memory_Pool::sync (void *, size_t, int) -{ - ACE_TRACE ("ACE_Lite_MMAP_Memory_Pool::sync"); - return 0; -} - -#if !defined (ACE_LACKS_SBRK) -ACE_ALLOC_HOOK_DEFINE(ACE_Sbrk_Memory_Pool) - -// Ask system for more local memory via sbrk(2). - -void * -ACE_Sbrk_Memory_Pool::acquire (size_t nbytes, - size_t &rounded_bytes) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::acquire"); - rounded_bytes = this->round_up (nbytes); - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquiring more chunks, nbytes = %d, rounded_bytes = %d\n", nbytes, rounded_bytes)); - void *cp = ACE_OS::sbrk (rounded_bytes); - - if (cp == MAP_FAILED) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) cp = %u\n", cp), 0); - else - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquired more chunks, nbytes = %d, rounded_bytes = %d, new break = %u\n", nbytes, rounded_bytes, cp)); - return cp; -} - -void -ACE_Sbrk_Memory_Pool::dump (void) const -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::dump"); -} - -ACE_Sbrk_Memory_Pool::ACE_Sbrk_Memory_Pool (LPCTSTR , - const OPTIONS *) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::ACE_Sbrk_Memory_Pool"); -} -#endif /* !ACE_LACKS_SBRK */ - -#if !defined (ACE_LACKS_SYSV_SHMEM) -ACE_ALLOC_HOOK_DEFINE(ACE_Shared_Memory_Pool) - -ACE_Shared_Memory_Pool_Options::ACE_Shared_Memory_Pool_Options (char *base_addr, - size_t max_segments, - size_t file_perms, - off_t minimum_bytes) - : base_addr_ (base_addr), - max_segments_ (max_segments), - minimum_bytes_ (minimum_bytes), - file_perms_ (file_perms) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool_Options::ACE_Shared_Memory_Pool_Options"); -} - -void -ACE_Shared_Memory_Pool::dump (void) const -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::dump"); -} - -int -ACE_Shared_Memory_Pool::in_use (off_t &offset, - size_t &counter) -{ - offset = 0; - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - shmid_ds buf; - - for (counter = 0; - counter < this->max_segments_ && st[counter].used_ == 1; - counter++) - { - if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "shmctl"), -1); - offset += buf.shm_segsz; - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) segment size = %d, offset = %d\n", buf.shm_segsz, offset)); - } - - return 0; -} - -int -ACE_Shared_Memory_Pool::find_seg (const void*const searchPtr, - off_t &offset, - size_t &counter) -{ - offset = 0; - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - shmid_ds buf; - - for (counter = 0; - counter < this->max_segments_ - && st[counter].used_ == 1; - counter++) - { - if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "shmctl"), -1); - offset += buf.shm_segsz; - - // If segment 'counter' starts at a location greater than the - // place we are searching for. We then decrement the offset to - // the start of counter-1. (flabar@vais.net) - if ((offset + (off_t)(this->base_addr_) ) > (off_t)searchPtr) - { - --counter; - offset -= buf.shm_segsz; - return 0; - } - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) segment size = %d, offset = %d\n", buf.shm_segsz, offset)); - } - - return 0; -} - -int -ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, - off_t &offset) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::update"); - - size_t counter; - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - - if (this->in_use (offset, counter) == -1) - return -1; - - if (counter == this->max_segments_) - ACE_ERROR_RETURN ((LM_ERROR, - "exceeded max number of segments = %d, base = %u, offset = %u\n", - counter, this->base_addr_, offset), -1); - else - { - int shmid = ACE_OS::shmget (st[counter].key_, - rounded_bytes, - this->file_perms_ | IPC_CREAT | IPC_EXCL); - if (shmid == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "shmget"), 0); - - st[counter].shmid_ = shmid; - st[counter].used_ = 1; - - void *address = (void *) (((char *) this->base_addr_) + offset); - void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); - - if (shmem != address) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p, shmem = %u, address = %u\n", - "shmat", shmem, address), 0); - } - return 0; -} - -// Handle SIGSEGV and SIGBUS signals to remap shared memory properly. - -int -ACE_Shared_Memory_Pool::handle_signal (int , siginfo_t *siginfo, ucontext_t *) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::handle_signal"); - // ACE_DEBUG ((LM_DEBUG, "signal %S occurred\n", signum)); - -#if defined (ACE_HAS_SIGINFO_T) && !defined (ACE_LACKS_SI_ADDR) - off_t offset; - // Make sure that the pointer causing the problem is within the - // range of the backing store. - - if (siginfo != 0) - { - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) si_signo = %d, si_code = %d, addr = %u\n", siginfo->si_signo, siginfo->si_code, siginfo->si_addr)); - size_t counter; - if (this->in_use (offset, counter) == -1) - ACE_ERROR ((LM_ERROR, "(%P|%t) %p\n", "in_use")); - else if (!(siginfo->si_code == SEGV_MAPERR - && siginfo->si_addr < (((char *) this->base_addr_) + offset) - && siginfo->si_addr >= ((char *) this->base_addr_))) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) address %u out of range\n", - siginfo->si_addr), -1); - } - - // The above if case will check to see that the address is in the - // proper range. Therefore there is a segment out there that the - // pointer wants to point into. Find the segment that someone else - // has used and attach to it (flabar@vais.net) - - size_t counter; // ret value to get shmid from the st table. - - if (this->find_seg (siginfo->si_addr, offset, counter) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "in_use"), -1); - - void *address = (void *) (((char *) this->base_addr_) + offset); - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - - void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); - - if (shmem != address) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p, shmem = %u, address = %u\n", - "shmat", shmem, address), 0); - - // NOTE: this won't work if we dont have SIGINFO_T or SI_ADDR -#else - ACE_UNUSED_ARG (siginfo); -#endif /* ACE_HAS_SIGINFO_T && !defined (ACE_LACKS_SI_ADDR) */ - - return 0; -} - -ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool (LPCTSTR backing_store_name, - const OPTIONS *options) - : base_addr_ (0), - file_perms_ (ACE_DEFAULT_FILE_PERMS), - max_segments_ (ACE_DEFAULT_MAX_SEGMENTS), - minimum_bytes_ (0) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool"); - - // Only change the defaults if != 0. - if (options) - { - this->base_addr_ = (void *) options->base_addr_; - this->max_segments_ = options->max_segments_; - this->file_perms_ = options->file_perms_; - this->minimum_bytes_ = options->minimum_bytes_; - } - - if (backing_store_name) - { - // Convert the string into a number that is used as the segment - // key. - - int result = ::sscanf (backing_store_name, - "%d", - &this->base_shm_key_); - - if (result == 0 || result == EOF) - // The conversion to a number failed so hash with crc32 - // ACE::crc32 is also used in . - this->base_shm_key_ = (key_t) ACE::crc32 (backing_store_name); - - if (this->base_shm_key_ == IPC_PRIVATE) - // Make sure that the segment can be shared between unrelated - // processes. - this->base_shm_key_ = ACE_DEFAULT_SHM_KEY; - } - else - this->base_shm_key_ = ACE_DEFAULT_SHM_KEY; - - if (this->signal_handler_.register_handler (SIGSEGV, this) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Sig_Handler::register_handler")); -} - -// Ask system for more shared memory. - -void * -ACE_Shared_Memory_Pool::acquire (size_t nbytes, - size_t &rounded_bytes) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::acquire"); - - rounded_bytes = this->round_up (nbytes); - - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquiring more chunks, nbytes = %d, rounded_bytes = %d\n", nbytes, rounded_bytes)); - - off_t offset; - - if (this->commit_backing_store_name (rounded_bytes, offset) == -1) - return 0; - - // ACE_DEBUG ((LM_DEBUG, "(%P|%t) acquired more chunks, nbytes = %d, rounded_bytes = %d\n", nbytes, rounded_bytes)); - return ((char *) this->base_addr_) + offset; -} - -// Ask system for initial chunk of shared memory. - -void * -ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::init_acquire"); - - off_t shm_table_offset = ACE::round_to_pagesize (sizeof (SHM_TABLE)); - rounded_bytes = this->round_up (nbytes > (size_t) this->minimum_bytes_ - ? nbytes - : (size_t) this->minimum_bytes_); - - // Acquire the semaphore to serialize initialization and prevent - // race conditions. - - int shmid = ACE_OS::shmget (this->base_shm_key_, - rounded_bytes + shm_table_offset, - this->file_perms_ | IPC_CREAT | IPC_EXCL); - if (shmid == -1) - { - if (errno != EEXIST) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "shmget"), 0); - - first_time = 0; - - shmid = ACE_OS::shmget (this->base_shm_key_, 0, 0); - - if (shmid == -1) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "shmget"), 0); - - // This implementation doesn't care if we don't get the key we want... - this->base_addr_ = ACE_OS::shmat (shmid, (char *) this->base_addr_, 0); - - if (this->base_addr_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p, base_addr = %u\n", - "shmat", this->base_addr_), 0); - } - else - { - first_time = 1; - - // This implementation doesn't care if we don't get the key we want... - this->base_addr_ = ACE_OS::shmat (shmid, (char *) this->base_addr_, 0); - - if (this->base_addr_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p, base_addr = %u\n", - "shmat", this->base_addr_), 0); - - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - - st[0].key_ = this->base_shm_key_; - st[0].shmid_ = shmid; - - st[0].used_ = 1; - - for (size_t counter = 1; // Skip over the first entry... - counter < this->max_segments_; - counter++) - { - st[counter].key_ = this->base_shm_key_ + counter; - st[counter].shmid_ = 0; - st[counter].used_ = 0; - } - } - - return (void *) (((char *) this->base_addr_) + shm_table_offset); -} - -// Instruct the memory pool to release all of its resources. - -int -ACE_Shared_Memory_Pool::release (void) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::release"); - - int result = 0; - SHM_TABLE *st = (SHM_TABLE *) this->base_addr_; - - for (size_t counter = 0; - counter < this->max_segments_ && st[counter].used_ == 1; - counter++) - if (ACE_OS::shmctl (st[counter].shmid_, IPC_RMID, 0) == -1) - result = -1; - - return result; -} -#endif /* !ACE_LACKS_SYSV_SHMEM */ diff --git a/ace/Memory_Pool.h b/ace/Memory_Pool.h deleted file mode 100644 index 85b3d25cadd..00000000000 --- a/ace/Memory_Pool.h +++ /dev/null @@ -1,484 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// ACE_Memory_Pool.h -// -// = AUTHOR -// Doug Schmidt and Prashant Jain -// -// ============================================================================ - -#if !defined (ACE_MEMORY_POOL_H) -#define ACE_MEMORY_POOL_H - -#include "ace/ACE.h" -#include "ace/Event_Handler.h" -#include "ace/Signal.h" -#include "ace/Mem_Map.h" -#if !defined (ACE_WIN32) -#include "ace/SV_Semaphore_Complex.h" -#endif /* !ACE_WIN32 */ - -#if !defined (ACE_LACKS_SBRK) -class ACE_Export ACE_Sbrk_Memory_Pool_Options -{ - // = TITLE - // Helper class for constructor options. - // - // = DESCRIPTION - // This should be a nested class, but that breaks too many - // compilers. -}; - -class ACE_Export ACE_Sbrk_Memory_Pool -{ - // = TITLE - // Make a memory pool that is based on . -public: - typedef ACE_Sbrk_Memory_Pool_Options OPTIONS; - - ACE_Sbrk_Memory_Pool (LPCTSTR backing_store_name = 0, - const OPTIONS *options = 0); - // Initialize the pool. - - // = Implementor operations. - virtual void *init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time); - // Ask system for initial chunk of local memory. - - virtual void *acquire (size_t nbytes, - size_t &rounded_bytes); - // Acquire at least NBYTES from the memory pool. ROUNDED_BYTES is - // the actual number of bytes allocated. - - virtual int release (void); - // Instruct the memory pool to release all of its resources. - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at base_addr_>. If == -1 then sync the - // whole region. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - virtual void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - virtual size_t round_up (size_t nbytes); - // Implement the algorithm for rounding up the request to an - // appropriate chunksize. -}; -#endif /* !ACE_LACKS_SBRK */ - -#if !defined (ACE_LACKS_SYSV_SHMEM) - -class ACE_Export ACE_Shared_Memory_Pool_Options -{ - // = TITLE - // Helper class for constructor options. - // - // = DESCRIPTION - // This should be a nested class, but that breaks too many - // compilers. -public: - // = Initialization method. - ACE_Shared_Memory_Pool_Options (char *base_addr = ACE_DEFAULT_BASE_ADDR, - size_t max_segments = ACE_DEFAULT_MAX_SEGMENTS, - size_t file_perms = ACE_DEFAULT_FILE_PERMS, - off_t minimum_bytes = 0); - - char *base_addr_; - // Base address of the memory-mapped backing store. - - size_t max_segments_; - // Number of shared memory segments to allocate. - - off_t minimum_bytes_; - // What the minimum bytes of the initial segment should be. - - size_t file_perms_; - // File permissions to use when creating/opening a segment. -}; - -class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler -{ - // = TITLE - // Make a memory pool that is based on System V shared memory - // (shmget(2) etc.). This implementation allows memory to be - // shared between processes. -public: - typedef ACE_Shared_Memory_Pool_Options OPTIONS; - - ACE_Shared_Memory_Pool (LPCTSTR backing_store_name = 0, - const OPTIONS *options = 0); - // Initialize the pool. - - virtual void *init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time); - // Ask system for initial chunk of local memory. - - virtual void *acquire (size_t nbytes, - size_t &rounded_bytes); - // Acquire at least NBYTES from the memory pool. ROUNDED_BYTES is - // the actual number of bytes allocated. Also acquires an internal - // semaphore that ensures proper serialization of Memory_Pool - // initialization across processes. - - virtual int release (void); - // Instruct the memory pool to release all of its resources. - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync the memory region to the backing store starting at - // base_addr_>. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync the memory region to the backing store starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - virtual void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - virtual size_t round_up (size_t nbytes); - // Implement the algorithm for rounding up the request to an - // appropriate chunksize. - - virtual int commit_backing_store_name (size_t rounded_bytes, - off_t &offset); - // Commits a new shared memory segment if necessary after an - // acquire() or a signal. is set to the new offset into - // the backing store. - - // = Keeps track of all the segments being used. - struct SHM_TABLE - { - key_t key_; - // Shared memory segment key. - - int shmid_; - // Shared memory segment internal id. - - int used_; - // Is the segment currently used.; - }; - - void *base_addr_; - // Base address of the shared memory segment. If this has the value - // of 0 then the OS is free to select any address, otherwise this - // value is what the OS must try to use to map the shared memory - // segment. - - size_t file_perms_; - // File permissions to use when creating/opening a segment. - - size_t max_segments_; - // Number of shared memory segments in the table. - - off_t minimum_bytes_; - // What the minimim bytes of the initial segment should be. - - key_t base_shm_key_; - // Base shared memory key for the segment. - - int find_seg (const void*const searchPtr, - off_t &offset, size_t &counter); - // find the segment that contains the searchPtr - - virtual int in_use (off_t &offset, size_t &counter); - // Determine how much memory is currently in use. - - ACE_Sig_Handler signal_handler_; - // Handles SIGSEGV. - - virtual int handle_signal (int signum, siginfo_t *, ucontext_t *); - // Handle SIGSEGV and SIGBUS signals to remap shared memory - // properly. -}; -#endif /* !ACE_LACKS_SYSV_SHMEM */ - -class ACE_Export ACE_Local_Memory_Pool_Options -{ - // = TITLE - // Helper class for constructor options. - // - // = DESCRIPTION - // This should be a nested class, but that breaks too many - // compilers. -}; - -class ACE_Export ACE_Local_Memory_Pool -{ - // = TITLE - // Make a memory pool that is based on C++ new/delete. This is - // useful for integrating existing components that use new/delete - // into the ACE Malloc scheme... -public: - typedef ACE_Local_Memory_Pool_Options OPTIONS; - - ACE_Local_Memory_Pool (LPCTSTR backing_store_name = 0, - const OPTIONS *options = 0); - // Initialize the pool. - - virtual void *init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time); - // Ask system for initial chunk of local memory. - - virtual void *acquire (size_t nbytes, - size_t &rounded_bytes); - // Acquire at least NBYTES from the memory pool. ROUNDED_BYTES is - // the actual number of bytes allocated. - - virtual int release (void); - // Instruct the memory pool to release all of its resources. - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at base_addr_>. If == -1 then sync the - // whole region. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync bytes of the memory region to the backing store - // starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - virtual void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - virtual size_t round_up (size_t nbytes); - - // Implement the algorithm for rounding up the request to an - // appropriate chunksize. -}; - -class ACE_Export ACE_MMAP_Memory_Pool_Options -{ - // = TITLE - // Helper class for constructor options. - // - // = DESCRIPTION - // This should be a nested class, but that breaks too many - // compilers. -public: - // = Initialization method. - ACE_MMAP_Memory_Pool_Options (void *base_addr = ACE_DEFAULT_BASE_ADDR, - int use_fixed_addr = 1, - int write_each_page = 1, - off_t minimum_bytes = 0, - u_int flags = 0, - int guess_on_fault = 1, - LPSECURITY_ATTRIBUTES sa = 0); - - void *base_addr_; - // Base address of the memory-mapped backing store. - - int use_fixed_addr_; - // Must we use the or can we let mmap(2) select it? - - int write_each_page_; - // Should each page be written eagerly to avoid surprises later - // on? - - off_t minimum_bytes_; - // What the minimim bytes of the initial segment should be. - - u_int flags_; - // Any special flags that need to be used for . - - int guess_on_fault_; - // Try to remap without knowing the faulting address. This - // parameter is ignored on platforms that know the faulting address - // (UNIX with SI_ADDR and Win32). - - LPSECURITY_ATTRIBUTES sa_; - // Pointer to a security attributes object. Only used on NT. -}; - -class ACE_Export ACE_MMAP_Memory_Pool : public ACE_Event_Handler -{ - // = TITLE - // Make a memory pool that is based on . This - // implementation allows memory to be shared between processes. -public: - typedef ACE_MMAP_Memory_Pool_Options OPTIONS; - - // = Initialization and termination methods. - - ACE_MMAP_Memory_Pool (LPCTSTR backing_store_name = 0, - const OPTIONS *options = 0); - // Initialize the pool. - - virtual void *init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time); - // Ask system for initial chunk of shared memory. - - virtual void *acquire (size_t nbytes, - size_t &rounded_bytes); - // Acquire at least from the memory pool. - // is the actual number of bytes allocated. Also acquires an - // internal semaphore that ensures proper serialization of - // initialization across processes. - - virtual int release (void); - // Instruct the memory pool to release all of its resources. - - virtual int sync (ssize_t len = -1, int flags = MS_SYNC); - // Sync the memory region to the backing store starting at - // base_addr_>. - - virtual int sync (void *addr, size_t len, int flags = MS_SYNC); - // Sync the memory region to the backing store starting at . - - virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at base_addr_> up to bytes. If == -1 - // then change protection of all pages in the mapped region. - - virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - // Change the protection of the pages of the mapped region to - // starting at up to bytes. - - virtual int remap (void *addr); - // Try to extend the virtual address space so that is now - // covered by the address mapping. The method succeeds and returns - // 0 if the backing store has adequate memory to cover this address. - // Otherwise, it returns -1. This method is typically called by a - // UNIX signal handler for SIGSEGV or a Win32 structured exception - // when another process has grown the backing store (and its - // mapping) and our process now incurs a fault because our mapping - // isn't in range (yet). - - virtual void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Implement the algorithm for rounding up the request to an - // appropriate chunksize. - - virtual size_t round_up (size_t nbytes); - - virtual int commit_backing_store_name (size_t rounded_bytes, off_t &file_offset); - // Compute the new file_offset of the backing store and commit the - // memory. - - virtual int map_file (off_t file_offset); - // Memory map the file up to bytes. - - virtual int handle_signal (int signum, siginfo_t *, ucontext_t *); - // Handle SIGSEGV and SIGBUS signals to remap shared memory - // properly. - - ACE_Sig_Handler signal_handler_; - // Handles SIGSEGV. - - ACE_Mem_Map mmap_; - // Memory-mapping object. - - void *base_addr_; - // Base of mapped region. If this has the value of 0 then the OS is - // free to select any address to map the file, otherwise this value - // is what the OS must try to use to mmap the file. - - int flags_; - // Flags passed into . - - int write_each_page_; - // Should we write a byte to each page to forceably allocate memory - // for this backing store? - - off_t minimum_bytes_; - // What the minimum bytes of the initial segment should be. - - TCHAR backing_store_name_[MAXPATHLEN + 1]; - // Name of the backing store where the shared memory pool is kept. - - int guess_on_fault_; - // Try to remap without knowing the faulting address. This - // parameter is ignored on platforms that know the faulting address - // (UNIX with SI_ADDR and Win32). - - LPSECURITY_ATTRIBUTES sa_; - // Security attributes object, only used on NT. -}; - -class ACE_Export ACE_Lite_MMAP_Memory_Pool : public ACE_MMAP_Memory_Pool -{ - // = TITLE - // Make a ``lighter-weight'' memory pool based . - // - // = DESCRIPTION - // This implementation allows memory to be shared between - // processes. However, unlike the - // the sync() methods are no-ops, which means that we don't pay - // for the price of flushing the memory to the backing store on - // every update. Naturally, this trades off increased - // performance for less reliability if the machine crashes. -public: - // = Initialization and termination methods. - - ACE_Lite_MMAP_Memory_Pool (LPCTSTR backing_store_name = 0, - const OPTIONS *options = 0); - // Initialize the pool. - - int sync (ssize_t len = -1, int flags = MS_SYNC); - // Overwrite the default sync behavior with no-op - - int sync (void *addr, size_t len, int flags = MS_SYNC); - // Overwrite the default sync behavior with no-op -}; - -#if defined (__ACE_INLINE__) -#include "ace/Memory_Pool.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_MEMORY_POOL_H */ diff --git a/ace/Memory_Pool.i b/ace/Memory_Pool.i deleted file mode 100644 index cd7ce978ab7..00000000000 --- a/ace/Memory_Pool.i +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Memory_Pool.i - -ACE_INLINE int -ACE_Local_Memory_Pool::sync (ssize_t, int) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Local_Memory_Pool::sync (void *, size_t, int) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Local_Memory_Pool::protect (ssize_t, int) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::protect"); - return 0; -} - -ACE_INLINE int -ACE_Local_Memory_Pool::protect (void *, size_t, int) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::protect"); - return 0; -} - -ACE_INLINE size_t -ACE_MMAP_Memory_Pool::round_up (size_t nbytes) -{ - ACE_TRACE ("ACE_MMAP_Memory_Pool::round_up"); - return ACE::round_to_pagesize (nbytes); -} - -// Ask system for initial chunk of local memory. - -ACE_INLINE void * -ACE_Local_Memory_Pool::init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::init_acquire"); - // Note that we assume that when ACE_Local_Memory_Pool is used, - // ACE_Malloc's constructor will only get called once. If this - // assumption doesn't hold, we are in deep trouble! - - first_time = 1; - return this->acquire (nbytes, rounded_bytes); -} - -// Let the underlying new operator figure out the alignment... - -ACE_INLINE size_t -ACE_Local_Memory_Pool::round_up (size_t nbytes) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::round_up"); - return ACE::round_to_pagesize (nbytes); -} - -// No-op for now... - -ACE_INLINE int -ACE_Local_Memory_Pool::release (void) -{ - ACE_TRACE ("ACE_Local_Memory_Pool::release"); - return 0; -} - -#if !defined (ACE_LACKS_SYSV_SHMEM) -// Implement the algorithm for rounding up the request to an -// appropriate chunksize. - -ACE_INLINE size_t -ACE_Shared_Memory_Pool::round_up (size_t nbytes) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::round_up"); - if (nbytes < ACE_DEFAULT_SEGMENT_SIZE) - nbytes = ACE_DEFAULT_SEGMENT_SIZE; - - return ACE::round_to_pagesize (nbytes); -} - -ACE_INLINE int -ACE_Shared_Memory_Pool::sync (ssize_t, int) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Shared_Memory_Pool::sync (void *, size_t, int) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Shared_Memory_Pool::protect (ssize_t, int) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::protect"); - return 0; -} - -ACE_INLINE int -ACE_Shared_Memory_Pool::protect (void *, size_t, int) -{ - ACE_TRACE ("ACE_Shared_Memory_Pool::protect"); - return 0; -} -#endif /* !ACE_LACKS_SYSV_SHMEM */ - -#if !defined (ACE_LACKS_SBRK) - -// Ask system for initial chunk of local memory. - -ACE_INLINE void * -ACE_Sbrk_Memory_Pool::init_acquire (size_t nbytes, - size_t &rounded_bytes, - int &first_time) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::init_acquire"); - // Note that we assume that when ACE_Sbrk_Memory_Pool is used, - // ACE_Malloc's constructor will only get called once. If this - // assumption doesn't hold, we are in deep trouble! - - first_time = 1; - return this->acquire (nbytes, rounded_bytes); -} - -// Round up the request to a multiple of the page size. - -ACE_INLINE size_t -ACE_Sbrk_Memory_Pool::round_up (size_t nbytes) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::round_up"); - return ACE::round_to_pagesize (nbytes); -} - -/* No-op for now... */ - -ACE_INLINE int -ACE_Sbrk_Memory_Pool::release (void) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::release"); - return 0; -} - -ACE_INLINE int -ACE_Sbrk_Memory_Pool::sync (ssize_t, int) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Sbrk_Memory_Pool::sync (void *, size_t, int) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::sync"); - return 0; -} - -ACE_INLINE int -ACE_Sbrk_Memory_Pool::protect (ssize_t, int) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::protect"); - return 0; -} - -ACE_INLINE int -ACE_Sbrk_Memory_Pool::protect (void *, size_t, int) -{ - ACE_TRACE ("ACE_Sbrk_Memory_Pool::protect"); - return 0; -} -#endif /* !ACE_LACKS_SBRK */ diff --git a/ace/Message_Block.cpp b/ace/Message_Block.cpp deleted file mode 100644 index 31d86595042..00000000000 --- a/ace/Message_Block.cpp +++ /dev/null @@ -1,731 +0,0 @@ -// Message_Block.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Message_Block.h" -#include "ace/Synch_T.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Message_Block.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Message_Block) - -void -ACE_Message_Block::data_block (ACE_Data_Block *db) -{ - ACE_TRACE ("ACE_Message_Block::data_block"); - if (this->data_block_ != 0) - this->data_block_->release (); - - this->data_block_ = db; - - // Set the read and write pointers in the to point - // to the buffer in the . - this->rd_ptr (this->data_block ()->base ()); - this->wr_ptr (this->data_block ()->base ()); -} - -int -ACE_Message_Block::copy (const char *buf, size_t n) -{ - ACE_TRACE ("ACE_Message_Block::copy"); - // Note that for this to work correct, end() *must* be >= wr_ptr(). - size_t len = ACE_static_cast(size_t, this->end () - this->wr_ptr ()); - - if (len < n) - return -1; - else - { - (void) ACE_OS::memcpy (this->wr_ptr (), buf, n); - this->wr_ptr (n); - return 0; - } -} - -int -ACE_Message_Block::copy (const char *buf) -{ - ACE_TRACE ("ACE_Message_Block::copy"); - // Note that for this to work correct, end() *must* be >= wr_ptr(). - size_t len = ACE_static_cast(size_t, (this->end () - this->wr_ptr ())); - size_t buflen = ACE_OS::strlen (buf) + 1; - - if (len < buflen) - return -1; - else - { - (void) ACE_OS::memcpy (this->wr_ptr (), buf, buflen); - this->wr_ptr (buflen); - return 0; - } -} - -void -ACE_Data_Block::dump (void) const -{ - ACE_TRACE ("ACE_Data_Block::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "-----( Data Block )-----\n" - "type_ = %d\n" - "cur_size_ = %u\n" - "max_size_ = %u\n" - "flags_ = %u\n" - "base_ = %u\n" - "locking_strategy_ = %u\n" - "reference_count_ = %u\n" - "---------------------------\n", - this->type_, - this->cur_size_, - this->max_size_, - this->flags_, - this->base_, - this->locking_strategy_, - this->reference_count_)); - this->allocator_strategy_->dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_Message_Block::dump (void) const -{ - ACE_TRACE ("ACE_Message_Block::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "-----( Message Block )-----\n" - "priority_ = %d\n" - "next_ = %u\n" - "prev_ = %u\n" - "cont_ = %u\n" - "rd_ptr_ = %u\n" - "wr_ptr_ = %u\n" - "---------------------------\n", - this->priority_, - this->next_, - this->prev_, - this->cont_, - this->rd_ptr_, - this->wr_ptr_)); - this->data_block ()->dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -int -ACE_Data_Block::size (size_t length) -{ - ACE_TRACE ("ACE_Data_Block::size"); - - if (length <= this->max_size_) - this->cur_size_ = length; - else - { - // We need to resize! - char *buf; - ACE_ALLOCATOR_RETURN (buf, - (char *) this->allocator_strategy_->malloc (length), - -1); - - ACE_OS::memcpy (buf, this->base_, this->cur_size_); - if (ACE_BIT_DISABLED (this->flags_, ACE_Message_Block::DONT_DELETE)) - this->allocator_strategy_->free ((void *) this->base_); - else - // We now assume ownership. - ACE_CLR_BITS (this->flags_, ACE_Message_Block::DONT_DELETE); - - this->max_size_ = length; - this->cur_size_ = length; - this->base_ = buf; - } - return 0; -} - -int -ACE_Message_Block::size (size_t length) -{ - ACE_TRACE ("ACE_Message_Block::size"); - char *old_base = this->data_block ()->base (); - - // Resize the underlying . - if (this->data_block ()->size (length) == -1) - return -1; - - // Reset the read and write pointers if we've changed the underlying - // memory buffer. - else if (this->data_block ()->base () != old_base) - { - // Compute the old deltas... - int r_delta = this->rd_ptr_ - old_base; - int w_delta = this->wr_ptr_ - old_base; - - // ... and use them to initialize the new deltas. - this->rd_ptr_ = this->data_block ()->base () + r_delta; - this->wr_ptr_ = this->data_block ()->base () + w_delta; - } - return 0; -} - -ACE_Data_Block::ACE_Data_Block (void) - : type_ (ACE_Message_Block::MB_DATA), - cur_size_ (0), - max_size_ (0), - flags_ (ACE_Message_Block::DONT_DELETE), - base_ (0), - allocator_strategy_ (0), - locking_strategy_ (0), - reference_count_ (1) -{ - ACE_TRACE ("ACE_Data_Block::ACE_Data_Block"); -} - -ACE_Data_Block::ACE_Data_Block (size_t size, - ACE_Message_Block::ACE_Message_Type msg_type, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - ACE_Message_Block::Message_Flags flags) - : type_ (msg_type), - cur_size_ (size), - max_size_ (size), - flags_ (flags), - base_ ((char *) msg_data), - allocator_strategy_ (allocator_strategy), - locking_strategy_ (locking_strategy), - reference_count_ (1) -{ - ACE_TRACE ("ACE_Data_Block::ACE_Data_Block"); - - // If the user didn't pass one in, let's use the - // . - if (this->allocator_strategy_ == 0) - ACE_ALLOCATOR (this->allocator_strategy_, ACE_Allocator::instance ()); - - if (msg_data == 0) - ACE_ALLOCATOR (this->base_, - (char *) this->allocator_strategy_->malloc (size)); - else - this->base_ = (char *) msg_data; -} - -ACE_Message_Block::ACE_Message_Block (const char *data, - size_t size) -{ - ACE_TRACE ("ACE_Message_Block::ACE_Message_Block"); - - if (this->init_i (size, // size - MB_DATA, // type - 0, // cont - data, // data - 0, // allocator - 0, // locking strategy - ACE_Message_Block::DONT_DELETE, // flags - 0, // priority - 0) == -1) // data block - ACE_ERROR ((LM_ERROR, "ACE_Message_Block")); -} - -ACE_Message_Block::ACE_Message_Block (void) -{ - ACE_TRACE ("ACE_Message_Block::ACE_Message_Block"); - - if (this->init_i (0, // size - MB_DATA, // type - 0, // cont - 0, // data - 0, // allocator - 0, // locking strategy - ACE_Message_Block::DONT_DELETE, // flags - 0, // priority - 0) == -1) // data block - ACE_ERROR ((LM_ERROR, "ACE_Message_Block")); -} - -ACE_Message_Block::ACE_Message_Block (size_t size, - ACE_Message_Type msg_type, - ACE_Message_Block *msg_cont, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - u_long priority) -{ - ACE_TRACE ("ACE_Message_Block::ACE_Message_Block"); - - if (this->init_i (size, - msg_type, - msg_cont, - msg_data, - allocator_strategy, - locking_strategy, - msg_data ? ACE_Message_Block::DONT_DELETE : 0, - priority, - 0) == -1) // data block - ACE_ERROR ((LM_ERROR, "ACE_Message_Block")); -} - -int -ACE_Message_Block::init (size_t size, - ACE_Message_Type msg_type, - ACE_Message_Block *msg_cont, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - u_long priority) -{ - ACE_TRACE ("ACE_Message_Block::init"); - - return this->init_i (size, - msg_type, - msg_cont, - msg_data, - allocator_strategy, - locking_strategy, - msg_data ? ACE_Message_Block::DONT_DELETE : 0, - priority, - 0); // data block -} - -int -ACE_Message_Block::init (const char *data, - size_t size) -{ - ACE_TRACE ("ACE_Message_Block::init"); - // Should we also initialize all the other fields, as well? - - return this->init_i (size, // size - MB_DATA, // type - 0, // cont - data, // data - 0, // allocator - 0, // locking strategy - ACE_Message_Block::DONT_DELETE, // flags - 0, // priority - 0); // data block -} - -ACE_Message_Block::ACE_Message_Block (size_t size, - ACE_Message_Type msg_type, - ACE_Message_Block *msg_cont, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - Message_Flags flags, - u_long priority, - ACE_Data_Block *db) -{ - ACE_TRACE ("ACE_Message_Block::ACE_Message_Block"); - - if (this->init_i (size, - msg_type, - msg_cont, - msg_data, - allocator_strategy, - locking_strategy, - flags, - priority, - db) == -1) - ACE_ERROR ((LM_ERROR, "ACE_Message_Block")); -} - -ACE_Message_Block::ACE_Message_Block (ACE_Data_Block *data_block) -{ - ACE_TRACE ("ACE_Message_Block::ACE_Message_Block"); - - if (this->init_i (0, // size - MB_NORMAL, // type - 0, // cont - 0, // data - 0, // allocator - 0, // locking strategy - 0, // flags - 0, // priority - data_block) == -1) // data block - ACE_ERROR ((LM_ERROR, "ACE_Message_Block")); -} - -int -ACE_Message_Block::init_i (size_t size, - ACE_Message_Type msg_type, - ACE_Message_Block *msg_cont, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - Message_Flags flags, - u_long priority, - ACE_Data_Block *db) -{ - ACE_TRACE ("ACE_Message_Block::init_i"); - - this->priority_ = priority; - this->cont_ = msg_cont; - this->next_ = 0; - this->prev_ = 0; - this->data_block_ = 0; - - if (db == 0) - // Allocate the portion, which is reference - // counted. - ACE_NEW_RETURN (db, - ACE_Data_Block (size, - msg_type, - msg_data, - allocator_strategy, - locking_strategy, - flags), - -1); - - // Reset the data_block_ pointer. - this->data_block (db); - return 0; -} - -ACE_Data_Block::~ACE_Data_Block (void) -{ - // Sanity check... - ACE_ASSERT (this->reference_count_ <= 1); - - // Just to be safe... - this->reference_count_ = 0; - - if (ACE_BIT_DISABLED (this->flags_, ACE_Message_Block::DONT_DELETE)) - { - this->allocator_strategy_->free ((void *) this->base_); - this->base_ = 0; - } -} - -ACE_Data_Block * -ACE_Data_Block::release_i (void) -{ - ACE_TRACE ("ACE_Data_Block::release_i"); - - ACE_ASSERT (this->reference_count_ > 0); - - ACE_Data_Block *result = 0; - - // decrement reference count - this->reference_count_--; - - if (this->reference_count_ == 0) - // this will cause deletion of this - result = 0; - else - result = this; - - return result; -} - -ACE_Data_Block * -ACE_Data_Block::release (ACE_Lock *lock) -{ - ACE_TRACE ("ACE_Data_Block::release"); - - ACE_Data_Block *result = 0; - ACE_Lock *lock_to_be_used = 0; - - // Check if we were passed in a lock - if (lock != 0) - { - // Make sure that the lock passed in and our lock are the same - if (lock == this->locking_strategy_) - // In this case no locking is required. - lock_to_be_used = 0; - - // The lock passed in does not match our lock - else - // Lock to be used is our lock - lock_to_be_used = this->locking_strategy_; - } - // This is the case when no lock was passed in - else - // Lock to be used is our lock - lock_to_be_used = this->locking_strategy_; - - // If there's a locking strategy then we need to acquire the lock - // before decrementing the count. - if (lock_to_be_used != 0) - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *lock_to_be_used, 0); - - result = this->release_i (); - } - else - result = this->release_i (); - - // We must delete this outside the scope of the locking_strategy_ - // since otherwise we'd be trying to "release" through a deleted - // pointer! - if (result == 0) - delete this; - - return result; -} - -ACE_Message_Block * -ACE_Message_Block::release (void) -{ - ACE_TRACE ("ACE_Message_Block::release"); - - ACE_Message_Block *result = 0; - ACE_Lock *lock = 0; - - // Do we have a valid data block - if (this->data_block ()) - { - // Grab the lock that belongs to my data block - lock = this->data_block ()->locking_strategy (); - - // if we have a lock - if (lock != 0) - { - // One guard for all - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *lock, 0); - - // Call non-guarded release with - result = this->release_i (lock); - } - // This is the case when we have a valid data block but no lock - else - // Call non-guarded release with no lock - result = this->release_i (0); - } - else - // This is the case when we don't even have a valid data block - result = this->release_i (0); - - return result; -} - -ACE_Message_Block * -ACE_Message_Block::release_i (ACE_Lock *lock) -{ - ACE_TRACE ("ACE_Message_Block::release_i"); - - // Free up all the continuation messages. - if (this->cont_) - { - ACE_Message_Block *mb = this->cont_; - ACE_Message_Block *tmp; - - do - { - tmp = mb; - mb = mb->cont_; - tmp->cont_ = 0; - - tmp->release_i (lock); - } - while (mb); - - this->cont_ = 0; - } - - if (this->data_block ()) - { - this->data_block ()->release (lock); - this->data_block_ = 0; - } - - // We will now commit suicide: this object *must* have come from the heap - delete this; - - return 0; -} - -/* static */ ACE_Message_Block * -ACE_Message_Block::release (ACE_Message_Block *mb) -{ - ACE_TRACE ("ACE_Message_Block::release"); - - if (mb != 0) - return mb->release (); - else - return 0; -} - -ACE_Message_Block::~ACE_Message_Block (void) -{ - ACE_TRACE ("ACE_Message_Block::~ACE_Message_Block"); - - if (this->data_block ()) - this->data_block ()->release (); - - this->prev_ = 0; - this->next_ = 0; -} - -ACE_Data_Block * -ACE_Data_Block::duplicate (void) -{ - ACE_TRACE ("ACE_Data_Block::duplicate"); - - // Create a new , but share the pointer - // data (i.e., don't copy that). - if (this->locking_strategy_) - { - // We need to acquire the lock before incrementing the count. - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->locking_strategy_, 0); - this->reference_count_++; - } - else - this->reference_count_++; - - return this; -} - -ACE_Message_Block * -ACE_Message_Block::duplicate (void) const -{ - ACE_TRACE ("ACE_Message_Block::duplicate"); - - ACE_Message_Block *nb; - - // Create a new that contains unique copies of - // the message block fields, but a reference counted duplicate of - // the . - ACE_NEW_RETURN (nb, - ACE_Message_Block (0, // size - ACE_Message_Type (0), // type - 0, // cont - 0, // data - 0, // allocator - 0, // locking strategy - 0, // flags - this->priority_, // priority - // Get a pointer to a - // "duplicated" - // (will simply increment the - // reference count). - this->data_block ()->duplicate ()), // data block - 0); - - // Set the read and write pointers in the new to the - // same relative offset as in the existing . Note - // that we are assuming that the data_block()->base() pointer - // doesn't change when it's duplicated. - nb->rd_ptr (this->rd_ptr_ - this->data_block ()->base ()); - nb->wr_ptr (this->wr_ptr_ - this->data_block ()->base ()); - - // Increment the reference counts of all the continuation messages. - if (this->cont_) - { - nb->cont_ = this->cont_->duplicate (); - - // If things go wrong, release all of our resources and return - // 0. - if (nb->cont_ == 0) - { - nb->release (); - nb = 0; - } - } - - return nb; -} - -ACE_Message_Block * -ACE_Message_Block::duplicate (ACE_Message_Block *mb) -{ - ACE_TRACE ("ACE_Message_Block::duplicate"); - if (mb == 0) - return 0; - else - return mb->duplicate (); -} - -ACE_Data_Block * -ACE_Data_Block::clone (ACE_Message_Block::Message_Flags mask) const -{ - ACE_TRACE ("ACE_Data_Block::clone"); - - // You always want to clear this one to prevent memory leaks but you - // might add some others later. - const ACE_Message_Block::Message_Flags always_clear = - ACE_Message_Block::DONT_DELETE; - - ACE_Data_Block *nb; - - ACE_NEW_RETURN (nb, - ACE_Data_Block (this->max_size_, // size - this->type_, // type - 0, // data - this->allocator_strategy_, // allocator - this->locking_strategy_, // locking strategy - this->flags_), // flags - 0); - - // Copy all of the payload memory into the new object. - ACE_OS::memcpy (nb->base_, this->base_, this->max_size_); - - // Set new flags minus the mask... - nb->clr_flags (mask | always_clear); - return nb; -} - -ACE_Message_Block * -ACE_Message_Block::clone (Message_Flags mask) const -{ - ACE_TRACE ("ACE_Message_Block::clone"); - - // Get a pointer to a "cloned" (will copy the - // values rather than increment the reference count). - - ACE_Data_Block *db = this->data_block ()->clone (mask); - - if (db == 0) - return 0; - - ACE_Message_Block *nb = - new ACE_Message_Block (0, // size - ACE_Message_Type (0), // type - 0, // cont - 0, // data - 0, // allocator - 0, // locking strategy - 0, // flags - this->priority_, // priority - db); // data_block - if (nb == 0) - { - db->release (); - return 0; - } - - // Set the read and write pointers in the new to the - // same relative offset as in the existing . - nb->rd_ptr (this->rd_ptr_ - this->data_block ()->base ()); - nb->wr_ptr (this->wr_ptr_ - this->data_block ()->base ()); - - // Clone all the continuation messages if necessary. - if (this->cont () != 0 - && (nb->cont_ = this->cont ()->clone (mask)) == 0) - { - nb->release (); - return 0; - } - return nb; -} - -// This is private. -ACE_Message_Block & -ACE_Message_Block::operator= (const ACE_Message_Block &) -{ - ACE_TRACE ("ACE_Message_Block::operator="); - return *this; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -// These specializations aren't needed for the ACE library because -// Service_Config.cpp has them: -// -// template class ACE_Malloc ; -// template class ACE_Allocator_Adapter >; -template class ACE_Guard; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -// These specializations aren't needed for the ACE library because -// Service_Config.cpp has them: -// -// #pragma instantiate ACE_Malloc -// #pragma instantiate ACE_Allocator_Adapter > -#pragma instantiate ACE_Guard -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/ace/Message_Block.h b/ace/Message_Block.h deleted file mode 100644 index 28482bfc851..00000000000 --- a/ace/Message_Block.h +++ /dev/null @@ -1,496 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Message_Block.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#include "ace/ACE.h" - -#if !defined (ACE_MESSAGE_BLOCK_H) -#define ACE_MESSAGE_BLOCK_H - -#include "ace/Malloc.h" - -// Forward declaration. -class ACE_Data_Block; -class ACE_Lock; - -class ACE_Export ACE_Message_Block -{ - // = TITLE - // Stores messages for use throughout ACE (particularly - // ). - // - // = DESCRIPTION - // An is modeled after the message data - // structures used in System V STREAMS. Its purpose is to - // enable efficient manipulation of arbitrarily-large messages - // without much incurring memory copying overhead. Here are the - // main characteristics of an : - // - // 1. Contains a pointer to a reference-counted - // , which in turn points to the actual data - // buffer. This allows very flexible and efficient sharing of - // data by multiple s. - // - // 2. One or more can be linked to form a - // ``fragment chain.'' - // - // 3. can be linked together by and - // pointers to form a queue of messages (e.g., this is how - // works). -public: - friend class ACE_Data_Block; - - enum ACE_Message_Type - { - // = Data and protocol messages (regular and priority) - MB_DATA = 0x01, // regular data - MB_PROTO = 0x02, // protocol control - - // = Control messages (regular and priority) - MB_BREAK = 0x03, // line break - MB_PASSFP = 0x04, // pass file pointer - MB_EVENT = 0x05, // post an event to an event queue - MB_SIG = 0x06, // generate process signal - MB_IOCTL = 0x07, // ioctl; set/get params - MB_SETOPTS = 0x08, // set various stream head options - - // = Control messages (high priority; go to head of queue) - MB_IOCACK = 0x81, // acknowledge ioctl - MB_IOCNAK = 0x82, // negative ioctl acknowledge - MB_PCPROTO = 0x83, // priority proto message - MB_PCSIG = 0x84, // generate process signal - MB_READ = 0x85, // generate read notification - MB_FLUSH = 0x86, // flush your queues - MB_STOP = 0x87, // stop transmission immediately - MB_START = 0x88, // restart transmission after stop - MB_HANGUP = 0x89, // line disconnect - MB_ERROR = 0x8a, // fatal error used to set u.u_error - MB_PCEVENT = 0x8b, // post an event to an event queue - - // Message class masks - MB_NORMAL = 0x00, // Normal priority messages - MB_PRIORITY = 0x80, // High priority control messages - MB_USER = 0x200 // User-defined control messages - }; - - typedef u_long Message_Flags; - - enum - { - DONT_DELETE = 01, // Don't delete the data on exit since we don't own it. - USER_FLAGS = 0x1000 // user defined flags start here - }; - - // = Initialization and termination. - ACE_Message_Block (void); - // Create an empty message. - - ACE_Message_Block (ACE_Data_Block *); - // Create an that owns the *. - - ACE_Message_Block (const char *data, - size_t size = 0); - // Create a Message Block that assumes ownership of without - // copying it (i.e., we don't delete it since we don't malloc it!). - // Note that the of the will be , but - // the will be 0 until is set. - - ACE_Message_Block (size_t size, - ACE_Message_Type type = MB_DATA, - ACE_Message_Block *cont = 0, - const char *data = 0, - ACE_Allocator *allocator_strategy = 0, - ACE_Lock *locking_strategy = 0, - u_long priority = 0); - // Create an initialized message of type containing - // bytes. The argument initializes the continuation field in - // the . If == 0 then we create and own the - // , using to get the data if it's non-0. If - // != 0 we assume ownership of the (and don't delete - // it). If is non-0 then this is used to protect - // regions of code that access shared state (e.g., reference - // counting) from race conditions. Note that the of the - // will be , but the will be 0 until - // is set. - - int init (const char *data, - size_t size = 0); - // Create a Message Block that assumes ownership of (i.e., - // doesn't delete it since it didn't malloc it!). Note that the - // of the will be , but the - // will be 0 until is set. - - int init (size_t size, - ACE_Message_Type type = MB_DATA, - ACE_Message_Block *cont = 0, - const char *data = 0, - ACE_Allocator *allocator_strategy = 0, - ACE_Lock *locking_strategy = 0, - u_long priority = 0); - // Create an initialized message of type containing - // bytes. The argument initializes the continuation field in - // the . If == 0 then we create and own the - // , using to get the data if it's non-0. If - // != 0 we assume ownership of the (and don't delete - // it). If is non-0 then this is used to protect - // regions of code that access shared state (e.g., reference - // counting) from race conditions. Note that the of the - // will be , but the will be 0 until - // is set. - - virtual ~ACE_Message_Block (void); - // Delete all the resources held in the message. - - // = Message Type accessors and mutators. - - ACE_Message_Type msg_type (void) const; - // Get type of the message. - - void msg_type (ACE_Message_Type type); - // Set type of the message. - - int is_data_msg (void) const; - // Find out what type of message this is. - - ACE_Message_Type msg_class (void) const; - // Find out what class of message this is (there are two classes, - // messages and messages). - - // = Message flag accessors and mutators. - Message_Flags set_flags (Message_Flags more_flags); - // Bitwise-or the into the existing message flags and - // return the new value. - - Message_Flags clr_flags (Message_Flags less_flags); - // Clear the message flag bits specified in and return - // the new value. - - Message_Flags flags (void) const; - // Get the current message flags. - - u_long msg_priority (void) const; - // Get priority of the message. - - void msg_priority (u_long priority); - // Set priority of the message. - - // = Deep copy and shallow copy methods. - - virtual ACE_Message_Block *clone (Message_Flags mask = 0) const; - // Return an exact "deep copy" of the message, i.e., create fresh - // new copies of all the Data_Blocks and continuations. - - ACE_Message_Block *duplicate (void) const; - // Return a "shallow" copy that increments our reference count by 1. - - static ACE_Message_Block *duplicate (ACE_Message_Block *mb); - // Return a "shallow" copy that increments our reference count by 1. - // This is similar to CORBA's <_duplicate> method, which is useful - // if you want to eliminate lots of checks for NULL pointers - // before calling <_duplicate> on them. - - ACE_Message_Block *release (void); - // Decrease the shared ACE_Data_Block's reference count by 1. If the - // ACE_Data_Block's reference count goes to 0, it is deleted. - // In all cases, this ACE_Message_Block is deleted - it must have come - // from the heap, or there will be trouble. - - static ACE_Message_Block *release (ACE_Message_Block *mb); - // This behaves like the non-static method , except that it - // checks if is 0. This is similar to , which - // is useful if you want to eliminate lots of checks for NULL - // pointers before calling on them. Returns . - - // = Operations on Message data - - int copy (const char *buf, size_t n); - // Copies bytes from into the Message_Block starting at - // the wr_ptr() offset. Return 0 if succeeds and -1 if the size of - // the message is too small... - - int copy (const char *buf); - // Copies into the Message_Block starting at the wr_ptr() - // offset. This call assumees that is NUL-terminated. Return - // 0 if succeeds and -1 if the size of the message is too small... - - char *base (void) const; - // Get message data. - -#if 0 - void base (char *data, - size_t size, - Message_Flags = DONT_DELETE); - // Set message data (doesn't reallocate). -#endif /* 0 */ - - char *end (void) const; - // Return a pointer to 1 past the end of the data in a message. - - char *rd_ptr (void); - // Get the read pointer. - void rd_ptr (char *ptr); - // Set the read pointer to . - void rd_ptr (size_t n); - // Set the read pointer ahead bytes. - - char *wr_ptr (void); - // Get the write pointer. - void wr_ptr (char *ptr); - // Set the write pointer to . - void wr_ptr (size_t n); - // Set the write pointer ahead bytes. This is used to compute - // the of a message. - - // = Message length is wr_ptr() - rd_ptr (). - size_t length (void) const; - // Get the length of the message - void length (size_t n); - // Set the length of the message - - // = Message size is the total amount of space alloted. - size_t size (void) const; - // Get the total amount of space in the message. - int size (size_t length); - // Set the total amount of space in the message, reallocating space - // if necessary. However, the and remain at the - // original offsets into the buffer, even if it is reallocated. - // Returns 0 if successful, else -1. - - // = methods. - ACE_Data_Block *data_block (void) const; - // Get the data block. - void data_block (ACE_Data_Block *); - // Set the data block (releasing the original one). - - // = The continuation field chains together composite messages. - ACE_Message_Block *cont (void) const; - // Get the continuation field. - void cont (ACE_Message_Block *); - // Set the continuation field. - - // = Pointer to the directly ahead in the . - ACE_Message_Block *next (void) const; - // Get link to next message. - void next (ACE_Message_Block *); - // Set link to next message. - - // = Pointer to the directly behind in the . - ACE_Message_Block *prev (void) const; - // Get link to prev message. - void prev (ACE_Message_Block *); - // Set link to prev message. - - // = The locking strategy prevents race conditions. - ACE_Lock *locking_strategy (void); - // Get the locking strategy. - ACE_Lock *locking_strategy (ACE_Lock *); - // Set a new locking strategy and return the hold one. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - // = Internal initialization methods. - ACE_Message_Block (size_t size, - ACE_Message_Type type, - ACE_Message_Block *cont, - const char *data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - Message_Flags flags, - u_long priority, - ACE_Data_Block *db); - // Perform the actual initialization. - - ACE_Message_Block *release_i (ACE_Lock *lock); - // Internal release implementation - - int init_i (size_t size, - ACE_Message_Type type, - ACE_Message_Block *cont, - const char *data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - Message_Flags flags, - u_long priority, - ACE_Data_Block *db); - // Perform the actual initialization. - - char *rd_ptr_; - // Pointer to beginning of next read. - - char *wr_ptr_; - // Pointer to beginning of next write. - - u_long priority_; - // Priority of message. - - // = Links to other ACE_Message_Block *s. - ACE_Message_Block *cont_; - // Pointer to next message block in the chain. - - ACE_Message_Block *next_; - // Pointer to next message in the list. - - ACE_Message_Block *prev_; - // Pointer to previous message in the list. - - ACE_Data_Block *data_block_; - // Pointer to the reference counted data structure that contains the - // actual memory buffer. - - // = Disallow these operations for now (use instead). - ACE_Message_Block &operator= (const ACE_Message_Block &); - ACE_Message_Block (const ACE_Message_Block &); -}; - -class ACE_Export ACE_Data_Block -{ - // = TITLE - // Stores the data payload that is accessed via one or more - // s. - // - // = DESCRIPTION - // This data structure is reference counted to maximize - // sharing. It also contains the (which - // protects the reference count from race conditions in - // concurrent programs) and the (which - // determines what memory pool is used to allocate the memory). -public: - // = Initialization and termination methods. - ACE_Data_Block (void); - // Default "do-nothing" constructor. - - ACE_Data_Block (size_t size, - ACE_Message_Block::ACE_Message_Type msg_type, - const char *msg_data, - ACE_Allocator *allocator_strategy, - ACE_Lock *locking_strategy, - ACE_Message_Block::Message_Flags flags); - // Initialize. - - virtual ~ACE_Data_Block (void); - // Delete all the resources held in the message. - - ACE_Message_Block::ACE_Message_Type msg_type (void) const; - // Get type of the message. - - void msg_type (ACE_Message_Block::ACE_Message_Type type); - // Set type of the message. - - char *base (void) const; - // Get message data pointer - -#if 0 - void base (char *data, - size_t size, - Message_Flags = DONT_DELETE); - // Set message data pointer (doesn't reallocate). -#endif /* 0 */ - - char *end (void) const; - // Return a pointer to 1 past the end of the data in a message. - - // = Message size is the total amount of space alloted. - size_t size (void) const; - // Get the total amount of space in the message. - int size (size_t length); - // Set the total amount of space in the message. Returns 0 if - // successful, else -1. - - ACE_Data_Block *clone (ACE_Message_Block::Message_Flags mask = 0) const; - // Return an exact "deep copy" of the message, i.e., create fresh - // new copies of all the Data_Blocks and continuations. - - ACE_Data_Block *duplicate (void); - // Return a "shallow" copy that increments our reference count by 1. - - ACE_Data_Block *release (ACE_Lock *lock = 0); - // Decrease the shared reference count by 1. If the reference count - // is > 0 then return this; else if reference count == 0 then delete - // and and return 0. Behavior is undefined if reference - // count < 0. - - // = Message flag accessors and mutators. - ACE_Message_Block::Message_Flags set_flags (ACE_Message_Block::Message_Flags more_flags); - // Bitwise-or the into the existing message flags and - // return the new value. - - ACE_Message_Block::Message_Flags clr_flags (ACE_Message_Block::Message_Flags less_flags); - // Clear the message flag bits specified in and return - // the new value. - - ACE_Message_Block::Message_Flags flags (void) const; - // Get the current message flags. - - // = The locking strategy prevents race conditions. - ACE_Lock *locking_strategy (void); - // Get the locking strategy. - ACE_Lock *locking_strategy (ACE_Lock *); - // Set a new locking strategy and return the hold one. - - void dump (void) const; - // Dump the state of an object. - -private: - ACE_Data_Block *release_i (void); - // Internal release implementation - - ACE_Message_Block::ACE_Message_Type type_; - // Type of message. - - size_t cur_size_; - // Current size of message block. - - size_t max_size_; - // Total size of buffer. - - ACE_Message_Block::Message_Flags flags_; - // Misc flags (e.g., DONT_DELETE and USER_FLAGS). - - char *base_; - // Pointer to beginning of message payload. - - // = Strategies. - ACE_Allocator *allocator_strategy_; - // Pointer to the allocator defined for this . Note - // that this pointer is shared by all owners of this - // . - - ACE_Lock *locking_strategy_; - // Pointer to the locking strategy defined for this - // . This is used to protect regions of code that - // access shared state. Note that this lock is - // shared by all owners of the 's data. - - int reference_count_; - // Reference count for this , which is used to avoid - // deep copies (i.e., ). Note that this pointer value is - // shared by all owners of the 's data, i.e., all the - // s. - - // = Disallow these operations. - ACE_Data_Block &operator= (const ACE_Data_Block &); - ACE_Data_Block (const ACE_Data_Block &); -}; - -#if defined (__ACE_INLINE__) -#include "ace/Message_Block.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_MESSAGE_BLOCK_H */ diff --git a/ace/Message_Block.i b/ace/Message_Block.i deleted file mode 100644 index 005ad2ffd21..00000000000 --- a/ace/Message_Block.i +++ /dev/null @@ -1,334 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Message_Block.i - -ACE_INLINE ACE_Data_Block * -ACE_Message_Block::data_block (void) const -{ - ACE_TRACE ("ACE_Message_Block::data_block"); - return this->data_block_; -} - -ACE_INLINE char * -ACE_Data_Block::base (void) const -{ - ACE_TRACE ("ACE_Data_Block::base"); - return this->base_; -} - -ACE_INLINE size_t -ACE_Data_Block::size (void) const -{ - ACE_TRACE ("ACE_Data_Block::size"); - return this->cur_size_; -} - -#if 0 -ACE_INLINE void -ACE_Data_Block::base (char *msg_data, - size_t msg_length, - Message_Flags msg_flags) -{ - this->max_size_ = msg_length; - this->cur_size_ = msg_length; - this->base_ = msg_data; - this->flags_ = msg_flags; -} -#endif /* 0 */ - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Data_Block::set_flags (ACE_Message_Block::Message_Flags more_flags) -{ - ACE_TRACE ("ACE_Data_Block::set_flags"); - // Later we might mask more_glags so that user can't change internal - // ones: more_flags &= ~(USER_FLAGS -1). - return ACE_SET_BITS (this->flags_, more_flags); -} - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Data_Block::clr_flags (ACE_Message_Block::Message_Flags less_flags) -{ - ACE_TRACE ("ACE_Data_Block::clr_flags"); - // Later we might mask more_flags so that user can't change internal - // ones: less_flags &= ~(USER_FLAGS -1). - return ACE_CLR_BITS (this->flags_, less_flags); -} - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Data_Block::flags (void) const -{ - ACE_TRACE ("ACE_Data_Block::flags"); - return this->flags_; -} - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Message_Block::set_flags (ACE_Message_Block::Message_Flags more_flags) -{ - ACE_TRACE ("ACE_Message_Block::set_flags"); - return this->data_block ()->set_flags (more_flags); -} - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Message_Block::clr_flags (ACE_Message_Block::Message_Flags less_flags) -{ - ACE_TRACE ("ACE_Message_Block::clr_flags"); - return this->data_block ()->clr_flags (less_flags); -} - -ACE_INLINE ACE_Message_Block::Message_Flags -ACE_Message_Block::flags (void) const -{ - ACE_TRACE ("ACE_Message_Block::flags"); - return this->data_block ()->flags (); -} - -// Return the length of the "active" portion of the message. - -ACE_INLINE size_t -ACE_Message_Block::length (void) const -{ - ACE_TRACE ("ACE_Message_Block::length"); - return this->wr_ptr_ - this->rd_ptr_; -} - -// Sets the length of the "active" portion of the message. This is -// defined as the offset from RD_PTR to WR_PTR. - -ACE_INLINE void -ACE_Message_Block::length (size_t len) -{ - ACE_TRACE ("ACE_Message_Block::length"); - this->wr_ptr_ = this->rd_ptr_ + len; -} - -// Return the length of the potential size of the message. - -ACE_INLINE size_t -ACE_Message_Block::size (void) const -{ - ACE_TRACE ("ACE_Message_Block::size"); - return this->data_block ()->size (); -} - -ACE_INLINE ACE_Message_Block::ACE_Message_Type -ACE_Data_Block::msg_type (void) const -{ - ACE_TRACE ("ACE_Data_Block::msg_type"); - return this->type_; -} - -ACE_INLINE void -ACE_Data_Block::msg_type (ACE_Message_Block::ACE_Message_Type t) -{ - ACE_TRACE ("ACE_Data_Block::msg_type"); - this->type_ = t; -} - -ACE_INLINE ACE_Message_Block::ACE_Message_Type -ACE_Message_Block::msg_type (void) const -{ - ACE_TRACE ("ACE_Message_Block::msg_type"); - return this->data_block ()->msg_type (); -} - -ACE_INLINE void -ACE_Message_Block::msg_type (ACE_Message_Block::ACE_Message_Type t) -{ - ACE_TRACE ("ACE_Message_Block::msg_type"); - this->data_block ()->msg_type (t); -} - -ACE_INLINE ACE_Message_Block::ACE_Message_Type -ACE_Message_Block::msg_class (void) const -{ - ACE_TRACE ("ACE_Message_Block::msg_class"); - - if (this->msg_type () < ACE_Message_Block::MB_PRIORITY) - return ACE_Message_Block::MB_NORMAL; - else if (this->msg_type () < ACE_Message_Block::MB_USER) - return ACE_Message_Block::MB_PRIORITY; - else - return ACE_Message_Block::MB_USER; -} - -ACE_INLINE int -ACE_Message_Block::is_data_msg (void) const -{ - ACE_TRACE ("ACE_Message_Block::is_data_msg"); - ACE_Message_Type mt = this->msg_type (); - return - mt == ACE_Message_Block::MB_DATA - || mt == ACE_Message_Block::MB_PROTO - || mt == ACE_Message_Block::MB_PCPROTO; -} - -ACE_INLINE u_long -ACE_Message_Block::msg_priority (void) const -{ - ACE_TRACE ("ACE_Message_Block::msg_priority"); - return this->priority_; -} - -ACE_INLINE void -ACE_Message_Block::msg_priority (u_long pri) -{ - ACE_TRACE ("ACE_Message_Block::msg_priority"); - this->priority_ = pri; -} - -ACE_INLINE char * -ACE_Message_Block::base (void) const -{ - ACE_TRACE ("ACE_Message_Block::base"); - return this->data_block ()->base (); -} - -#if 0 -ACE_INLINE void -ACE_Message_Block::base (char *msg_data, - size_t msg_length, - Message_Flags msg_flags) -{ - ACE_TRACE ("ACE_Message_Block::base"); - this->rd_ptr_ = msg_data; - this->wr_ptr_ = msg_data; - this->data_block ()->base (msg_data, msg_lenth, msg_flags); -} -#endif /* 0 */ - -ACE_INLINE char * -ACE_Message_Block::rd_ptr (void) -{ - ACE_TRACE ("ACE_Message_Block::rd_ptr"); - return this->rd_ptr_; -} - -ACE_INLINE void -ACE_Message_Block::wr_ptr (char *new_ptr) -{ - ACE_TRACE ("ACE_Message_Block::wr_ptr"); - this->wr_ptr_ = new_ptr; -} - -// Return a pointer to 1 past the end of the data buffer. - -ACE_INLINE char * -ACE_Data_Block::end (void) const -{ - ACE_TRACE ("ACE_Data_Block::end"); - return this->base_ + this->max_size_; -} - -ACE_INLINE char * -ACE_Message_Block::end (void) const -{ - ACE_TRACE ("ACE_Message_Block::end"); - return this->data_block ()->end (); -} - - -ACE_INLINE void -ACE_Message_Block::rd_ptr (char *new_ptr) -{ - ACE_TRACE ("ACE_Message_Block::rd_ptr"); - this->rd_ptr_ = new_ptr; -} - -ACE_INLINE void -ACE_Message_Block::rd_ptr (size_t n) -{ - ACE_TRACE ("ACE_Message_Block::rd_ptr"); - this->rd_ptr_ += n; -} - -ACE_INLINE char * -ACE_Message_Block::wr_ptr (void) -{ - ACE_TRACE ("ACE_Message_Block::wr_ptr"); - return this->wr_ptr_; -} - -ACE_INLINE void -ACE_Message_Block::wr_ptr (size_t n) -{ - ACE_TRACE ("ACE_Message_Block::wr_ptr"); - this->wr_ptr_ += n; -} - -ACE_INLINE void -ACE_Message_Block::cont (ACE_Message_Block *cont_msg) -{ - ACE_TRACE ("ACE_Message_Block::cont"); - this->cont_ = cont_msg; -} - -ACE_INLINE ACE_Message_Block * -ACE_Message_Block::cont (void) const -{ - ACE_TRACE ("ACE_Message_Block::cont"); - return this->cont_; -} - -ACE_INLINE void -ACE_Message_Block::next (ACE_Message_Block *next_msg) -{ - ACE_TRACE ("ACE_Message_Block::next"); - this->next_ = next_msg; -} - -ACE_INLINE ACE_Message_Block * -ACE_Message_Block::next (void) const -{ - ACE_TRACE ("ACE_Message_Block::next"); - return this->next_; -} - -ACE_INLINE void -ACE_Message_Block::prev (ACE_Message_Block *next_msg) -{ - ACE_TRACE ("ACE_Message_Block::prev"); - this->prev_ = next_msg; -} - -ACE_INLINE ACE_Message_Block * -ACE_Message_Block::prev (void) const -{ - ACE_TRACE ("ACE_Message_Block::prev"); - return this->prev_; -} - -ACE_INLINE ACE_Lock * -ACE_Data_Block::locking_strategy (void) -{ - ACE_TRACE ("ACE_Data_Block::locking_strategy"); - return this->locking_strategy_; -} - -ACE_INLINE ACE_Lock * -ACE_Data_Block::locking_strategy (ACE_Lock *nls) -{ - ACE_TRACE ("ACE_Data_Block::locking_strategy"); - ACE_Lock *ols = this->locking_strategy_; - - this->locking_strategy_ = nls; - return ols; -} - -ACE_INLINE ACE_Lock * -ACE_Message_Block::locking_strategy (void) -{ - ACE_TRACE ("ACE_Message_Block::locking_strategy"); - return this->data_block ()->locking_strategy (); -} - -ACE_INLINE ACE_Lock * -ACE_Message_Block::locking_strategy (ACE_Lock *nls) -{ - ACE_TRACE ("ACE_Message_Block::locking_strategy"); - ACE_Lock *ols = this->data_block ()->locking_strategy (); - this->data_block ()->locking_strategy (nls); - return ols; -} - - diff --git a/ace/Message_Queue.cpp b/ace/Message_Queue.cpp deleted file mode 100644 index 01ebbf5dee6..00000000000 --- a/ace/Message_Queue.cpp +++ /dev/null @@ -1,700 +0,0 @@ -// Message_Queue.cpp -// $Id$ - -#if !defined (ACE_MESSAGE_QUEUE_C) -#define ACE_MESSAGE_QUEUE_C - -#define ACE_BUILD_DLL -#include "ace/Message_Queue.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Message_Queue.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Message_Queue) - -template -ACE_Message_Queue_Iterator::ACE_Message_Queue_Iterator (ACE_Message_Queue &q) - : queue_ (q), - curr_ (q.head_) -{ -} - -template int -ACE_Message_Queue_Iterator::next (ACE_Message_Block *&entry) -{ - ACE_Read_Guard m (this->queue_.lock_); - - if (this->curr_ != 0) - { - entry = this->curr_; - return 1; - } - else - return 0; -} - -template int -ACE_Message_Queue_Iterator::done (void) const -{ - ACE_Read_Guard m (this->queue_.lock_); - - return this->curr_ == 0; -} - -template int -ACE_Message_Queue_Iterator::advance (void) -{ - ACE_Read_Guard m (this->queue_.lock_); - - this->curr_ = this->curr_->next (); - return this->curr_ != 0; -} - -template void -ACE_Message_Queue_Iterator::dump (void) const -{ -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Message_Queue_Iterator) - -template -ACE_Message_Queue_Reverse_Iterator::ACE_Message_Queue_Reverse_Iterator (ACE_Message_Queue &queue) - : queue_ (queue), - curr_ (queue_.tail_) -{ -} - -template int -ACE_Message_Queue_Reverse_Iterator::next (ACE_Message_Block *&entry) -{ - ACE_Read_Guard m (this->queue_.lock_); - - if (this->curr_ != 0) - { - entry = this->curr_; - return 1; - } - else - return 0; -} - -template int -ACE_Message_Queue_Reverse_Iterator::done (void) const -{ - ACE_Read_Guard m (this->queue_.lock_); - - return this->curr_ == 0; -} - -template int -ACE_Message_Queue_Reverse_Iterator::advance (void) -{ - ACE_Read_Guard m (this->queue_.lock_); - - this->curr_ = this->curr_->prev (); - return this->curr_ != 0; -} - -template void -ACE_Message_Queue_Reverse_Iterator::dump (void) const -{ -} - -template void -ACE_Message_Queue::dump (void) const -{ - ACE_TRACE ("ACE_Message_Queue::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, - "deactivated = %d\n" - "low_water_mark = %d\n" - "high_water_mark = %d\n" - "cur_bytes = %d\n" - "cur_count = %d\n" - "head_ = %u\n" - "tail_ = %u\n", - this->deactivated_, - this->low_water_mark_, - this->high_water_mark_, - this->cur_bytes_, - this->cur_count_, - this->head_, - this->tail_)); - ACE_DEBUG ((LM_DEBUG,"not_full_cond: \n")); - not_full_cond_.dump (); - ACE_DEBUG ((LM_DEBUG,"not_empty_cond: \n")); - not_empty_cond_.dump (); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template -ACE_Message_Queue::ACE_Message_Queue (size_t hwm, - size_t lwm, - ACE_Notification_Strategy *ns) -#if defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - : not_empty_cond_ (0), - not_full_cond_ (0), - enqueue_waiters_ (0), - dequeue_waiters_ (0) -#else - : not_empty_cond_ (this->lock_), - not_full_cond_ (this->lock_) -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ -{ - ACE_TRACE ("ACE_Message_Queue::ACE_Message_Queue"); - - if (this->open (hwm, lwm, ns) == -1) - ACE_ERROR ((LM_ERROR, "open")); -} - -template -ACE_Message_Queue::~ACE_Message_Queue (void) -{ - ACE_TRACE ("ACE_Message_Queue::~ACE_Message_Queue"); - if (this->head_ != 0 && this->close () == -1) - ACE_ERROR ((LM_ERROR, "close")); -} - -// Don't bother locking since if someone calls this function more than -// once for the same queue, we're in bigger trouble than just -// concurrency control! - -template int -ACE_Message_Queue::open (size_t hwm, - size_t lwm, - ACE_Notification_Strategy *ns) -{ - ACE_TRACE ("ACE_Message_Queue::open"); - this->high_water_mark_ = hwm; - this->low_water_mark_ = lwm; - this->deactivated_ = 0; - this->cur_bytes_ = 0; - this->cur_count_ = 0; - this->tail_ = 0; - this->head_ = 0; - this->notification_strategy_ = ns; - return 0; -} - -// Implementation of the public deactivate() method -// (assumes locks are held). - -template int -ACE_Message_Queue::deactivate_i (void) -{ - ACE_TRACE ("ACE_Message_Queue::deactivate_i"); - int current_status = - this->deactivated_ ? WAS_INACTIVE : WAS_ACTIVE; - - // Wakeup all waiters. -#if !defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - this->not_empty_cond_.broadcast (); - this->not_full_cond_.broadcast (); -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - - this->deactivated_ = 1; - return current_status; -} - -template int -ACE_Message_Queue::activate_i (void) -{ - ACE_TRACE ("ACE_Message_Queue::activate_i"); - int current_status = - this->deactivated_ ? WAS_INACTIVE : WAS_ACTIVE; - this->deactivated_ = 0; - return current_status; -} - -// Clean up the queue if we have not already done so! - -template int -ACE_Message_Queue::close (void) -{ - ACE_TRACE ("ACE_Message_Queue::close"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - int res = this->deactivate_i (); - - // Free up the remaining message on the list - - for (this->tail_ = 0; this->head_ != 0; ) - { - this->cur_count_--; - - ACE_Message_Block *temp; - - // Decrement all the counts. - for (temp = this->head_; - temp != 0; - temp = temp->cont ()) - this->cur_bytes_ -= temp->size (); - - temp = this->head_; - this->head_ = this->head_->next (); - - // Make sure to use rather than since this is - // reference counted. - temp->release (); - } - - return res; -} - -template int -ACE_Message_Queue::signal_enqueue_waiters (void) -{ -#if !defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - if (this->not_full_cond_.signal () != 0) - return -1; -#else - if (this->enqueue_waiters_ > 0) - { - --this->enqueue_waiters_; - return this->not_full_cond_.release (); - } -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - return 0; -} - -template int -ACE_Message_Queue::signal_dequeue_waiters (void) -{ -#if !defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - // Tell any blocked threads that the queue has a new item! - if (this->not_empty_cond_.signal () != 0) - return -1; -#else - if (this->dequeue_waiters_ > 0) - { - --this->dequeue_waiters_; - return this->not_empty_cond_.release (); - } -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - return 0; -} - -// Actually put the node at the end (no locking so must be called with -// locks held). - -template int -ACE_Message_Queue::enqueue_tail_i (ACE_Message_Block *new_item) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_tail_i"); - - if (new_item == 0) - return -1; - - // List was empty, so build a new one. - if (this->tail_ == 0) - { - this->head_ = new_item; - this->tail_ = new_item; - new_item->next (0); - new_item->prev (0); - } - // Link at the end. - else - { - new_item->next (0); - this->tail_->next (new_item); - new_item->prev (this->tail_); - this->tail_ = new_item; - } - - // Make sure to count *all* the bytes in a composite message!!! - - for (ACE_Message_Block *temp = new_item; - temp != 0; - temp = temp->cont ()) - this->cur_bytes_ += temp->size (); - - this->cur_count_++; - - if (this->signal_dequeue_waiters () == -1) - return -1; - else - return this->cur_count_; -} - -// Actually put the node at the head (no locking) - -template int -ACE_Message_Queue::enqueue_head_i (ACE_Message_Block *new_item) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_head_i"); - - if (new_item == 0) - return -1; - - new_item->prev (0); - new_item->next (this->head_); - - if (this->head_ != 0) - this->head_->prev (new_item); - else - this->tail_ = new_item; - - this->head_ = new_item; - - // Make sure to count *all* the bytes in a composite message!!! - - for (ACE_Message_Block *temp = new_item; - temp != 0; - temp = temp->cont ()) - this->cur_bytes_ += temp->size (); - - this->cur_count_++; - - if (this->signal_dequeue_waiters () == -1) - return -1; - else - return this->cur_count_; -} - -// Actually put the node at its proper position relative to its -// priority. - -template int -ACE_Message_Queue::enqueue_i (ACE_Message_Block *new_item) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_i"); - - if (new_item == 0) - return -1; - - if (this->head_ == 0) - // Check for simple case of an empty queue, where all we need to - // do is insert into the head. - return this->enqueue_head_i (new_item); - else - { - ACE_Message_Block *temp; - - // Figure out where the new item goes relative to its priority. - // We start looking from the highest priority to the lowest - // priority. - - for (temp = this->tail_; - temp != 0; - temp = temp->prev ()) - if (temp->msg_priority () >= new_item->msg_priority ()) - // Break out when we've located an item that has higher - // priority that . - break; - - if (temp == 0) - // Check for simple case of inserting at the head of the queue, - // where all we need to do is insert before the - // current head. - return this->enqueue_head_i (new_item); - else if (temp->next () == 0) - // Check for simple case of inserting at the end of the - // queue, where all we need to do is insert after - // the current tail. - return this->enqueue_tail_i (new_item); - else - { - // Insert the message right before the item of equal or - // higher priority. This ensures that FIFO order is - // maintained when messages of the same priority are - // inserted consecutively. - new_item->prev (temp); - new_item->next (temp->next ()); - temp->next ()->prev (new_item); - temp->next (new_item); - } - } - - // Make sure to count *all* the bytes in a composite message!!! - - for (ACE_Message_Block *temp = new_item; - temp != 0; - temp = temp->cont ()) - this->cur_bytes_ += temp->size (); - - this->cur_count_++; - - if (this->signal_dequeue_waiters () == -1) - return -1; - else - return this->cur_count_; -} - -// Actually get the first ACE_Message_Block (no locking, so must be -// called with locks held). This method assumes that the queue has at -// least one item in it when it is called. - -template int -ACE_Message_Queue::dequeue_head_i (ACE_Message_Block *&first_item) -{ - ACE_TRACE ("ACE_Message_Queue::dequeue_head_i"); - first_item = this->head_; - this->head_ = this->head_->next (); - - if (this->head_ == 0) - this->tail_ = 0; - else - // The prev pointer of the first message block has to point to - // NULL... - this->head_->prev (0); - - // Make sure to subtract off all of the bytes associated with this - // message. - for (ACE_Message_Block *temp = first_item; - temp != 0; - temp = temp->cont ()) - this->cur_bytes_ -= temp->size (); - - this->cur_count_--; - - if (this->signal_enqueue_waiters () == -1) - return -1; - else - return this->cur_count_; -} - -// Take a look at the first item without removing it. - -template int -ACE_Message_Queue::peek_dequeue_head (ACE_Message_Block *&first_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::peek_dequeue_head"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - - // Wait for at least one item to become available - - while (this->is_empty_i ()) - { - if (this->not_empty_cond_.wait (tv) == -1) - { - if (errno == ETIME) - errno = EWOULDBLOCK; - return -1; - } - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - } - - first_item = this->head_; - return this->cur_count_; -} - -template int -ACE_Message_Queue::wait_not_full_cond (ACE_Guard &mon, - ACE_Time_Value *tv) -{ -#if defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - while (this->is_full_i ()) - { - ++this->enqueue_waiters_; - // @@ Need to add sanity checks for failure... - mon.release (); - this->not_full_cond_.acquire (); - mon.acquire (); - } -#else - ACE_UNUSED_ARG (mon); - - // Wait while the queue is full. - - while (this->is_full_i ()) - { - if (this->not_full_cond_.wait (tv) == -1) - { - if (errno == ETIME) - errno = EWOULDBLOCK; - return -1; - } - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - } -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - return 0; -} - -template int -ACE_Message_Queue::wait_not_empty_cond (ACE_Guard &mon, - ACE_Time_Value *tv) -{ -#if defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - while (this->is_empty_i ()) - { - ++this->dequeue_waiters_; - // @@ Need to add sanity checks for failure... - mon.release (); - this->not_empty_cond_.acquire (); - mon.acquire (); - } -#else - ACE_UNUSED_ARG (mon); - - // Wait while the queue is empty. - - while (this->is_empty_i ()) - { - if (this->not_empty_cond_.wait (tv) == -1) - { - if (errno == ETIME) - errno = EWOULDBLOCK; - return -1; - } - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - } -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - return 0; -} - -// Block indefinitely waiting for an item to arrive, -// does not ignore alerts (e.g., signals). - -template int -ACE_Message_Queue::enqueue_head (ACE_Message_Block *new_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_head"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - - if (this->wait_not_full_cond (ace_mon, tv) == -1) - return -1; - - int queue_count = this->enqueue_head_i (new_item); - - if (queue_count == -1) - return -1; - else - { - this->notify (); - return queue_count; - } -} - -// Enqueue an into the in -// accordance with its (0 is lowest priority). Returns -// -1 on failure, else the number of items still on the queue. - -template int -ACE_Message_Queue::enqueue_prio (ACE_Message_Block *new_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_prio"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - - if (this->wait_not_full_cond (ace_mon, tv) == -1) - return -1; - - int queue_count = this->enqueue_i (new_item); - - if (queue_count == -1) - return -1; - else - { - this->notify (); - return queue_count; - } -} - -template int -ACE_Message_Queue::enqueue (ACE_Message_Block *new_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue"); - return this->enqueue_prio (new_item, tv); -} - -// Block indefinitely waiting for an item to arrive, -// does not ignore alerts (e.g., signals). - -template int -ACE_Message_Queue::enqueue_tail (ACE_Message_Block *new_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::enqueue_tail"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - - if (this->wait_not_full_cond (ace_mon, tv) == -1) - return -1; - - int queue_count = this->enqueue_tail_i (new_item); - - if (queue_count == -1) - return -1; - else - { - this->notify (); - return queue_count; - } -} - -// Remove an item from the front of the queue. If TV == 0 block -// indefinitely (or until an alert occurs). Otherwise, block for upto -// the amount of time specified by TV. - -template int -ACE_Message_Queue::dequeue_head (ACE_Message_Block *&first_item, - ACE_Time_Value *tv) -{ - ACE_TRACE ("ACE_Message_Queue::dequeue_head"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - if (this->deactivated_) - { - errno = ESHUTDOWN; - return -1; - } - - if (this->wait_not_empty_cond (ace_mon, tv) == -1) - return -1; - - return this->dequeue_head_i (first_item); -} - -template int -ACE_Message_Queue::notify (void) -{ - ACE_TRACE ("ACE_Message_Queue::notify"); - - // By default, don't do anything. - if (this->notification_strategy_ == 0) - return 0; - else - return this->notification_strategy_->notify (); -} - -#endif /* ACE_MESSAGE_QUEUE_C */ diff --git a/ace/Message_Queue.h b/ace/Message_Queue.h deleted file mode 100644 index 567d4e54c81..00000000000 --- a/ace/Message_Queue.h +++ /dev/null @@ -1,370 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Message_Queue.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_MESSAGE_QUEUE_H) -#define ACE_MESSAGE_QUEUE_H - -#include "ace/Message_Block.h" -#include "ace/IO_Cntl_Msg.h" - -// Forward decls. -class ACE_Notification_Strategy; -template class ACE_Message_Queue_Iterator; -template class ACE_Message_Queue_Reverse_Iterator; - -template -class ACE_Message_Queue -{ - // = TITLE - // A threaded message queueing facility, modeled after the - // queueing facilities in System V STREAMs. - // - // = DESCRIPTION - // An is the central queueing facility for - // messages in the ASX framework. If is - // ACE_MT_SYNCH then all operations are thread-safe. Otherwise, - // if it's then there's no locking overhead. -public: - friend class ACE_Message_Queue_Iterator; - friend class ACE_Message_Queue_Reverse_Iterator; - - // = Traits - typedef ACE_Message_Queue_Iterator ITERATOR; - typedef ACE_Message_Queue_Reverse_Iterator REVERSE_ITERATOR; - - // = Default high and low water marks. - enum - { - DEFAULT_LWM = 0, - // Default low watermark. - DEFAULT_HWM = 16 * 1024, - // Default high watermark (16 K). - WAS_ACTIVE = 1, - // Message queue was active before activate() or deactivate(). - WAS_INACTIVE = 2 - // Message queue was inactive before activate() or deactivate(). - }; - - // = Initialization and termination methods. - ACE_Message_Queue (size_t hwm = DEFAULT_HWM, - size_t lwm = DEFAULT_LWM, - ACE_Notification_Strategy * = 0); - - // Create a message queue with all the defaults. - virtual int open (size_t hwm = DEFAULT_HWM, - size_t lwm = DEFAULT_LWM, - ACE_Notification_Strategy * = 0); - // Create a message queue with all the defaults. - - virtual int close (void); - // Close down the message queue and release all resources. - - virtual ~ACE_Message_Queue (void); - // Close down the message queue and release all resources. - - // = Enqueue and dequeue methods. - - // For all the following routines if == 0, the caller will - // block until action is possible, else will wait until the absolute - // time specified in * elapses). These calls will return, - // however, when queue is closed, deactivated, when a signal occurs, - // or if the time specified in timeout elapses, (in which case errno - // = EWOULDBLOCK). - - virtual int peek_dequeue_head (ACE_Message_Block *&first_item, - ACE_Time_Value *tv = 0); - // Retrieve the first without removing it. - // Returns -1 on failure, else the number of items still on the - // queue. - - virtual int enqueue_prio (ACE_Message_Block *new_item, - ACE_Time_Value *timeout = 0); - // Enqueue an into the in - // accordance with its (0 is lowest priority). FIFO - // order is maintained when messages of the same priority are - // inserted consecutively. Returns -1 on failure, else the number - // of items still on the queue. - - virtual int enqueue (ACE_Message_Block *new_item, ACE_Time_Value *timeout = 0); - // This is an alias for . It's only here for - // backwards compatibility and will go away in a subsequent release. - // Please use instead. - - virtual int enqueue_tail (ACE_Message_Block *new_item, ACE_Time_Value *timeout = 0); - // Enqueue an at the end of the queue. - // Returns -1 on failure, else the number of items still on the - // queue. - - virtual int enqueue_head (ACE_Message_Block *new_item, ACE_Time_Value *timeout = 0); - // Enqueue an at the head of the queue. - // Returns -1 on failure, else the number of items still on the - // queue. - - virtual int dequeue_head (ACE_Message_Block *&first_item, ACE_Time_Value *timeout = 0); - // Dequeue and return the at the head of the - // queue. Returns -1 on failure, else the number of items still on - // the queue. - - // = Check if queue is full/empty. - virtual int is_full (void); - // True if queue is full, else false. - virtual int is_empty (void); - // True if queue is empty, else false. - - // = Queue statistic methods. - virtual size_t message_bytes (void); - // Number of total bytes on the queue. - virtual size_t message_count (void); - // Number of total messages on the queue. - - // = Flow control routines - virtual size_t high_water_mark (void); - // Get high watermark. - virtual void high_water_mark (size_t hwm); - // Set high watermark. - virtual size_t low_water_mark (void); - // Get low watermark. - virtual void low_water_mark (size_t lwm); - // Set low watermark. - - // = Activation control methods. - - virtual int deactivate (void); - // 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 with == - // ESHUTDOWN. Returns WAS_INACTIVE if queue was inactive before the - // call and WAS_ACTIVE if queue was active before the call. - - virtual int activate (void); - // Reactivate the queue so that threads can enqueue and dequeue - // messages again. Returns WAS_INACTIVE if queue was inactive - // before the call and WAS_ACTIVE if queue was active before the - // call. - - virtual int deactivated (void); - // Returns true if is enabled. - - // = Notification hook. - - virtual int notify (void); - // This hook is automatically invoked by , - // , and when a new item is inserted - // into the queue. Subclasses can override this method to perform - // specific notification strategies (e.g., signaling events for a - // , notifying a , etc.). In a - // multi-threaded application with concurrent consumers, there is no - // guarantee that the queue will be still be non-empty by the time - // the notification occurs. - - // = Get/set the notification strategy for the - virtual ACE_Notification_Strategy *notification_strategy (void); - virtual void notification_strategy (ACE_Notification_Strategy *s); - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -protected: - // = Routines that actually do the enqueueing and dequeueing. - // These routines assume that locks are held by the corresponding - // public methods. Since they are virtual, you can change the - // queueing mechanism by subclassing from . - - virtual int enqueue_i (ACE_Message_Block *new_item); - // Enqueue an in accordance with its priority. - - virtual int enqueue_tail_i (ACE_Message_Block *new_item); - // Enqueue an at the end of the queue. - - virtual int enqueue_head_i (ACE_Message_Block *new_item); - // Enqueue an at the head of the queue. - - virtual int dequeue_head_i (ACE_Message_Block *&first_item); - // Dequeue and return the at the head of the - // queue. - - // = Check the boundary conditions (assumes locks are held). - virtual int is_full_i (void); - // True if queue is full, else false. - virtual int is_empty_i (void); - // True if queue is empty, else false. - - // = Implementation of the public activate() and deactivate() methods above (assumes locks are held). - virtual int deactivate_i (void); - // Deactivate the queue. - virtual int activate_i (void); - // Activate the queue. - - // = Helper methods to factor out common #ifdef code. - virtual int wait_not_full_cond (ACE_Guard &mon, - ACE_Time_Value *tv); - // Wait for the queue to become non-full. - - virtual int wait_not_empty_cond (ACE_Guard &mon, - ACE_Time_Value *tv); - // Wait for the queue to become non-empty. - - virtual int signal_enqueue_waiters (void); - // Inform any threads waiting to enqueue that they can procede. - - virtual int signal_dequeue_waiters (void); - // Inform any threads waiting to dequeue that they can procede. - - ACE_Message_Block *head_; - // Pointer to head of ACE_Message_Block list. - - ACE_Message_Block *tail_; - // Pointer to tail of ACE_Message_Block list. - - size_t low_water_mark_; - // Lowest number before unblocking occurs. - - size_t high_water_mark_; - // Greatest number of bytes before blocking. - - size_t cur_bytes_; - // Current number of bytes in the queue. - - size_t cur_count_; - // Current number of messages in the queue. - - int deactivated_; - // Indicates that the queue is inactive. - - ACE_Notification_Strategy *notification_strategy_; - // The notification strategy used when a new message is enqueued. - - // = Synchronization primitives for controlling concurrent access. - ACE_SYNCH_MUTEX_T lock_; - // Protect queue from concurrent access. - -#if defined (ACE_HAS_OPTIMIZED_MESSAGE_QUEUE) - ACE_SYNCH_SEMAPHORE_T not_empty_cond_; - // Used to make threads sleep until the queue is no longer empty. - - ACE_SYNCH_SEMAPHORE_T not_full_cond_; - // Used to make threads sleep until the queue is no longer full. - - size_t dequeue_waiters_; - // Number of threads waiting to dequeue a . - - size_t enqueue_waiters_; - // Number of threads waiting to enqueue a . -#else - ACE_SYNCH_CONDITION_T not_empty_cond_; - // Used to make threads sleep until the queue is no longer empty. - - ACE_SYNCH_CONDITION_T not_full_cond_; - // Used to make threads sleep until the queue is no longer full. -#endif /* ACE_HAS_OPTIMIZED_MESSAGE_QUEUE */ - -private: - - // = Disallow these operations. - ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Message_Queue &)) - ACE_UNIMPLEMENTED_FUNC (ACE_Message_Queue (const ACE_Message_Queue &)) -}; - -template -class ACE_Message_Queue_Iterator -{ - // = TITLE - // Iterator for the . -public: - // = Initialization method. - ACE_Message_Queue_Iterator (ACE_Message_Queue &queue); - - // = Iteration methods. - int next (ACE_Message_Block *&entry); - // Pass back the that hasn't been seen in the queue. - // Returns 0 when all items have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - int advance (void); - // Move forward by one element in the queue. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Message_Queue &queue_; - // Message_Queue we are iterating over. - - ACE_Message_Block *curr_; - // Keeps track of how far we've advanced... -}; - -template -class ACE_Message_Queue_Reverse_Iterator -{ - // = TITLE - // Reverse Iterator for the . -public: - // = Initialization method. - ACE_Message_Queue_Reverse_Iterator (ACE_Message_Queue &queue); - - // = Iteration methods. - int next (ACE_Message_Block *&entry); - // Pass back the that hasn't been seen in the queue. - // Returns 0 when all items have been seen, else 1. - - int done (void) const; - // Returns 1 when all items have been seen, else 0. - - int advance (void); - // Move forward by one element in the queue. Returns 0 when all the - // items in the set have been seen, else 1. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - ACE_Message_Queue &queue_; - // Message_Queue we are iterating over. - - ACE_Message_Block *curr_; - // Keeps track of how far we've advanced... -}; - -// This must go here to avoid problems with circular includes. -#include "ace/Strategies.h" - -#if defined (__ACE_INLINE__) -#include "ace/Message_Queue.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Message_Queue.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Message_Queue.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_MESSAGE_QUEUE_H */ diff --git a/ace/Message_Queue.i b/ace/Message_Queue.i deleted file mode 100644 index 6697eb242a4..00000000000 --- a/ace/Message_Queue.i +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Message_Queue.i - -template ACE_INLINE ACE_Notification_Strategy * -ACE_Message_Queue::notification_strategy (void) -{ - ACE_TRACE ("ACE_Message_Queue::notification_strategy"); - - return this->notification_strategy_; -} - -template ACE_INLINE void -ACE_Message_Queue::notification_strategy (ACE_Notification_Strategy *s) -{ - ACE_TRACE ("ACE_Message_Queue::notification_strategy"); - - this->notification_strategy_ = s; -} - -// Check if queue is empty (does not hold locks). - -template ACE_INLINE int -ACE_Message_Queue::is_empty_i (void) -{ - ACE_TRACE ("ACE_Message_Queue::is_empty_i"); - return this->cur_bytes_ <= 0 && this->cur_count_ <= 0; -} - -// Check if queue is full (does not hold locks). - -template ACE_INLINE int -ACE_Message_Queue::is_full_i (void) -{ - ACE_TRACE ("ACE_Message_Queue::is_full_i"); - return this->cur_bytes_ > this->high_water_mark_; -} - -// Check if queue is empty (holds locks). - -template ACE_INLINE int -ACE_Message_Queue::is_empty (void) -{ - ACE_TRACE ("ACE_Message_Queue::is_empty"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - return this->is_empty_i (); -} - -// Check if queue is full (holds locks). - -template ACE_INLINE int -ACE_Message_Queue::is_full (void) -{ - ACE_TRACE ("ACE_Message_Queue::is_full"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - return this->is_full_i (); -} - -template ACE_INLINE size_t -ACE_Message_Queue::high_water_mark (void) -{ - ACE_TRACE ("ACE_Message_Queue::high_water_mark"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, 0); - - return this->high_water_mark_; -} - -template ACE_INLINE void -ACE_Message_Queue::high_water_mark (size_t hwm) -{ - ACE_TRACE ("ACE_Message_Queue::high_water_mark"); - ACE_GUARD (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_); - - this->high_water_mark_ = hwm; -} - -template ACE_INLINE size_t -ACE_Message_Queue::low_water_mark (void) -{ - ACE_TRACE ("ACE_Message_Queue::low_water_mark"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, 0); - - return this->low_water_mark_; -} - -template ACE_INLINE void -ACE_Message_Queue::low_water_mark (size_t lwm) -{ - ACE_TRACE ("ACE_Message_Queue::low_water_mark"); - ACE_GUARD (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_); - - this->low_water_mark_ = lwm; -} - -// Return the current number of bytes in the queue. - -template ACE_INLINE size_t -ACE_Message_Queue::message_bytes (void) -{ - ACE_TRACE ("ACE_Message_Queue::message_bytes"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, 0); - - return this->cur_bytes_; -} - -// Return the current number of messages in the queue. - -template ACE_INLINE size_t -ACE_Message_Queue::message_count (void) -{ - ACE_TRACE ("ACE_Message_Queue::message_count"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, 0); - - return this->cur_count_; -} - -template ACE_INLINE int -ACE_Message_Queue::activate (void) -{ - ACE_TRACE ("ACE_Message_Queue::activate"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - return this->activate_i (); -} - -template ACE_INLINE int -ACE_Message_Queue::deactivate (void) -{ - ACE_TRACE ("ACE_Message_Queue::deactivate"); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1); - - return this->deactivate_i (); -} - -template ACE_INLINE int -ACE_Message_Queue::deactivated (void) -{ - ACE_TRACE ("ACE_Message_Queue::deactivated"); - - return this->deactivated_; -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Message_Queue_Reverse_Iterator) - - diff --git a/ace/Method_Object.cpp b/ace/Method_Object.cpp deleted file mode 100644 index 86fffea0812..00000000000 --- a/ace/Method_Object.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// Method_Object.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Method_Object.h" - -ACE_Method_Object::ACE_Method_Object (void) -{ -} - -ACE_Method_Object::~ACE_Method_Object (void) -{ -} - diff --git a/ace/Method_Object.h b/ace/Method_Object.h deleted file mode 100644 index 23c5b3a303c..00000000000 --- a/ace/Method_Object.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Method_Object.h -// -// = AUTHOR -// Andres Kruse and Douglas C. Schmidt -// -// -// ============================================================================ - -#if !defined (ACE_METHOD_OBJECT_H) -#define ACE_METHOD_OBJECT_H - -#include "ace/OS.h" - -class ACE_Export ACE_Method_Object -{ - // = TITLE - // Reifies a method into an object. Subclasses typically - // represent necessary state and behavior. - // - // = DESCRIPTION - // A is inserted in the , where - // it is subsequently removed by the and invoked. -public: - // = Initialization and termination methods. - ACE_Method_Object (void); - virtual ~ACE_Method_Object (void); - - // = Invocation method - virtual int call (void) = 0; - // Invoked when the is scheduled to run. -}; - -#endif /* ACE_METHOD_OBJECT_H */ diff --git a/ace/Module.cpp b/ace/Module.cpp deleted file mode 100644 index 93fe1d8b84a..00000000000 --- a/ace/Module.cpp +++ /dev/null @@ -1,244 +0,0 @@ -// Module.cpp -// $Id$ - -#if !defined (ACE_MODULE_C) -#define ACE_MODULE_C - -#define ACE_BUILD_DLL -#include "ace/Module.h" -#include "ace/Stream_Modules.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Module.i" -#endif /* __ACE_INLINE__ */ - -ACE_ALLOC_HOOK_DEFINE(ACE_Module) - -template void -ACE_Module::dump (void) const -{ - ACE_TRACE ("ACE_Module::dump"); -} - -template void -ACE_Module::writer (ACE_Task *q, - int flags /* = M_DELETE_WRITER */) -{ - ACE_TRACE ("ACE_Module::writer"); - - // Close and maybe delete old writer - this->close_i (1, flags); - - this->q_pair_[1] = q; - if (q != 0) - ACE_CLR_BITS (q->flags_, ACE_Task_Flags::ACE_READER); - - // Don't allow the caller to change the reader status. - ACE_SET_BITS (flags_, (flags & M_DELETE_WRITER)); -} - -template void -ACE_Module::reader (ACE_Task *q, - int flags /* = M_DELETE_READER */) -{ - ACE_TRACE ("ACE_Module::reader"); - - // Close and maybe delete old writer - this->close_i (0, flags); - - this->q_pair_[0] = q; - if (q != 0) - ACE_SET_BITS (q->flags_, ACE_Task_Flags::ACE_READER); - - // don't allow the caller to change the reader status - ACE_SET_BITS (flags_, (flags & M_DELETE_READER)); -} - -// Link this ACE_Module on top of ACE_Module M. - -template void -ACE_Module::link (ACE_Module *m) -{ - ACE_TRACE ("ACE_Module::link"); - this->next (m); - this->writer ()->next (m->writer ()); - m->reader ()->next (this->reader ()); -} - -template int -ACE_Module::open (const char *mod_name, - ACE_Task *writer_q, - ACE_Task *reader_q, - void *arg, - int flags /* = M_DELETE */) -{ - ACE_TRACE ("ACE_Module::open"); - this->name (mod_name); - this->arg_ = arg; - - // We may already have readers and/or writers. - if (this->reader ()) - this->close_i (0, M_DELETE_READER); - - if (this->writer ()) - this->close_i (1, M_DELETE_WRITER); - - if (writer_q == 0) - { - writer_q = new ACE_Thru_Task; - ACE_SET_BITS (flags, M_DELETE_WRITER); - } - - if (reader_q == 0) - { - reader_q = new ACE_Thru_Task; - ACE_SET_BITS (flags, M_DELETE_READER); - } - - this->reader (reader_q); - this->writer (writer_q); - - // Save the flags - this->flags_ = flags; - - // Make sure that the memory is allocated before proceding. - if (writer_q == 0 || reader_q == 0) - { - // These calls will delete writer_q and/or reader_q, if - // necessary. - this->close_i (0, M_DELETE_READER); - this->close_i (1, M_DELETE_WRITER); - - errno = ENOMEM; - return -1; - } - - // Setup back pointers (this must come last, after we've made sure - // there's memory allocated here. - reader_q->mod_ = this; - writer_q->mod_ = this; - - return 0; -} - -// Set and get pointer to sibling ACE_Task in ACE_Module. - -template ACE_Task * -ACE_Module::sibling (ACE_Task *orig) -{ - ACE_TRACE ("ACE_Module::sibling"); - if (this->q_pair_[0] == orig) - return this->q_pair_[1]; - else if (this->q_pair_[1] == orig) - return this->q_pair_[0]; - else - return 0; -} - -template -ACE_Module::ACE_Module (void) - : flags_ (0) -{ - ACE_TRACE ("ACE_Module::ACE_Module"); - this->name (""); - // Do nothing... - this->q_pair_[0] = 0; - this->q_pair_[1] = 0; -} - -template -ACE_Module::~ACE_Module (void) -{ - ACE_TRACE ("ACE_Module::~ACE_Module"); - - // Only close down if we haven't already done so. - if (this->reader () || this->writer ()) - this->close (); -} - -template -ACE_Module::ACE_Module (const char *mod_name, - ACE_Task *writer_q, - ACE_Task *reader_q, - void *args, - int flags /* = M_DELETE */) - : flags_ (0) -{ - ACE_TRACE ("ACE_Module::ACE_Module"); - - this->q_pair_[0] = 0; - this->q_pair_[1] = 0; - - if (this->open (mod_name, writer_q, reader_q, args, flags) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Module")); -} - -template int -ACE_Module::close (int flags /* = M_DELETE_NONE */) -{ - ACE_TRACE ("ACE_Module::close"); - - int result = 0; - - ACE_SET_BITS (flags_, flags); - - if (this->close_i (0, flags) == -1) - result = -1; - - if (this->close_i (1, flags) == -1) - result = -1; - - return result; -} - -template int -ACE_Module::close_i (int which, - int flags) -{ - ACE_TRACE ("ACE_Module::close_i"); - - if (this->q_pair_[which] == 0) - return 0; - - // Copy task pointer to prevent problems when ACE_Task::close - // changes the task pointer - ACE_Task *task = this->q_pair_[which]; - - // Change so that close doesn't get called again from the task base. - - // Now close the task. - int result = 0; - - if (task->module_closed () == -1) - result = -1; - - task->flush (); - task->next (0); - - // Should we also delete it ? - if (flags != M_DELETE_NONE - && ACE_BIT_ENABLED (flags_, which + 1)) - { - // Only delete the Tasks if there aren't any more threads - // running in them. - task->wait (); - - // If this assert happens it is likely because the task was - // activated with the THR_DETACHED flag, which means that we - // can't join() with the thread. Not using THR_DETACHED should - // solve this problem. - ACE_ASSERT (task->thr_count () == 0); - - delete task; - } - - // Set the tasks pointer to 0 so that we don't try to close() - // this object again if the destructor gets called. - this->q_pair_[which] = 0; - - // Finally remove the delete bit. - ACE_CLR_BITS (flags_, which + 1); - - return result; -} -#endif /* ACE_MODULE_C */ diff --git a/ace/Module.h b/ace/Module.h deleted file mode 100644 index f0a667e6d4f..00000000000 --- a/ace/Module.h +++ /dev/null @@ -1,178 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Module.h -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - -#if !defined (ACE_MODULE_H) -#define ACE_MODULE_H - -#include "ace/ACE.h" -#include "ace/Task_T.h" - -// Forward decl. -// template class ACE_Task; - -template -class ACE_Module -{ - // = TITLE - // An abstraction for managing a bi-directional flow of messages. - // - // = DESCRIPTION - // 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: - friend class ACE_Shutup_GPlusPlus; // Turn off g++ warning - - enum - { - M_DELETE_NONE = 0, - // Indicates that close() should not delete any Tasks. - - M_DELETE_READER = 1, - // Indicates that close() should delete the writer Task. - - M_DELETE_WRITER = 2, - // Indicates that close() should delete the reader Task. - - M_DELETE = 3 - // Indicates that close() deletes the Tasks. Don't change this - // value without updating the same enum in class ACE_Stream... - // The and flags may be or'ed - // together. - }; - - // = Initialization and termination methods. - ACE_Module (void); - // Create an empty Module. - - ~ACE_Module (void); - // Shutdown the Module. - - ACE_Module (const char *module_name, - ACE_Task *writer = 0, - ACE_Task *reader = 0, - void *args = 0, - int flags = M_DELETE); - // Create an initialized module with as its identity - // and and as its tasks. - - int open (const char *module_name, - ACE_Task *writer = 0, - ACE_Task *reader = 0, - void *a = 0, - int flags = M_DELETE); - // Create an initialized module with as its identity - // and and as its tasks. Previously register - // reader or writers or closed down and deleted according to the - // value of flags_. Should not be called from within - // ACE_Task::module_closed(). - - int close (int flags = M_DELETE_NONE); - // Close down the Module and its Tasks. The flags argument can be - // used to override the default behaviour, which depends on previous - // values in calls to c'tor(), open(), reader() and - // writer(). A previous value M_DELETE[_XXX] can not be overridden. - // Should not be called from within ACE_Task::module_closed(). - - // = ACE_Task manipulation routines - ACE_Task *writer (void); - // Get the writer task. - - void writer (ACE_Task *q, int flags = M_DELETE_WRITER); - // Set the writer task. can be used to indicate that the - // module should delete the writer during a call to close or to the - // destructor. If a previous writer exists, it is closed. It may - // also be deleted, depending on the old flags_ value. Should not - // be called from within ACE_Task::module_closed(). - - ACE_Task *reader (void); - // Get the reader task. - - void reader (ACE_Task *q, int flags = M_DELETE_READER); - // Set the reader task. can be used to indicate that the - // module should delete the reader during a call to close or to the - // destructor. If a previous reader exists, it is closed. It may - // also be deleted, depending on the old flags_ value. Should not - // be called from within ACE_Task::module_closed() - - ACE_Task *sibling (ACE_Task *orig); - // Set and get pointer to sibling in an - - // = Identify the module - const char *name (void) const; - // Get the module name. - void name (const char *); - // Set the module name. - - // = Argument to the Tasks. - void *arg (void) const; - // Get the argument passed to the tasks. - - void arg (void *); - // Set the argument passed to the tasks. - - void link (ACE_Module *m); - // Link to other modules in the ustream stack - - ACE_Module *next (void); - // Get the next pointer to the module above in the stream. - - void next (ACE_Module *m); - // Set the next pointer to the module above in the stream. - - void dump (void) const; - // Dump the state of an object. - - ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. - -private: - int close_i (int which, int flags); - // Implements the close operation for either the reader or the - // writer task (depending on ). - - ACE_Task *q_pair_[2]; - // Pair of Tasks that form the "read-side" and "write-side" of the - // ACE_Module partitioning. - - char name_[MAXNAMLEN + 1]; - // Name of the ACE_Module. - - ACE_Module *next_; - // Next ACE_Module in the stack. - - void *arg_; - // Argument passed through to the reader and writer task when they - // are opened. - - int flags_; - // Holds flags which are used to determine if the reader and writer - // task have to be deleted on exit -}; - -#if defined (__ACE_INLINE__) -#include "ace/Module.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Module.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Module.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_MODULE_H */ diff --git a/ace/Module.i b/ace/Module.i deleted file mode 100644 index af675d16870..00000000000 --- a/ace/Module.i +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Module.i - -template ACE_INLINE void * -ACE_Module::arg (void) const -{ - ACE_TRACE ("ACE_Module::arg"); - return this->arg_; -} - -template ACE_INLINE void -ACE_Module::arg (void *a) -{ - ACE_TRACE ("ACE_Module::arg"); - this->arg_ = a; -} - -template ACE_INLINE const char * -ACE_Module::name (void) const -{ - ACE_TRACE ("ACE_Module::name"); - return this->name_; -} - -template ACE_INLINE void -ACE_Module::name (const char *n) -{ - ACE_TRACE ("ACE_Module::name"); - ACE_OS::strncpy (this->name_, n, MAXNAMLEN); -} - -template ACE_INLINE ACE_Task * -ACE_Module::writer (void) -{ - ACE_TRACE ("ACE_Module::writer"); - return this->q_pair_[1]; -} - -template ACE_INLINE ACE_Task * -ACE_Module::reader (void) -{ - ACE_TRACE ("ACE_Module::reader"); - return this->q_pair_[0]; -} - -template ACE_INLINE ACE_Module * -ACE_Module::next (void) -{ - ACE_TRACE ("ACE_Module::next"); - return this->next_; -} - -template ACE_INLINE void -ACE_Module::next (ACE_Module *m) -{ - ACE_TRACE ("ACE_Module::next"); - this->next_ = m; -} - - diff --git a/ace/Multiplexor.cpp b/ace/Multiplexor.cpp deleted file mode 100644 index 42b5eb753a6..00000000000 --- a/ace/Multiplexor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// Multiplexor.cpp -// $Id$ - -#if defined (ACE_HAS_THREADS) - -#define ACE_BUILD_DLL -#include "ace/Multiplexor.h" - -#if !defined (__ACE_INLINE__) -#include "ace/Multiplexor.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_HAS_THREADS */ diff --git a/ace/Multiplexor.h b/ace/Multiplexor.h deleted file mode 100644 index 074601f1890..00000000000 --- a/ace/Multiplexor.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Multiplexor.h -// -// = DESCRIPTION -// Define the ACE_Driver and ACE_Multiplexor container classes. -// Note that these classes have never been implemented due to lack -// of need. -// -// = AUTHOR -// Doug Schmidt -// -// ============================================================================ - - -#if !defined (ACE_MULTIPLEXOR_H) -#define ACE_MULTIPLEXOR_H - -#include "ace/Module.h" -#include "ace/Map_Manager.h" - -#if defined (ACE_HAS_THREADS) - -#if 0 -class ACE_Export ACE_Driver -{ - // = TITLE - // - // - // = DESCRIPTION - // -public: - ACE_Driver (void); - ~ACE_Driver (void); - - virtual int link_from_below (ACE_Module *mod); - virtual ACE_Module *alloc_module (ACE_Driver *) = 0; - virtual int unlink_from_below (ACE_Module *); -}; - -class ACE_Export ACE_Multiplexor -{ - // = TITLE - // - // = DESCRIPTION - // -public: - // = Constructors and destructors - ACE_Multiplexor (void); - ~ACE_Multiplexor (void); - - virtual int link_from_above (ACE_Driver &ld); - virtual int link_from_above (ACE_Multiplexor &lm); - virtual int link_from_below (ACE_Module *mod); - virtual ACE_Module *alloc_lower_module (ACE_Multiplexor *) = 0; - virtual ACE_Module *alloc_upper_module (ACE_Multiplexor *) = 0; - - virtual int unlink_from_above (ACE_Driver &ld); - virtual int unlink_from_above (ACE_Multiplexor &lm); - virtual int unlink_from_below (ACE_Module *mod); -}; - -#if defined (__ACE_INLINE__) -#include "ace/Multiplexor.i" -#endif /* __ACE_INLINE__ */ - -#endif /* 0 */ - -#endif /* ACE_HAS_THREADS */ -#endif /* ACE_MULTIPLEXOR_H */ diff --git a/ace/Multiplexor.i b/ace/Multiplexor.i deleted file mode 100644 index 1763c13ab4c..00000000000 --- a/ace/Multiplexor.i +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// Multiplexor.i - -int -Driver::link_from_below (ACE_Module *stream_head) -{ - ACE_TRACE ("Driver::link_from_below"); - ACE_Module *stream_tail = this->alloc_module (this); - - stream_head->link (stream_tail); - if (stream_tail->reader ()->open () == -1 - || stream_tail->writer ()->open () == -1) - { - stream_tail->close (); - return -1; - } - return 0; -} - -int -Driver::unlink_from_below (ACE_Module *) -{ - ACE_TRACE ("Driver::unlink_from_below"); - return -1; -} - -ACE_Multiplexor::ACE_Multiplexor (void) -{ - ACE_TRACE ("ACE_Multiplexor::ACE_Multiplexor"); -} - -ACE_Multiplexor::~ACE_Multiplexor (void) -{ - ACE_TRACE ("ACE_Multiplexor::~ACE_Multiplexor"); -} - -int -ACE_Multiplexor::link_from_above (Driver &ld) -{ - ACE_TRACE ("ACE_Multiplexor::link_from_above"); - return ld.link_from_below (this->alloc_lower_module (this)); -} - -int -ACE_Multiplexor::link_from_above (ACE_Multiplexor &lm) -{ - ACE_TRACE ("ACE_Multiplexor::link_from_above"); - return lm.link_from_below (this->alloc_lower_module (this)); -} - -int -ACE_Multiplexor::link_from_below (ACE_Module *stream_head) -{ - ACE_TRACE ("ACE_Multiplexor::link_from_below"); - ACE_Module *stream_tail = this->alloc_upper_module (this); - - stream_head->link (stream_tail); - if (stream_tail->reader ()->open () == -1 - || stream_tail->writer ()->open () == -1) - { - stream_tail->close (); - return -1; - } - return 0; -} - -int -ACE_Multiplexor::unlink_from_above (Driver &) -{ - ACE_TRACE ("ACE_Multiplexor::unlink_from_above"); - return -1; -} - -int -ACE_Multiplexor::unlink_from_above (ACE_Multiplexor &) -{ - ACE_TRACE ("ACE_Multiplexor::unlink_from_above"); - return -1; -} - -int -ACE_Multiplexor::unlink_from_below (ACE_Module *) -{ - ACE_TRACE ("ACE_Multiplexor::unlink_from_below"); - return -1; -} diff --git a/ace/Name_Proxy.cpp b/ace/Name_Proxy.cpp deleted file mode 100644 index 02dc399a219..00000000000 --- a/ace/Name_Proxy.cpp +++ /dev/null @@ -1,174 +0,0 @@ -// Name_Proxy.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Name_Proxy.h" - -void -ACE_Name_Proxy::dump (void) const -{ - ACE_TRACE ("ACE_Name_Proxy::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - this->connector_.dump (); - this->peer_.dump (); - ACE_DEBUG ((LM_DEBUG, "reactor_ = %x", this->reactor_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -// Default constructor. - -ACE_Name_Proxy::ACE_Name_Proxy (void) - : reactor_ (0) -{ - ACE_TRACE ("ACE_Name_Proxy::ACE_Name_Proxy"); -} - -// Establish binding with the ACE_Name Server at remote_addr. - -int -ACE_Name_Proxy::open (const ACE_INET_Addr &remote_addr, - ACE_Synch_Options& options) -{ - ACE_TRACE ("ACE_Name_Proxy::open"); - ACE_Time_Value *timeout = 0; - - if (options[ACE_Synch_Options::USE_TIMEOUT]) - timeout = (ACE_Time_Value *) &ACE_Time_Value::zero; - else - timeout = (ACE_Time_Value *) options.time_value (); - - // Initiate the connection. - return this->connector_.connect (this->peer_, remote_addr, timeout); -} - -// Establish binding with the ACE_Name Server at remote_addr. - -ACE_Name_Proxy::ACE_Name_Proxy (const ACE_INET_Addr &remote_addr, - ACE_Synch_Options& options) -{ - ACE_TRACE ("ACE_Name_Proxy::ACE_Name_Proxy"); - if (this->open (remote_addr, options) == -1 - && options[ACE_Synch_Options::USE_TIMEOUT] && errno != EWOULDBLOCK) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Name_Proxy::ACE_Name_Proxy")); -} - -// Obtain underlying handle. - -/* VIRTUAL */ ACE_HANDLE -ACE_Name_Proxy::get_handle (void) const -{ - ACE_TRACE ("ACE_Name_Proxy::get_handle"); - return this->peer_.get_handle (); -} - -int -ACE_Name_Proxy::request_reply (ACE_Name_Request &request) -{ - ACE_TRACE ("ACE_Name_Proxy::request_reply"); - void *buffer; - ssize_t length; - - if ((length = request.encode (buffer)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "encode failed"), -1); - - // Transmit request via a blocking send. - - if (this->peer_.send_n (buffer, length) != length) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "send_n failed"), -1); - else - { - ACE_Name_Reply reply; - - // Receive reply via blocking read. - - if (this->peer_.recv (&reply, sizeof reply) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "recv failed"), -1); - - else if (reply.decode () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "decode failed"), -1); - - errno = int (reply.errnum ()); - return reply.status (); - } -} - -int -ACE_Name_Proxy::send_request (ACE_Name_Request &request) -{ - ACE_TRACE ("ACE_Name_Proxy::send_request"); - void *buffer; - ssize_t length; - - if ((length = request.encode (buffer)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "encode failed"), -1); - - // Transmit request via a blocking send. - - else if (this->peer_.send_n (buffer, length) != length) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "send_n failed"), -1); - - return 0; -} - -int -ACE_Name_Proxy::recv_reply (ACE_Name_Request &reply) -{ - ACE_TRACE ("ACE_Name_Proxy::recv_reply"); - // Read the first 4 bytes to get the length of the message - // This implementation assumes that the first 4 bytes are - // the length of the message. - ssize_t n = this->peer_.recv ((void *) &reply, sizeof (ACE_UINT32)); - - switch (n) - { - case -1: - // FALLTHROUGH - ACE_DEBUG ((LM_DEBUG, "****************** recv_reply returned -1\n")); - default: - ACE_ERROR ((LM_ERROR, "%p got %d bytes, expected %d bytes\n", - "recv failed", n, sizeof (ACE_UINT32))); - // FALLTHROUGH - case 0: - // We've shutdown unexpectedly - return -1; - // NOTREACHED - case sizeof (ACE_UINT32): - { - // Transform the length into host byte order. - ssize_t length = ntohl (reply.length ()); - - // Receive the rest of the request message. - // @@ beware of blocking read!!!. - n = this->peer_.recv ((void *) (((char *) &reply) - + sizeof (ACE_UINT32)), - length - sizeof (ACE_UINT32)); - - // Subtract off the size of the part we skipped over... - if (n != ssize_t (length - sizeof (ACE_UINT32))) - { - ACE_ERROR ((LM_ERROR, "%p expected %d, got %d\n", - "invalid length", length, n)); - return -1; - } - - // Decode the request into host byte order. - if (reply.decode () == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", "decode failed")); - return -1; - } - } - } - return 0; -} - -// Close down the connection to the server. - -ACE_Name_Proxy::~ACE_Name_Proxy (void) -{ - ACE_TRACE ("ACE_Name_Proxy::~ACE_Name_Proxy"); - this->peer_.close (); -} - - diff --git a/ace/Name_Proxy.h b/ace/Name_Proxy.h deleted file mode 100644 index 3227b081f15..00000000000 --- a/ace/Name_Proxy.h +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Name_Proxy.h -// -// = DESCRIPTION -// Proxy for dealing with remote server process managing NET_LOCAL -// Name_Bindings. -// -// = AUTHOR -// Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain -// -// ============================================================================ - -#if !defined (ACE_NAME_PROXY_H) -#define ACE_NAME_PROXY_H - -#include "ace/INET_Addr.h" -#include "ace/SOCK_Connector.h" -#include "ace/SOCK_Stream.h" -#include "ace/Service_Config.h" -#include "ace/Synch_Options.h" -#include "ace/Name_Request_Reply.h" - -class ACE_Export ACE_Name_Proxy : public ACE_Event_Handler -{ - // = TITLE - // Proxy for dealing with remote server process managing NET_LOCAL - // NameBindings. - // - // = DESCRIPTION - // Shields applications from details of interacting with the - // ACE_Name Server. -public: - ACE_Name_Proxy (void); - // Default constructor. - - // = Establish a binding with the ACE_Name Server. - ACE_Name_Proxy (const ACE_INET_Addr &remote_addr, // Address of ACE_Name Server. - ACE_Synch_Options& options = - ACE_Synch_Options::defaults); - - int open (const ACE_INET_Addr &remote_addr, // Address of ACE_Name Server. - ACE_Synch_Options& options = - ACE_Synch_Options::defaults); - - int request_reply (ACE_Name_Request &request); - // Perform the request and wait for the reply. - - int send_request (ACE_Name_Request &request); - // Perform the request. - - int recv_reply (ACE_Name_Request &reply); - // Receive the reply. - - virtual ACE_HANDLE get_handle (void) const; - // Obtain underlying handle. - - virtual ~ACE_Name_Proxy (void); - // Close down the connection to the server. - - void dump (void) const; - // Dump the state of the object; - -private: - - ACE_SOCK_Connector connector_; - // ACE_Connector factory used to establish connections actively. - - ACE_SOCK_Stream peer_; - // Connection to ACE_Name Server peer. - - ACE_Reactor *reactor_; - // Pointer to ACE_Reactor (used if we are run in "reactive-mode"). -}; - -#endif /* ACE_NAME_PROXY_H */ diff --git a/ace/Name_Request_Reply.cpp b/ace/Name_Request_Reply.cpp deleted file mode 100644 index cd7460626c3..00000000000 --- a/ace/Name_Request_Reply.cpp +++ /dev/null @@ -1,490 +0,0 @@ -// Name_Request_Reply.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Name_Request_Reply.h" - -// Default "do nothing" constructor. - -ACE_Name_Request::ACE_Name_Request (void) -{ - ACE_TRACE ("ACE_Name_Request::ACE_Name_Request"); -} - -// Create a ACE_Name_Request message. - -ACE_Name_Request::ACE_Name_Request (ACE_UINT32 t, // Type of request. - const ACE_USHORT16 name[], // Name - const size_t name_length, // size in bytes - const ACE_USHORT16 value[], // - const size_t value_length, // size in bytes - const char type[], // - const size_t type_length, // size in bytes - ACE_Time_Value *timeout) // Max time waiting for request. -{ - ACE_TRACE ("ACE_Name_Request::ACE_Name_Request"); - this->msg_type (t); - this->name_len (name_length); - this->value_len (value_length); - this->type_len (type_length); - - // If timeout is a NULL pointer, then block forever... - if (timeout == 0) - { - this->transfer_.block_forever_ = 1; - this->transfer_.sec_timeout_ = 0; - this->transfer_.usec_timeout_ = 0; - } - else // Do a "timed wait." - { - this->block_forever (0); - // Keep track of how long client is willing to wait. - this->transfer_.sec_timeout_ = timeout->sec (); - this->transfer_.usec_timeout_ = timeout->usec (); - } - - // Set up pointers and copy name value and type into request. - this->name_ = this->transfer_.data_; - this->value_ = &this->name_[name_length / sizeof (ACE_USHORT16) ]; - this->type_ = (char *)(&this->value_[value_length / sizeof (ACE_USHORT16)]); // - - (void) ACE_OS::memcpy (this->name_, name, name_length); - (void) ACE_OS::memcpy (this->value_, value, value_length); - (void) ACE_OS::memcpy (this->type_, type, type_length); - - // Compute size of the fixed portion of the message... - size_t len = sizeof this->transfer_ - sizeof this->transfer_.data_; - - // ... then add in the amount of the variable-sized portion. - len += name_length + value_length + type_length ; - - this->length (len); -} - -// Initialize length_ in order to avoid problems with byte-ordering -void -ACE_Name_Request::init (void) -{ - ACE_TRACE ("ACE_Name_Request::init"); - this->length (sizeof this->transfer_); -} - -// = Set/get the length of the encoded/decoded message. -ACE_UINT32 -ACE_Name_Request::length (void) const -{ - ACE_TRACE ("ACE_Name_Request::length"); - return this->transfer_.length_; -} - -void -ACE_Name_Request::length (ACE_UINT32 l) -{ - ACE_TRACE ("ACE_Name_Request::length"); - this->transfer_.length_ = l; -} - -// = Set/get the type of the message. -ACE_UINT32 -ACE_Name_Request::msg_type (void) const -{ - ACE_TRACE ("ACE_Name_Request::msg_type"); - return this->transfer_.msg_type_; -} - -void -ACE_Name_Request::msg_type (ACE_UINT32 t) -{ - ACE_TRACE ("ACE_Name_Request::msg_type"); - this->transfer_.msg_type_ = t; -} - -// = Set/get the len of the name -ACE_UINT32 -ACE_Name_Request::name_len (void) const -{ - ACE_TRACE ("ACE_Name_Request::name_len"); - return this->transfer_.name_len_; -} - -void -ACE_Name_Request::name_len (ACE_UINT32 t) -{ - ACE_TRACE ("ACE_Name_Request::name_len"); - this->transfer_.name_len_ = t; -} - -// = Set/get the len of the value -ACE_UINT32 -ACE_Name_Request::value_len (void) const -{ - ACE_TRACE ("ACE_Name_Request::value_len"); - return this->transfer_.value_len_; -} - -void -ACE_Name_Request::value_len (ACE_UINT32 t) -{ - ACE_TRACE ("ACE_Name_Request::value_len"); - this->transfer_.value_len_ = t; -} - -// = Set/get the len of the type -ACE_UINT32 -ACE_Name_Request::type_len (void) const -{ - ACE_TRACE ("ACE_Name_Request::type_len"); - return this->transfer_.type_len_; -} - -void -ACE_Name_Request::type_len (ACE_UINT32 t) -{ - ACE_TRACE ("ACE_Name_Request::type_len"); - this->transfer_.type_len_ = t; -} - -// = Set/get the blocking semantics. -ACE_UINT32 -ACE_Name_Request::block_forever (void) const -{ - ACE_TRACE ("ACE_Name_Request::block_forever"); - return this->transfer_.block_forever_; -} - -void -ACE_Name_Request::block_forever (ACE_UINT32 bs) -{ - ACE_TRACE ("ACE_Name_Request::block_forever"); - this->transfer_.block_forever_ = bs; -} - -// = Set/get the timeout. -ACE_Time_Value -ACE_Name_Request::timeout (void) const -{ - ACE_TRACE ("ACE_Name_Request::timeout"); - return ACE_Time_Value (this->transfer_.sec_timeout_, this->transfer_.usec_timeout_); -} - -void -ACE_Name_Request::timeout (const ACE_Time_Value timeout) -{ - ACE_TRACE ("ACE_Name_Request::timeout"); - this->transfer_.sec_timeout_ = timeout.sec (); - this->transfer_.usec_timeout_ = timeout.usec (); -} - -// = Set/get the name -const ACE_USHORT16 * -ACE_Name_Request::name (void) const -{ - ACE_TRACE ("ACE_Name_Request::name"); - return this->name_; -} - -void -ACE_Name_Request::name (const ACE_USHORT16 *t) -{ - ACE_TRACE ("ACE_Name_Request::name"); - (void) ACE_OS::memcpy (this->name_, t, this->name_len()); -} - -// = Set/get the value -const ACE_USHORT16 * -ACE_Name_Request::value (void) const -{ - ACE_TRACE ("ACE_Name_Request::value"); - return this->value_; -} - -void -ACE_Name_Request::value (const ACE_USHORT16 *c) -{ - ACE_TRACE ("ACE_Name_Request::value"); - (void) ACE_OS::memcpy (this->value_, c, this->value_len()); -} - -// = Set/get the type -const char * -ACE_Name_Request::type (void) const -{ - ACE_TRACE ("ACE_Name_Request::type"); - return this->type_; -} - -void -ACE_Name_Request::type (const char *c) -{ - ACE_TRACE ("ACE_Name_Request::type"); - (void) ::strncpy (this->type_, c, MAXPATHLEN + 1); -} - -// Encode the transfer buffer into network byte order -// so that it can be sent to the server. - -int -ACE_Name_Request::encode (void *&buf) -{ - ACE_TRACE ("ACE_Name_Request::encode"); - // Compute the length *before* doing the marshaling. - ssize_t len = this->length (); - size_t nv_data_len = - (this->transfer_.name_len_ + this->transfer_.value_len_) / sizeof (ACE_USHORT16); - - for (size_t i = 0; i < nv_data_len; i++) - this->transfer_.data_[i] = htons (this->transfer_.data_[i]); - - buf = (void *) &this->transfer_; - this->transfer_.block_forever_ = htonl (this->transfer_.block_forever_); - this->transfer_.usec_timeout_ = htonl (this->transfer_.usec_timeout_); - this->transfer_.sec_timeout_ = htonl (this->transfer_.sec_timeout_); - this->transfer_.length_ = htonl (this->transfer_.length_); - this->transfer_.msg_type_ = htonl (this->transfer_.msg_type_); - this->transfer_.name_len_ = htonl (this->transfer_.name_len_); - this->transfer_.value_len_ = htonl (this->transfer_.value_len_); - this->transfer_.type_len_ = htonl (this->transfer_.type_len_); - - return len; -} - -// Decode the transfer buffer into host byte byte order -// so that it can be used by the server. - -int -ACE_Name_Request::decode (void) -{ - ACE_TRACE ("ACE_Name_Request::decode"); - // Decode the fixed-sized portion first. - this->transfer_.block_forever_ = ntohl (this->transfer_.block_forever_); - this->transfer_.usec_timeout_ = ntohl (this->transfer_.usec_timeout_); - this->transfer_.sec_timeout_ = ntohl (this->transfer_.sec_timeout_); - this->transfer_.length_ = ntohl (this->transfer_.length_); - this->transfer_.msg_type_ = ntohl (this->transfer_.msg_type_); - this->transfer_.name_len_ = ntohl (this->transfer_.name_len_); - this->transfer_.value_len_ = ntohl (this->transfer_.value_len_); - this->transfer_.type_len_ = ntohl (this->transfer_.type_len_); - - size_t nv_data_len = - (this->transfer_.name_len_ + this->transfer_.value_len_) / sizeof (ACE_USHORT16); - - for (size_t i = 0; i < nv_data_len; i++) - this->transfer_.data_[i] = ntohs (this->transfer_.data_[i]); - - this->name_ = this->transfer_.data_; - this->value_ = &this->name_[this->transfer_.name_len_ / sizeof (ACE_USHORT16)]; - this->type_ = (char *)(&this->value_[this->transfer_.value_len_ / sizeof (ACE_USHORT16)]); - this->type_[this->transfer_.type_len_] = '\0'; - - // Decode the variable-sized portion. - return 0; -} - -// Print out the current values of the ACE_Name_Request. - -void -ACE_Name_Request::dump (void) const -{ - ACE_TRACE ("ACE_Name_Request::dump"); - ACE_DEBUG ((LM_DEBUG, "*******\nlength = %d\n", - this->length ())); - ACE_DEBUG ((LM_DEBUG, "message-type = ")); - - switch (this->msg_type ()) - { - case ACE_Name_Request::BIND: - ACE_DEBUG ((LM_DEBUG, "BIND\n")); - break; - case ACE_Name_Request::REBIND: - ACE_DEBUG ((LM_DEBUG, "REBIND\n")); - break; - case ACE_Name_Request::RESOLVE: - ACE_DEBUG ((LM_DEBUG, "RESOLVE\n")); - break; - case ACE_Name_Request::UNBIND: - ACE_DEBUG ((LM_DEBUG, "UNBIND\n")); - break; - case ACE_Name_Request::LIST_NAMES: - ACE_DEBUG ((LM_DEBUG, "LIST_NAMES\n")); - break; - case ACE_Name_Request::LIST_VALUES: - ACE_DEBUG ((LM_DEBUG, "LIST_VALUES\n")); - break; - case ACE_Name_Request::LIST_TYPES: - ACE_DEBUG ((LM_DEBUG, "LIST_TYPES\n")); - break; - case ACE_Name_Request::LIST_NAME_ENTRIES: - ACE_DEBUG ((LM_DEBUG, "LIST_NAME_ENTRIES\n")); - break; - case ACE_Name_Request::LIST_VALUE_ENTRIES: - ACE_DEBUG ((LM_DEBUG, "LIST_VALUE_ENTRIES\n")); - break; - case ACE_Name_Request::LIST_TYPE_ENTRIES: - ACE_DEBUG ((LM_DEBUG, "LIST_TYPE_ENTRIES\n")); - break; - default: - ACE_DEBUG ((LM_DEBUG, " = %d\n", this->msg_type ())); - break; - } - - if (this->block_forever ()) - ACE_DEBUG ((LM_DEBUG, "blocking forever\n")); - else - { - ACE_Time_Value tv = this->timeout (); - ACE_DEBUG ((LM_DEBUG, "waiting for %ld secs and %ld usecs\n", - tv.sec (), tv.usec ())); - } - ACE_DEBUG ((LM_DEBUG, "*******\nname_len = %d\n", - this->name_len ())); - ACE_DEBUG ((LM_DEBUG, "*******\nvalue_len = %d\n", - this->value_len ())); -#if 0 - cout << "Name = " << ACE_WString (this->name(), this->name_len() / sizeof (ACE_USHORT16)) << endl; - cout << "value = " << ACE_WString (this->value(), this->value_len() / sizeof (ACE_USHORT16)) << endl; - cout << "type = " << this->type () << endl; -#endif - ACE_DEBUG ((LM_DEBUG, "+++++++\n")); -} - -// Default constructor. - -ACE_Name_Reply::ACE_Name_Reply (void) -{ - ACE_TRACE ("ACE_Name_Reply::ACE_Name_Reply"); - // Initialize to a known quantity. - this->msg_type (0); - this->errnum (0); - this->length (sizeof this->transfer_); -} - -// Create a ACE_Name_Reply message. - -ACE_Name_Reply::ACE_Name_Reply (ACE_UINT32 t, ACE_UINT32 err) // Type of reply. -{ - ACE_TRACE ("ACE_Name_Reply::ACE_Name_Reply"); - this->msg_type (t); - this->errnum (err); - this->length (sizeof this->transfer_); -} - -// Initialize length_ in order to avoid problems with byte-ordering -void -ACE_Name_Reply::init (void) -{ - ACE_TRACE ("ACE_Name_Reply::init"); - this->length (sizeof this->transfer_); -} - -// = Set/get the length of the encoded/decoded message. -ACE_UINT32 -ACE_Name_Reply::length (void) const -{ - ACE_TRACE ("ACE_Name_Reply::length"); - return this->transfer_.length_; -} - -void -ACE_Name_Reply::length (ACE_UINT32 l) -{ - ACE_TRACE ("ACE_Name_Reply::length"); - this->transfer_.length_ = l; -} - -// = Set/get the type of the message. -ACE_UINT32 -ACE_Name_Reply::msg_type (void) const -{ - ACE_TRACE ("ACE_Name_Reply::msg_type"); - return this->transfer_.type_; -} - -void -ACE_Name_Reply::msg_type (ACE_UINT32 t) -{ - ACE_TRACE ("ACE_Name_Reply::msg_type"); - this->transfer_.type_ = t; -} - -// = Set/get the status of the reply (0 == success, -1 == failure). -ACE_UINT32 -ACE_Name_Reply::status (void) const -{ - ACE_TRACE ("ACE_Name_Reply::status"); - return this->transfer_.type_ == ACE_Name_Reply::SUCCESS ? 0 : -1; -} - -void -ACE_Name_Reply::status (ACE_UINT32 s) -{ - ACE_TRACE ("ACE_Name_Reply::status"); - this->transfer_.type_ = s == (ACE_UINT32) -1 ? ACE_Name_Reply::FAILURE : ACE_Name_Reply::SUCCESS; -} - -// = Set/get the errno of a failed reply. -ACE_UINT32 -ACE_Name_Reply::errnum (void) const -{ - ACE_TRACE ("ACE_Name_Reply::errnum"); - return this->transfer_.errno_; -} - -void -ACE_Name_Reply::errnum (ACE_UINT32 e) -{ - ACE_TRACE ("ACE_Name_Reply::errnum"); - this->transfer_.errno_ = e; -} - -// Encode the transfer buffer into network byte order -// so that it can be sent to the client. - -int -ACE_Name_Reply::encode (void *&buf) -{ - ACE_TRACE ("ACE_Name_Reply::encode"); - int len = this->length (); // Get length *before* marshaling. - - this->transfer_.length_ = htonl (this->transfer_.length_); - this->transfer_.type_ = htonl (this->transfer_.type_); - this->transfer_.errno_ = htonl (this->transfer_.errno_); - buf = (void *) &this->transfer_; - return len; -} - -// Decode the transfer buffer into host byte order -// so that it can be used by the client. - -int -ACE_Name_Reply::decode (void) -{ - ACE_TRACE ("ACE_Name_Reply::decode"); - this->transfer_.length_ = ntohl (this->transfer_.length_); - this->transfer_.type_ = ntohl (this->transfer_.type_); - this->transfer_.errno_ = ntohl (this->transfer_.errno_); - return 0; -} - -// Print out current values of the ACE_Name_Reply object. - -void -ACE_Name_Reply::dump (void) const -{ - ACE_TRACE ("ACE_Name_Reply::dump"); - ACE_DEBUG ((LM_DEBUG, "*******\nlength = %d\nerrnum = %d", - this->length (), this->errnum ())); - ACE_DEBUG ((LM_DEBUG, "type = ")); - - switch (this->msg_type ()) - { - case ACE_Name_Reply::SUCCESS: - ACE_DEBUG ((LM_DEBUG, "SUCCESS\n")); - break; - case ACE_Name_Reply::FAILURE: - ACE_DEBUG ((LM_DEBUG, "FAILURE\n")); - break; - default: - ACE_DEBUG ((LM_DEBUG, " = %d\n", this->msg_type ())); - break; - } -} diff --git a/ace/Name_Request_Reply.h b/ace/Name_Request_Reply.h deleted file mode 100644 index 2541ae721a2..00000000000 --- a/ace/Name_Request_Reply.h +++ /dev/null @@ -1,253 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Name_Request_Reply.h -// -// = DESCRIPTION -// Define the format used to exchange messages between the -// ACE_Name Server and its clients. -// -// = AUTHOR -// Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain -// -// ============================================================================ - -#if !defined (ACE_NAME_REQUEST_REPLY_H) -#define ACE_NAME_REQUEST_REPLY_H - -#include "ace/Time_Value.h" -#include "ace/SString.h" - -class ACE_Export ACE_Name_Request -{ - // = TITLE - // Message format for delivering requests to the ACE_Name Server. - // - // = DESCRIPTION - // This class is implemented to minimize data copying. In - // particular, all marshaling is done in situ... -public: - enum Constants - { - /* Request message types. */ - BIND = 01, - REBIND = 02, - RESOLVE = 03, - UNBIND = 04, - LIST_NAMES = 05, - LIST_VALUES = 015, - LIST_TYPES = 025, - LIST_NAME_ENTRIES = 06, - LIST_VALUE_ENTRIES = 016, - LIST_TYPE_ENTRIES = 026, - MAX_ENUM = 11, - MAX_LIST = 3, - - // Mask for bitwise operation used for table lookup - OP_TABLE_MASK = 07, // Mask for lookup of operation - LIST_OP_MASK = 030, // Mask for lookup of list_operation - - // Class-specific constant values. - MAX_NAME_LENGTH = MAXPATHLEN + 1 - }; - - ACE_Name_Request (void); - // Default constructor. - - ACE_Name_Request (ACE_UINT32 msg_type, // Type of request. - const ACE_USHORT16 name[], // - const size_t name_length, - const ACE_USHORT16 value[], - const size_t value_length, - const char type[], - const size_t type_length, - ACE_Time_Value *timeout = 0); // Max time willing to wait for request. - // Create a message. - - void init (void); - // Initialize length_ in order to ensure correct byte ordering - // before a request is sent. - - // = Set/get the length of the encoded/decoded message. - ACE_UINT32 length (void) const; - void length (ACE_UINT32); - - // = Set/get the type of the message. - ACE_UINT32 msg_type (void) const; - void msg_type (ACE_UINT32); - - // = Set/get the blocking semantics. - ACE_UINT32 block_forever (void) const; - void block_forever (ACE_UINT32); - - // = Set/get the timeout. - ACE_Time_Value timeout (void) const; - void timeout (const ACE_Time_Value timeout); - - // = Set/get the name - const ACE_USHORT16 *name (void) const; - void name (const ACE_USHORT16 *); - - // = Set/get the value - const ACE_USHORT16 *value (void) const; - void value (const ACE_USHORT16 *); - - // = Set/get the type - const char *type (void) const; - void type (const char *); - - // = Set/get the len of name - ACE_UINT32 name_len (void) const; - void name_len (ACE_UINT32); - - // = Set/get the len of value - ACE_UINT32 value_len (void) const; - void value_len (ACE_UINT32); - - // = Set/get the len of type - ACE_UINT32 type_len (void) const; - void type_len (ACE_UINT32); - - int encode (void *&); - // Encode the message before transmission. - - int decode (void); - // Decode message after reception. - - void dump (void) const; - // Print out the values of the message for debugging purposes. - -private: - // = The 5 fields in the struct are transmitted to the server. - // The remaining 2 fields are not tranferred -- they are used only on - // the server-side to simplify lookups. - - struct Transfer - { - ACE_UINT32 length_; - // Length of entire request. - - ACE_UINT32 msg_type_; - // Type of the request (i.e., , , , and ). - - ACE_UINT32 block_forever_; - // Indicates if we should block forever. If 0, then - // and indicates how long we should wait. - - ACE_UINT32 sec_timeout_; - // Max seconds willing to wait for name if not blocking forever. - - ACE_UINT32 usec_timeout_; - // Max micro seconds to wait for name if not blocking forever. - - ACE_UINT32 name_len_; - // Len of name in bytes - - ACE_UINT32 value_len_; - // Len of value in bytes - - ACE_UINT32 type_len_; - // Len of type in bytes - - ACE_USHORT16 data_[MAX_NAME_LENGTH + MAXPATHLEN + MAXPATHLEN + 2]; - // The data portion contains the - // followed by the - // followed by the . - }; - - Transfer transfer_; - // Transfer buffer. - - ACE_USHORT16 *name_; - // Pointer to the beginning of the name in this->data_. - - ACE_USHORT16 *value_; - // Pointer to the beginning of the value in this->data_; - - char *type_; - // Pointer to the beginning of the type in this->data_; -}; - -class ACE_Export ACE_Name_Reply -{ - // = TITLE - // Message format for delivering replies from the ACE_Name Server. - // - // = DESCRIPTION - // This class is implemented to minimize data copying. In - // particular, all marshaling is done in situ... -public: - enum Constants - { - /* Reply message types. */ - SUCCESS = 1, // Reply for successful operation. - FAILURE = 2, // Reply for failed operation. - - /* Class-specific constant values. */ - MAX_NAME_LENGTH = MAXPATHLEN + 1 - }; - - ACE_Name_Reply (void); - // Default constructor. - - ACE_Name_Reply (ACE_UINT32 type, ACE_UINT32 err); // Type of reply. - // Create a message. - - void init (void); - // Initialize length_ in order to ensure correct byte ordering - // before a reply is sent. - - // = Set/get the length of the encoded/decoded message. - ACE_UINT32 length (void) const; - void length (ACE_UINT32); - - // = Set/get the type of the message. - ACE_UINT32 msg_type (void) const; - void msg_type (ACE_UINT32); - - // = Set/get the status of the reply (0 == success, -1 == failure). - ACE_UINT32 status (void) const; - void status (ACE_UINT32); - - // = Set/get the errno of a failed reply. - ACE_UINT32 errnum (void) const; - void errnum (ACE_UINT32); - - int encode (void *&); - // Encode the message before transfer. - - int decode (void); - // Decode a message after reception. - - void dump (void) const; - // Print out the values of the message for debugging purposes. - -private: - // = The 3 fields in the struct are transmitted to the server. - - struct Transfer - { - ACE_UINT32 length_; - // Length of entire reply. - - ACE_UINT32 type_; - // Type of the reply (i.e., or ). - - ACE_UINT32 errno_; - // Indicates why error occurred if type_> == . - // Typical reasons include: - // (if the client timed out after waiting for the name). - }; - - Transfer transfer_; - // Transfer buffer. -}; - -#endif /* ACE_NAME_REQUEST_REPLY_H */ diff --git a/ace/Name_Space.cpp b/ace/Name_Space.cpp deleted file mode 100644 index e684003509b..00000000000 --- a/ace/Name_Space.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// Name_Space.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Name_Space.h" - -ACE_Name_Binding::ACE_Name_Binding (void) - : type_ (ACE_OS::strdup ("")) -{ - ACE_TRACE ("ACE_Name_Binding::ACE_Name_Binding"); -} - - -ACE_Name_Binding::~ACE_Name_Binding (void) -{ - ACE_TRACE ("ACE_Name_Binding::~ACE_Name_Binding"); - ACE_OS::free ((void *) this->type_); -} - -ACE_Name_Binding::ACE_Name_Binding (const ACE_WString &name, - const ACE_WString &value, - const char *type) - : name_ (name), - value_ (value), - type_ (type == 0 ? ACE_OS::strdup ("") : ACE_OS::strdup (type)) -{ - ACE_TRACE ("ACE_Name_Binding::ACE_Name_Binding"); -} - -ACE_Name_Binding::ACE_Name_Binding (const ACE_Name_Binding &s) - : name_ (s.name_), - value_ (s.value_), - type_ (ACE_OS::strdup (s.type_)) -{ - ACE_TRACE ("ACE_Name_Binding::ACE_Name_Binding"); -} - -void -ACE_Name_Binding::operator = (const ACE_Name_Binding &s) -{ - ACE_TRACE ("ACE_Name_Binding::operator ="); - - this->name_ = s.name_; - this->value_ = s.value_; - this->type_ = ACE_OS::strdup (s.type_); -} - -int -ACE_Name_Binding::operator == (const ACE_Name_Binding &s) const -{ - ACE_TRACE ("ACE_Name_Binding::operator =="); - return this->name_ == s.name_ - && this->value_ == s.value_ - && ACE_OS::strcmp (this->type_, s.type_) == 0; -} - -ACE_Name_Space::~ACE_Name_Space (void) -{ - ACE_TRACE ("ACE_Name_Space::~ACE_Name_Space"); -} diff --git a/ace/Name_Space.h b/ace/Name_Space.h deleted file mode 100644 index 1b3b0abd887..00000000000 --- a/ace/Name_Space.h +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Name_Space.h -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ - -#if !defined (ACE_NAME_SPACE_H) -#define ACE_NAME_SPACE_H - -#include "ace/ACE.h" -#include "ace/SString.h" -#include "ace/Containers.h" -#include "ace/Name_Proxy.h" - -typedef ACE_Unbounded_Set ACE_WSTRING_SET; - -class ACE_Export ACE_Name_Binding -{ - // = TITLE - // Maintains a mapping from name to value and type. -public: - // = Initialization and termination. - ACE_Name_Binding (const ACE_WString &n, - const ACE_WString &v, - const char *t); - // Main constructor that initializes all the fields. - - ACE_Name_Binding (void); - // Default constructor. - - ACE_Name_Binding (const ACE_Name_Binding &); - // Copy constructor. - - void operator= (const ACE_Name_Binding &); - // Assignment operator. - - ~ACE_Name_Binding (void); - // Destructor. - - int operator == (const ACE_Name_Binding &s) const; - // Test for equality. - - ACE_WString name_; - // Name of the binding. - - ACE_WString value_; - // Value of the binding. - - char *type_; - // Type of the binding. -}; - -typedef ACE_Unbounded_Set ACE_BINDING_SET; -typedef ACE_Unbounded_Set_Iterator ACE_BINDING_ITERATOR; - -typedef ACE_Unbounded_Set ACE_PWSTRING_SET; -typedef ACE_Unbounded_Set_Iterator ACE_PWSTRING_ITERATOR; - -class ACE_Export ACE_Name_Space -{ - // = TITLE - // Abstract base class that provides an abstract interface to - // the database without exposing any implemenation details. - // - // = DESCRIPTION - // Manages a Naming Service Name Space. Provides the basic - // methods -- bind, unbind, rebind, find, and listnames. -public: - - virtual ~ACE_Name_Space (void); - // virtual destructor to ensure destructors of subclasses get - // called. - - virtual int bind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in = "") = 0; - // Bind a new name to a naming context (Wide character strings). - - - virtual int rebind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in = "") = 0; - // Overwrite the value or type of an existing name in a - // ACE_Name_Space or bind a new name to the context, if it didn't - // exist yet. (Wide charcter strings interface). - - virtual int unbind (const ACE_WString &name_in) = 0; - // Delete a name from a ACE_Name_Space (Wide charcter strings - // Interface). - - virtual int resolve (const ACE_WString &name_in, - ACE_WString &value_out, - char *&type_out) = 0; - // Get value and type of a given name binding (Wide chars). The - // caller is responsible for deleting both and ! - - virtual int list_names (ACE_WSTRING_SET &set_out, - const ACE_WString &pattern_in) = 0; - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. - - virtual int list_values (ACE_WSTRING_SET &set_out, - const ACE_WString &pattern_in) = 0; - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. - - virtual int list_types (ACE_WSTRING_SET &set_out, - const ACE_WString &pattern_in) = 0; - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. - - virtual int list_name_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) = 0; - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_value_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) = 0; - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_type_entries (ACE_BINDING_SET &set, - const ACE_WString &pattern) = 0; - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual void dump (void) const = 0; - // Dump the state of the object -}; - -#endif /* ACE_NAME_SPACE_H */ diff --git a/ace/Naming_Context.cpp b/ace/Naming_Context.cpp deleted file mode 100644 index 98e00ec7855..00000000000 --- a/ace/Naming_Context.cpp +++ /dev/null @@ -1,612 +0,0 @@ -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Get_Opt.h" -#include "ace/Naming_Context.h" -#include "ace/Remote_Name_Space.h" -#include "ace/Local_Name_Space_T.h" -#include "ace/Registry_Name_Space.h" -#include "ace/Memory_Pool.h" - -// Make life easier later on... - -typedef ACE_Local_Name_Space LOCAL_NAME_SPACE; -typedef ACE_Local_Name_Space LITE_LOCAL_NAME_SPACE; - -// The following Factory is used by the ACE_Service_Config and -// svc.conf file to dynamically initialize the state of the Name -// Server client. - -ACE_SVC_FACTORY_DEFINE (ACE_Naming_Context) - -// The ACE_Naming_Context static service object is now defined -// by the ACE_Object_Manager, in Object_Manager.cpp. - -int -ACE_Naming_Context::info (char **strp, - size_t length) const -{ - ACE_TRACE ("ACE_Naming_Context::info"); - char buf[BUFSIZ]; - - ACE_OS::sprintf (buf, "%s\t#%s\n", - "ACE_Naming_Context", - "Proxy for making calls to a Name Server"); - - if (*strp == 0 && (*strp = ACE_OS::strdup (buf)) == 0) - return -1; - else - ACE_OS::strncpy (*strp, buf, length); - return ACE_OS::strlen (buf); -} - -int -ACE_Naming_Context::local (void) -{ - ACE_TRACE ("ACE_Naming_Context::local"); - return ACE_OS::strcmp (this->netnameserver_host_, "localhost") == 0 - || ACE_OS::strcmp (this->netnameserver_host_, this->hostname_) == 0; -} - -int -ACE_Naming_Context::open (Context_Scope_Type scope_in, int lite) -{ - ACE_TRACE ("ACE_Naming_Context::open"); - ACE_OS::hostname (this->hostname_, - (sizeof this->hostname_ / sizeof (char))); - - this->netnameserver_host_ = this->name_options_->nameserver_host (); - this->netnameserver_port_ = this->name_options_->nameserver_port (); - - // Perform factory operation to select appropriate type of - // Name_Space subclass. - -#if (defined (ACE_WIN32) && defined (UNICODE)) -// This only works on Win32 platforms when UNICODE is turned on - - if (this->name_options_->use_registry ()) - // Use ACE_Registry - ACE_NEW_RETURN (this->name_space_, ACE_Registry_Name_Space (this->name_options_), -1); -#endif /* ACE_WIN32 && UNICODE */ - if (!this->name_options_->use_registry ()) - if (scope_in == ACE_Naming_Context::NET_LOCAL && this->local () == 0) - { - // Use NET_LOCAL name space, set up connection with remote server. - ACE_NEW_RETURN (this->name_space_, - ACE_Remote_Name_Space (this->netnameserver_host_, - (u_short) this->netnameserver_port_), - -1); - } - else // Use NODE_LOCAL or PROC_LOCAL name space. - { - if (lite) - ACE_NEW_RETURN (this->name_space_, LITE_LOCAL_NAME_SPACE (scope_in, this->name_options_), -1); - else - ACE_NEW_RETURN (this->name_space_, LOCAL_NAME_SPACE (scope_in, this->name_options_), -1); - } - - if (ACE_LOG_MSG->op_status () != 0 || this->name_space_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, "NAME_SPACE::NAME_SPACE\n"), -1); - return 0; -} - -int -ACE_Naming_Context::close_down (void) -{ - ACE_TRACE ("ACE_Naming_Context::close_down"); - - delete this->name_options_; - this->name_options_ = 0; - - return this->close (); -} - -int -ACE_Naming_Context::close (void) -{ - ACE_TRACE ("ACE_Naming_Context::close"); - - delete this->name_space_; - this->name_space_ = 0; - - return 0; -} - -ACE_Naming_Context::ACE_Naming_Context (void) - : name_options_ (0), - name_space_ (0) -{ - ACE_TRACE ("ACE_Naming_Context::ACE_Naming_Context"); - - ACE_NEW (this->name_options_, ACE_Name_Options); -} - -ACE_Naming_Context::ACE_Naming_Context (Context_Scope_Type scope_in, - int lite) - : name_options_ (0), - name_space_ (0) -{ - ACE_TRACE ("ACE_Naming_Context::ACE_Naming_Context"); - - ACE_NEW (this->name_options_, ACE_Name_Options); - - // Initialize. - if (this->open (scope_in, lite) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "ACE_Naming_Context::ACE_Naming_Context")); -} - -ACE_Name_Options * -ACE_Naming_Context::name_options (void) -{ - return this->name_options_; -} - -int -ACE_Naming_Context::bind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in) -{ - ACE_TRACE ("ACE_Naming_Context::bind"); - return this->name_space_->bind (name_in, value_in, type_in); -} - -int -ACE_Naming_Context::bind (const char *name_in, - const char *value_in, - const char *type_in) -{ - ACE_TRACE ("ACE_Naming_Context::bind"); - return this->bind (ACE_WString (name_in), ACE_WString (value_in), type_in); -} - -int -ACE_Naming_Context::rebind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in) -{ - ACE_TRACE ("ACE_Naming_Context::rebind"); - return this->name_space_->rebind (name_in, value_in, type_in); -} - -int -ACE_Naming_Context::rebind (const char *name_in, - const char *value_in, - const char *type_in) -{ - ACE_TRACE ("ACE_Naming_Context::rebind"); - return rebind (ACE_WString (name_in), ACE_WString (value_in), type_in); -} - -int -ACE_Naming_Context::resolve (const ACE_WString &name_in, - ACE_WString &value_out, - char *&type_out) -{ - ACE_TRACE ("ACE_Naming_Context::resolve"); - return this->name_space_->resolve (name_in, value_out, type_out); -} - -int -ACE_Naming_Context::resolve (const char *name_in, - ACE_WString &value_out, - char *&type_out) -{ - ACE_TRACE ("ACE_Naming_Context::resolve"); - return this->resolve (ACE_WString (name_in), value_out, type_out); -} - -int -ACE_Naming_Context::resolve (const char *name_in, - char *&value_out, - char *&type_out) -{ - ACE_TRACE ("ACE_Naming_Context::resolve"); - ACE_WString val_str; - - if (this->resolve (ACE_WString (name_in), val_str, type_out) == -1) - return -1; - - // Note that char_rep() *allocates* the memory! Thus, caller is - // responsible for deleting it! - value_out = val_str.char_rep (); - - return value_out == 0 ? -1 : 0; -} - -int -ACE_Naming_Context::unbind (const ACE_WString &name_in) -{ - ACE_TRACE ("ACE_Naming_Context::unbind"); - return this->name_space_->unbind (name_in); -} - -int -ACE_Naming_Context::unbind (const char *name_in) -{ - ACE_TRACE ("ACE_Naming_Context::unbind"); - return this->unbind (ACE_WString (name_in)); -} - -int -ACE_Naming_Context::list_names (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_names"); - return this->name_space_->list_names (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_names (ACE_PWSTRING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_names"); - return this->list_names (set_out, ACE_WString (pattern_in)); -} - -int -ACE_Naming_Context::list_values (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_values"); - return this->name_space_->list_values (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_values (ACE_PWSTRING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_values"); - return this->list_values (set_out, ACE_WString (pattern_in)); -} - -int -ACE_Naming_Context::list_types (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_types"); - return this->name_space_->list_types (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_types (ACE_PWSTRING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_types"); - return this->list_types (set_out, ACE_WString (pattern_in)); -} - -int -ACE_Naming_Context::list_name_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_name_entries"); - return this->name_space_->list_name_entries (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_name_entries (ACE_BINDING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_name_entries"); - return this->list_name_entries (set_out, ACE_WString (pattern_in)); -} - -int -ACE_Naming_Context::list_value_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_value_entries"); - return this->name_space_->list_value_entries (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_value_entries (ACE_BINDING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_value_entries"); - return this->list_value_entries (set_out, ACE_WString (pattern_in)); -} - -int -ACE_Naming_Context::list_type_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_type_entries"); - return this->name_space_->list_type_entries (set_out, pattern_in); -} - -int -ACE_Naming_Context::list_type_entries (ACE_BINDING_SET &set_out, - const char *pattern_in) -{ - ACE_TRACE ("ACE_Naming_Context::list_type_entries"); - return this->list_type_entries (set_out, ACE_WString (pattern_in)); -} - - -ACE_Naming_Context::~ACE_Naming_Context (void) -{ - ACE_TRACE ("ACE_Naming_Context::~ACE_Naming_Context"); - - this->close_down (); -} - -void -ACE_Naming_Context::dump () -{ - ACE_TRACE ("ACE_Naming_Context::dump"); - this->name_space_->dump(); -} - -int -ACE_Naming_Context::init (int argc, char *argv[]) -{ - ACE_DEBUG ((LM_DEBUG, "ACE_Naming_Context::init\n")); - this->name_options_->parse_args (argc, argv); - return this->open (this->name_options_->context ()); -} - -int -ACE_Naming_Context::fini (void) -{ - ACE_DEBUG ((LM_DEBUG, "ACE_Naming_Context::fini\n")); - - this->close_down (); - - return 0; -} - -ACE_Name_Options::ACE_Name_Options (void) - : debugging_ (0), - verbosity_ (0), - use_registry_ (0), - nameserver_port_ (ACE_DEFAULT_SERVER_PORT), - nameserver_host_ (ACE_OS::strdup (ACE_DEFAULT_SERVER_HOST)), - namespace_dir_ (ACE_OS::strdup (ACE_DEFAULT_NAMESPACE_DIR)), - process_name_ (0), - database_ (ACE_OS::strdup (ACE_DEFAULT_LOCALNAME)), - base_address_ (ACE_DEFAULT_BASE_ADDR) -{ - ACE_TRACE ("ACE_Name_Options::ACE_Name_Options"); -} - -ACE_Name_Options::~ACE_Name_Options (void) -{ - ACE_TRACE ("ACE_Name_Options::~ACE_Name_Options"); - - ACE_OS::free ((void *) this->nameserver_host_); - ACE_OS::free ((void *) this->namespace_dir_ ); - ACE_OS::free ((void *) this->process_name_ ); - ACE_OS::free ((void *) this->database_ ); -} - -void -ACE_Name_Options::nameserver_port (int port) -{ - ACE_TRACE ("ACE_Name_Options::nameserver_port"); - this->nameserver_port_ = port; -} - -int -ACE_Name_Options::nameserver_port (void) -{ - ACE_TRACE ("ACE_Name_Options::nameserver_port"); - return this->nameserver_port_; -} - -void -ACE_Name_Options::namespace_dir (LPCTSTR dir) -{ - ACE_TRACE ("ACE_Name_Options::namespace_dir"); - ACE_OS::free ((void *) this->namespace_dir_ ); - this->namespace_dir_ = ACE_OS::strdup (dir); -} - -void -ACE_Name_Options::process_name (LPCTSTR pname) -{ - ACE_TRACE ("ACE_Name_Options::process_name"); - LPCTSTR t = ACE::basename (pname, ACE_DIRECTORY_SEPARATOR_CHAR); - ACE_OS::free ((void *) this->process_name_ ); - this->process_name_ = ACE_OS::strdup (t); -} - -void -ACE_Name_Options::nameserver_host (const char *host) -{ - ACE_TRACE ("ACE_Name_Options::nameserver_host"); - ACE_OS::free ((void *) this->nameserver_host_); - this->nameserver_host_ = ACE_OS::strdup (host); -} - -const char * -ACE_Name_Options::nameserver_host (void) -{ - ACE_TRACE ("ACE_Name_Options::nameserver_host"); - return this->nameserver_host_; -} - -LPCTSTR -ACE_Name_Options::database (void) -{ - ACE_TRACE ("ACE_Name_Options::database"); - return this->database_; -} - -void -ACE_Name_Options::database (LPCTSTR db) -{ - ACE_TRACE ("ACE_Name_Options::database"); - ACE_OS::free ((void *) this->database_); - this->database_ = ACE_OS::strdup (db); -} - -char * -ACE_Name_Options::base_address (void) -{ - ACE_TRACE ("ACE_Name_Options::database"); - return this->base_address_; -} - -void -ACE_Name_Options::base_address (char *base_address) -{ - ACE_TRACE ("ACE_Name_Options::base_address"); - this->base_address_ = base_address; -} - -ACE_Naming_Context::Context_Scope_Type -ACE_Name_Options::context (void) -{ - ACE_TRACE ("ACE_Name_Options::context"); - return this->context_; -} - -void -ACE_Name_Options::context (ACE_Naming_Context::Context_Scope_Type context) -{ - ACE_TRACE ("ACE_Name_Options::context"); - this->context_ = context; -} - -LPCTSTR -ACE_Name_Options::process_name (void) -{ - ACE_TRACE ("ACE_Name_Options::process_name"); - return this->process_name_; -} - -LPCTSTR -ACE_Name_Options::namespace_dir (void) -{ - ACE_TRACE ("ACE_Name_Options::namespace_dir"); - return this->namespace_dir_; -} - -int -ACE_Name_Options::debug (void) -{ - ACE_TRACE ("ACE_Name_Options::debug"); - return this->debugging_; -} - -int -ACE_Name_Options::use_registry (void) -{ - ACE_TRACE ("ACE_Name_Options::use_registry"); - return this->use_registry_; -} - -void -ACE_Name_Options::use_registry (int x) -{ - ACE_TRACE ("ACE_Name_Options::use_registry"); - this->use_registry_ = x; -} - -int -ACE_Name_Options::verbose (void) -{ - ACE_TRACE ("ACE_Name_Options::verbose"); - return this->verbosity_; -} - -void -ACE_Name_Options::parse_args (int argc, char *argv[]) -{ - ACE_TRACE ("ACE_Name_Options::parse_args"); - ACE_LOG_MSG->open (argv[0]); - this->process_name (ACE_WIDE_STRING (argv[0])); - - // Default is to use the PROC_LOCAL context... - this->context (ACE_Naming_Context::PROC_LOCAL); - - // Make the database name the same as the process name by default - // (note that this makes a copy of the process_name_ so that we can - // clean it up in the destructor). - this->database (this->process_name ()); - - ACE_Get_Opt get_opt (argc, argv, "b:c:dh:l:P:p:s:T:vr"); - - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'c': - { - if (ACE_OS::strcmp (get_opt.optarg, "PROC_LOCAL")) - this->context (ACE_Naming_Context::PROC_LOCAL); - else if (ACE_OS::strcmp (get_opt.optarg, "NODE_LOCAL")) - this->context (ACE_Naming_Context::NODE_LOCAL); - else if (ACE_OS::strcmp (get_opt.optarg, "NET_LOCAL")) - this->context (ACE_Naming_Context::NET_LOCAL); - } - break; - case 'd': - this->debugging_ = 1; - break; - case 'r': - this->use_registry_ = 1; - break; - case 'h': - this->nameserver_host (get_opt.optarg); - break; - case 'l': - this->namespace_dir (ACE_WIDE_STRING (get_opt.optarg)); - break; - case 'P': - this->process_name (ACE_WIDE_STRING (get_opt.optarg)); - break; - case 'p': - this->nameserver_port (ACE_OS::atoi (get_opt.optarg)); - break; - case 's': - this->database (ACE_WIDE_STRING (get_opt.optarg)); - break; - case 'b': - this->base_address ((char *) ACE_OS::atoi (get_opt.optarg)); - break; - case 'T': - if (ACE_OS::strcasecmp (get_opt.optarg, "ON") == 0) - ACE_Trace::start_tracing (); - else if (ACE_OS::strcasecmp (get_opt.optarg, "OFF") == 0) - ACE_Trace::stop_tracing (); - break; - case 'v': - this->verbosity_ = 1; - break; - default: - ACE_OS::fprintf (stderr, "%s\n" - "\t[-d] (enable debugging)\n" - "\t[-h nameserver host]\n" - "\t[-l namespace directory]\n" - "\t[-P processname]\n" - "\t[-p nameserver port]\n" - "\t[-s database name]\n" - "\t[-b base address]\n" - "\t[-v] (verbose) \n", - "\t[-r] (use Win32 Registry) \n", - argv[0]); - /* NOTREACHED */ - break; - } -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Local_Name_Space ; -template class ACE_Local_Name_Space ; -template class ACE_Malloc; -template class ACE_Malloc; -template class ACE_Allocator_Adapter >; -template class ACE_Allocator_Adapter >; -template class ACE_Name_Space_Map > >; -template class ACE_Name_Space_Map > >; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Local_Name_Space -#pragma instantiate ACE_Local_Name_Space -#pragma instantiate ACE_Malloc -#pragma instantiate ACE_Malloc -#pragma instantiate ACE_Allocator_Adapter > -#pragma instantiate ACE_Allocator_Adapter > -#pragma instantiate ACE_Name_Space_Map > > -#pragma instantiate ACE_Name_Space_Map > > -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ace/Naming_Context.h b/ace/Naming_Context.h deleted file mode 100644 index 8ffc7e0f066..00000000000 --- a/ace/Naming_Context.h +++ /dev/null @@ -1,332 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -/*-*- C++ -*- */ - -// ============================================================================ -// -// = LIBRARY -// ACE -// -// = FILENAME -// Naming_Context.h -// -// = AUTHOR -// Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain -// -// ============================================================================ - -#if !defined (ACE_NAMING_CONTEXT_H) -#define ACE_NAMING_CONTEXT_H - -#include "ace/ACE.h" -#include "ace/SString.h" -#include "ace/Containers.h" -#include "ace/Service_Object.h" -#include "ace/Name_Proxy.h" -#include "ace/Name_Space.h" - -// Forward decl -class ACE_Name_Options; - -class ACE_Export ACE_Naming_Context : public ACE_Service_Object -{ - // = TITLE - // Maintaining accesses Name Server Databases. Allows to add - // NameBindings, change them, remove them and resolve - // NameBindings - // - // = DESCRIPTION - // Manages a Naming Service . That represents a persistent - // string to string mapping for different scopes. The scope of a - // ACE_Naming_Context may be either local for the calling - // process (Note : A process is hereby not identified by it's - // pid, but by it's argv[0]. So different processes (in UNIX - // syntax) may access the same NameBindings), global for all - // processes running on one host or global for all processes on - // the net (that know the address of the net name server - // socket). Strings may be plain character strings or Wide - // character strings. A Name Binding consists of a name string - // (that's the key), a value string and an optional type string - // (no wide chars). -public: - enum Context_Scope_Type - { - PROC_LOCAL, // Name lookup is local to the process. - NODE_LOCAL, // Name lookup is local to the node (host). - NET_LOCAL // Name lookup is local to the (sub)network. - }; - - // = Initialization and termination methods. - ACE_Naming_Context (void); - // "Do-nothing" constructor. - - ACE_Naming_Context (Context_Scope_Type scope_in, int light = 0); - // Specifies the scope of this namespace, opens and memory-maps the - // associated file (if accessible) or contacts the dedicated name - // server process for NET_LOCAL namespace. Note that - // specifies whether or not we want to use - // ACE_Lite_MMap_Memory_Pool. By default we use ACE_MMap_Memory_Pool. - - int open (Context_Scope_Type scope_in = ACE_Naming_Context::PROC_LOCAL, - int light = 0); - // Specifies the scope of this namespace, opens and memory-maps the - // associated file (if accessible) or contacts the dedicated name - // server process for NET_LOCAL namespace. Note that - // specifies whether or not we want to use - // ACE_Lite_MMap_Memory_Pool. By default we use ACE_MMap_Memory_Pool. - - int close (void); - // Deletes the instance of Name Space. Must be called before - // switching name spaces. - - int close_down (void); - // Release all resources. Gets called by destructor and fini. - - ~ACE_Naming_Context (void); - // destructor, do some cleanup :TBD: last dtor should "compress" - // file - - // = Dynamic initialization hooks. - virtual int init (int argc, char *argv[]); - // Initialize name options and naming context when dynamically - // linked. - - virtual int fini (void); - // Close down the test when dynamically unlinked. - - virtual int info (char **strp, size_t length) const; - // Returns information about this context. - - ACE_Name_Options *name_options (void); - // Returns the ACE_Name_Options associated with the Naming_Context - - int bind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in = ""); - // Bind a new name to a naming context (Wide character strings). - - int bind (const char *name_in, - const char *value_in, - const char *type_in = ""); - // Bind a new name to a naming context ( character strings). - - int rebind (const ACE_WString &name_in, - const ACE_WString &value_in, - const char *type_in = ""); - // Overwrite the value or type of an existing name in a - // ACE_Naming_Context or bind a new name to the context, if it - // didn't exist yet. (Wide charcter strings interface). - - int rebind (const char *name_in, - const char *value_in, - const char *type_in = ""); - // Overwrite the value or type of an existing name in a - // ACE_Naming_Context or bind a new name to the context, if it - // didn't exist yet. ( charcter strings interface) - - int unbind (const ACE_WString &name_in); - // Delete a name from a ACE_Naming_Context (Wide charcter strings - // Interface). - - int unbind (const char *name_in); - // Delete a name from a ACE_Naming_Context (character strings - // interface). - - int resolve (const ACE_WString &name_in, - ACE_WString &value_out, - char *&type_out); - // Get value and type of a given name binding (Wide chars). The - // caller is responsible for deleting both and ! - - int resolve (const char *name_in, - ACE_WString &value_out, - char *&type_out); - // Get value and type of a given name binding (Wide chars output). - // The caller is responsible for deleting both and - // ! - - int resolve (const char *name_in, - char *&value_out, - char *&type_out); - // Get value and type of a given name binding ( chars ). The caller - // is responsible for deleting both and ! - - int list_names (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. - - int list_names (ACE_PWSTRING_SET &set_out, - const char *pattern_in); - // Get a set of names matching a specified pattern (chars). Matching - // means the names must begin with the pattern string. - - int list_values (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. - - int list_values (ACE_PWSTRING_SET &set_out, - const char *pattern_in); - // Get a set of values matching a specified pattern (chars). Matching - // means the values must begin with the pattern string. - - int list_types (ACE_PWSTRING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. - - int list_types (ACE_PWSTRING_SET &set_out, - const char *pattern_in); - // Get a set of types matching a specified pattern (chars). Matching - // means the types must begin with the pattern string. - - virtual int list_name_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_name_entries (ACE_BINDING_SET &set_out, - const char *pattern_in); - // Get a set of names matching a specified pattern (wchars). Matching - // means the names must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_value_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_value_entries (ACE_BINDING_SET &set_out, - const char *pattern_in); - // Get a set of values matching a specified pattern (wchars). Matching - // means the values must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_type_entries (ACE_BINDING_SET &set_out, - const ACE_WString &pattern_in); - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - virtual int list_type_entries (ACE_BINDING_SET &set_out, - const char *pattern_in); - // Get a set of types matching a specified pattern (wchars). Matching - // means the types must begin with the pattern string. Returns the - // complete binding associated each pattern match. - - void dump (); - // Dump the state of the object. - -private: - ACE_Name_Options *name_options_; - // Keep track of the options such as database name etc per Naming Context - - ACE_Name_Space *name_space_; - // Name space (can be either local or remote) dynamically bound. - - char hostname_[MAXHOSTNAMELEN + 1]; - // Holds the local hostname. - - const char *netnameserver_host_; - // Holds name of net name server. - - int netnameserver_port_; - // Holds port number of the net name server. - - int local (void); - // 1 if we're on the same local machine as the name server, else 0. - -}; - -class ACE_Export ACE_Name_Options -{ - // = TITLE - // Manages the options for the ACE Name_Server. -public: - // = Initialization and termination methods. - ACE_Name_Options (void); - ~ACE_Name_Options (void); - - void parse_args (int argc, char *argv[]); - // Parse arguments - - // = Set/Get port number - void nameserver_port (int port); - int nameserver_port (void); - - // = Set/Get the context - ACE_Naming_Context::Context_Scope_Type context (void); - void context (ACE_Naming_Context::Context_Scope_Type); - - // = Set/Get host name - void nameserver_host (const char *host); - const char *nameserver_host (void); - - // = Set/Get name space directory - void namespace_dir (LPCTSTR dir); - LPCTSTR namespace_dir (void); - - // = Set/Get process name - void process_name (LPCTSTR dir); - LPCTSTR process_name (void); - - // = Set/Get database name - void database (LPCTSTR); - LPCTSTR database (void); - - // = Set/Get base address of the underlying allocator - void base_address (char *address); - char *base_address (void); - - // Set/Get use of registry in naming - int use_registry (void); - void use_registry (int); - - int debug (void); - // Return debug status - - int verbose (void); - // Return verbose status - -private: - int debugging_; - // Extra debugging info - - int verbosity_; - // Extra verbose messages - - int use_registry_; - // Use Win32 Registry - - int nameserver_port_; - // Port to connect to nameserver process. - - const char *nameserver_host_; - // Hostname of nameserver. - - LPCTSTR namespace_dir_; - // Directory to hold name_bindings. - - LPCTSTR process_name_; - // Name of this process. - - LPCTSTR database_; - // Name of the database that stores the name/value/type bindings. - - char *base_address_; - // Base address of the underlying allocator - - ACE_Naming_Context::Context_Scope_Type context_; - // The context in which the naming database will be created. -}; - -// We can't use the ACE_SVC_FACTORY_DECLARE macro here because this -// needs to be in the ACE_Export context rather than the -// ACE_Svc_Export context. -extern "C" ACE_Export ACE_Service_Object *_make_ACE_Naming_Context (void); - -#endif /* ACE_NAMING_CONTEXT_H */ diff --git a/ace/OS.cpp b/ace/OS.cpp deleted file mode 100644 index 80808e8027f..00000000000 --- a/ace/OS.cpp +++ /dev/null @@ -1,3479 +0,0 @@ -// $Id$ - - -#define ACE_BUILD_DLL -#include "ace/OS.h" -#include "ace/SString.h" -#include "ace/Sched_Params.h" - -#if defined (ACE_WIN32) -#include "ace/ARGV.h" -#endif /* ACE_WIN32 */ - -// Perhaps we should *always* include ace/OS.i in order to make sure -// we can always link against the OS symbols? -#if !defined (ACE_HAS_INLINED_OSCALLS) -#include "ace/OS.i" -#endif /* ACE_HAS_INLINED_OS_CALLS */ - -#include "ace/Task.h" -#include "ace/Synch_T.h" -#include "ace/Containers.h" - -#include "ace/streams.h" - -#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) -#include "ace/Object_Manager.h" - -#if defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) -int -ACE_OS::netdb_acquire (void) -{ - ACE_Thread_Mutex *ace_os_monitor_lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_OS_MONITOR_LOCK); - return ace_os_monitor_lock->acquire (); -} - -int -ACE_OS::netdb_release (void) -{ - ACE_Thread_Mutex *ace_os_monitor_lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_OS_MONITOR_LOCK); - return ace_os_monitor_lock->release (); -} -#endif /* defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) */ -#endif /* defined (ACE_MT_SAFE) */ - -// Static constant representing `zero-time'. -const ACE_Time_Value ACE_Time_Value::zero; - -ACE_ALLOC_HOOK_DEFINE(ACE_Time_Value) - -// Initializes the ACE_Time_Value object from a timeval. - -#if defined(ACE_WIN32) -// Initializes the ACE_Time_Value object from a Win32 FILETIME - -ACE_Time_Value::ACE_Time_Value (const FILETIME &file_time) -{ - // ACE_TRACE ("ACE_Time_Value::ACE_Time_Value"); - this->set (file_time); -} - -void ACE_Time_Value::set (const FILETIME &file_time) -{ - // Initializes the ACE_Time_Value object from a Win32 FILETIME - ACE_QWORD _100ns = ACE_MAKE_QWORD (file_time.dwLowDateTime, - file_time.dwHighDateTime); - // Convert 100ns units to seconds; - this->tv_.tv_sec = long (_100ns / (10000 * 1000)); - // Convert remainder to microseconds; - this->tv_.tv_usec = long ((_100ns - (this->tv_.tv_sec * (10000 * 1000))) / 10); -} - -// Returns the value of the object as a Win32 FILETIME. - -ACE_Time_Value::operator FILETIME () const -{ - // ACE_TRACE ("ACE_Time_Value::operator FILETIME"); - ACE_QWORD _100ns = ((ACE_QWORD) this->tv_.tv_sec * (1000 * 1000) + this->tv_.tv_usec) * 10; - FILETIME file_time; - file_time.dwLowDateTime = ACE_LOW_DWORD (_100ns); - file_time.dwHighDateTime = ACE_HIGH_DWORD (_100ns); - return file_time; -} - -#endif - -ACE_Cleanup_Info::ACE_Cleanup_Info (void) - : object_ (0), - cleanup_hook_ (0), - param_ (0) -{ -} - -int -ACE_Cleanup_Info::operator== (const ACE_Cleanup_Info &o) const -{ - return o.object_ == this->object_ - && o.cleanup_hook_ == this->cleanup_hook_ - && o.param_ == this->param_; -} - -int -ACE_Cleanup_Info::operator!= (const ACE_Cleanup_Info &o) const -{ - return !(*this == o); -} - -void -ACE_Time_Value::dump (void) const -{ - // ACE_TRACE ("ACE_Time_Value::dump"); - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "\ntv_sec_ = %d", this->tv_.tv_sec)); - ACE_DEBUG ((LM_DEBUG, "\ntv_usec_ = %d\n", this->tv_.tv_usec)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_Time_Value::normalize (void) -{ - // ACE_TRACE ("ACE_Time_Value::normalize"); - // New code from Hans Rohnert... - - if (this->tv_.tv_usec >= ACE_ONE_SECOND_IN_USECS) - { - do - { - this->tv_.tv_sec++; - this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS; - } - while (this->tv_.tv_usec >= ACE_ONE_SECOND_IN_USECS); - } - else if (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS) - { - do - { - this->tv_.tv_sec--; - this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS; - } - while (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS); - } - - if (this->tv_.tv_sec >= 1 && this->tv_.tv_usec < 0) - { - this->tv_.tv_sec--; - this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS; - } - else if (this->tv_.tv_sec < 0 && this->tv_.tv_usec > 0) - { - this->tv_.tv_sec++; - this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS; - } -} - -int -ACE_Countdown_Time::start (void) -{ - this->start_time_ = ACE_OS::gettimeofday (); - this->stopped_ = 0; - return 0; -} - -int -ACE_Countdown_Time::update (void) -{ - return (this->stop () == 0) && this->start (); -} - -int -ACE_Countdown_Time::stop (void) -{ - if (this->max_wait_time_ != 0 && this->stopped_ == 0) - { - ACE_Time_Value elapsed_time = - ACE_OS::gettimeofday () - this->start_time_; - - if (*this->max_wait_time_ > elapsed_time) - *this->max_wait_time_ -= elapsed_time; - else - { - // Used all of timeout. - *this->max_wait_time_ = ACE_Time_Value::zero; - errno = ETIME; - } - this->stopped_ = 1; - } - return 0; -} - -ACE_Countdown_Time::ACE_Countdown_Time (ACE_Time_Value *max_wait_time) - : max_wait_time_ (max_wait_time), - stopped_ (0) -{ - if (max_wait_time != 0) - this->start (); -} - -ACE_Countdown_Time::~ACE_Countdown_Time (void) -{ - this->stop (); -} - -#if defined (ACE_HAS_POWERPC) && defined (ghs) -void -ACE_OS::readPPCTimeBase (u_long &most, u_long &least) -{ - // ACE_TRACE ("ACE_OS::readPPCTimeBase"); - - // This function can't be inline because it depends on the arguments - // being in particular registers (r3 and r4), in conformance with the - // EABI standard. It would be nice if we knew how to put the variable - // names directly into the assembler instructions . . . - asm("aclock:"); - asm("mftb r5,TBU"); - asm("mftb r6,TBL"); - asm("mftb r7,TBU"); - asm("cmpw r5,r7"); - asm("bne aclock"); - - asm("stw r5, 0(r3)"); - asm("stw r6, 0(r4)"); -} -#endif /* ACE_HAS_POWERPC && ghs */ - -#if defined (ACE_WIN32) || defined (VXWORKS) || defined (CHORUS) -// Don't inline on those platforms because this function contains -// string literals, and some compilers, e.g., g++, don't handle those -// efficiently in unused inline functions. -int -ACE_OS::uname (struct utsname *name) -{ - // ACE_TRACE ("ACE_OS::uname"); -#if defined (ACE_WIN32) - size_t maxnamelen = sizeof name->nodename; - ACE_OS::strcpy (name->sysname, "Win32"); - - OSVERSIONINFO vinfo; - vinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - ::GetVersionEx (&vinfo); - - SYSTEM_INFO sinfo; - ::GetSystemInfo(&sinfo); - - ACE_OS::strcpy (name->sysname, "Win32"); - - if (vinfo.dwPlatformId == VER_PLATFORM_WIN32_NT) - { - // Get information from the two structures - ACE_OS::sprintf (name->release, - "Windows NT %d.%d", - vinfo.dwMajorVersion, - vinfo.dwMinorVersion); - ACE_OS::sprintf (name->version, - "Build %d %s", - vinfo.dwBuildNumber, - vinfo.szCSDVersion); - - char processor[10] = "Unknown"; - char subtype[10] = "Unknown"; - -#if defined (__BORLANDC__) - // Some changes should be made in winbase.h... - switch (sinfo.s.wProcessorArchitecture) -#else - switch (sinfo.wProcessorArchitecture) -#endif /* __BORLAND__ */ - { - case PROCESSOR_ARCHITECTURE_INTEL: - ACE_OS::strcpy (processor, "Intel"); - if (sinfo.wProcessorLevel == 3) - ACE_OS::strcpy (subtype, "80386"); - else if (sinfo.wProcessorLevel == 4) - ACE_OS::strcpy (subtype, "80486"); - else if (sinfo.wProcessorLevel == 5) - ACE_OS::strcpy (subtype, "Pentium"); - else if (sinfo.wProcessorLevel == 6) - ACE_OS::strcpy (subtype, "Pentium Pro"); - else if (sinfo.wProcessorLevel == 7) // I'm guessing here - ACE_OS::strcpy (subtype, "Pentium II"); - break; - case PROCESSOR_ARCHITECTURE_MIPS: - ACE_OS::strcpy (processor, "MIPS"); - ACE_OS::strcpy (subtype, "R4000"); - break; - case PROCESSOR_ARCHITECTURE_ALPHA: - ACE_OS::strcpy (processor, "Alpha"); - ACE_OS::sprintf (subtype, "%d", sinfo.wProcessorLevel); - break; - case PROCESSOR_ARCHITECTURE_PPC: - ACE_OS::strcpy (processor, "PPC"); - if (sinfo.wProcessorLevel == 1) - ACE_OS::strcpy (subtype, "601"); - else if (sinfo.wProcessorLevel == 3) - ACE_OS::strcpy (subtype, "603"); - else if (sinfo.wProcessorLevel == 4) - ACE_OS::strcpy (subtype, "604"); - else if (sinfo.wProcessorLevel == 6) - ACE_OS::strcpy (subtype, "603+"); - else if (sinfo.wProcessorLevel == 9) - ACE_OS::strcpy (subtype, "804+"); - else if (sinfo.wProcessorLevel == 20) - ACE_OS::strcpy (subtype, "620"); - break; - case PROCESSOR_ARCHITECTURE_UNKNOWN: - ACE_OS::strcpy (processor, "Unknown"); - break; - } - ACE_OS::sprintf(name->machine, "%s %s", processor, subtype); - } - else if (vinfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) - { - // Get Windows 95 Information - ACE_OS::strcpy (name->release, "Windows 95"); - ACE_OS::sprintf (name->version, "%d", LOWORD (vinfo.dwBuildNumber)); - if (sinfo.dwProcessorType == PROCESSOR_INTEL_386) - ACE_OS::strcpy (name->machine, "Intel 80386"); - else if (sinfo.dwProcessorType == PROCESSOR_INTEL_486) - ACE_OS::strcpy (name->machine, "Intel 80486"); - else if (sinfo.dwProcessorType == PROCESSOR_INTEL_PENTIUM) - ACE_OS::strcpy (name->machine, "Intel Pentium"); - } - else - { - // We don't know what this is! - - ACE_OS::strcpy (name->release, "???"); - ACE_OS::strcpy (name->version, "???"); - ACE_OS::strcpy (name->machine, "???"); - } - - return ACE_OS::hostname (name->nodename, maxnamelen); -#elif defined (VXWORKS) - size_t maxnamelen = sizeof name->nodename; - ACE_OS::strcpy (name->sysname, "VxWorks"); - ACE_OS::strcpy (name->release, "???"); - ACE_OS::strcpy (name->version, sysBspRev ()); - ACE_OS::strcpy (name->machine, sysModel ()); - - return ACE_OS::hostname (name->nodename, maxnamelen); -#elif defined (CHORUS) - size_t maxnamelen = sizeof name->nodename; - ACE_OS::strcpy (name->sysname, "CHORUS/ClassiX"); - ACE_OS::strcpy (name->release, "???"); - ACE_OS::strcpy (name->version, "???"); - ACE_OS::strcpy (name->machine, "???"); - - return ACE_OS::hostname (name->nodename, maxnamelen); -#endif /* ACE_WIN32 */ -} -#endif /* ACE_WIN32 || VXWORKS */ - - -#if defined (VXWORKS) -struct hostent * -ACE_OS::gethostbyname (const char *name) -{ - // ACE_TRACE ("ACE_OS::gethostbyname"); - - // not thread safe! - static hostent ret; - static int first_addr; - static char *hostaddr[2]; - static char *aliases[1]; - - ACE_OSCALL (::hostGetByName ((char *) name), int, -1, first_addr); - if (first_addr == -1) - return 0; - - hostaddr[0] = (char *) &first_addr; - hostaddr[1] = 0; - aliases[0] = 0; - - // Might not be official: just echo input arg. - ret.h_name = (char *) name; - ret.h_addrtype = AF_INET; - ret.h_length = 4; // VxWorks 5.2/3 doesn't define IP_ADDR_LEN; - ret.h_addr_list = hostaddr; - ret.h_aliases = aliases; - - return &ret; -} - -struct hostent * -ACE_OS::gethostbyaddr (const char *addr, int length, int type) -{ - // ACE_TRACE ("ACE_OS::gethostbyaddr"); - - if (length != 4 || type != AF_INET) - { - errno = EINVAL; - return 0; - } - - // not thread safe! - static hostent ret; - static char name [MAXNAMELEN + 1]; - static char *hostaddr[2]; - static char *aliases[1]; - - if (::hostGetByAddr (*(int *) addr, name) != 0) - { - // errno will have been set to S_hostLib_UNKNOWN_HOST. - return 0; - } - - // Might not be official: just echo input arg. - hostaddr[0] = (char *) addr; - hostaddr[1] = 0; - aliases[0] = 0; - - ret.h_name = name; - ret.h_addrtype = AF_INET; - ret.h_length = 4; // VxWorks 5.2/3 doesn't define IP_ADDR_LEN; - ret.h_addr_list = hostaddr; - ret.h_aliases = aliases; - - return &ret; -} - -struct hostent * -ACE_OS::gethostbyaddr_r (const char *addr, int length, int type, - hostent *result, ACE_HOSTENT_DATA buffer, - int *h_errnop) -{ - // ACE_TRACE ("ACE_OS::gethostbyaddr_r"); - if (length != 4 || type != AF_INET) - { - errno = EINVAL; - return 0; - } - - if (ACE_OS::netdb_acquire ()) - return 0; - else - { - // buffer layout: - // buffer[0-3]: h_addr_list[0], the first (and only) addr. - // buffer[4-7]: h_addr_list[1], the null terminator for the h_addr_list. - // buffer[8]: the name of the host, null terminated. - - // Call ::hostGetByAddr (), which puts the (one) hostname into - // buffer. - if (::hostGetByAddr (*(int *) addr, &buffer[8]) == 0) - { - // Store the return values in result. - result->h_name = &buffer[8]; // null-terminated host name - result->h_addrtype = AF_INET; - result->h_length = 4; // VxWorks 5.2/3 doesn't define IP_ADDR_LEN. - - result->h_addr_list = (char **) buffer; - // Might not be official: just echo input arg. - result->h_addr_list[0] = (char *) addr; - // Null-terminate the list of addresses. - result->h_addr_list[1] = 0; - // And no aliases, so null-terminate h_aliases. - result->h_aliases = &result->h_addr_list[1]; - } - else - { - // errno will have been set to S_hostLib_UNKNOWN_HOST. - result = 0; - } - } - - ACE_OS::netdb_release (); - *h_errnop = errno; - return result; -} - -struct hostent * -ACE_OS::gethostbyname_r (const char *name, hostent *result, - ACE_HOSTENT_DATA buffer, - int *h_errnop) -{ - // ACE_TRACE ("ACE_OS::gethostbyname_r"); - - if (ACE_OS::netdb_acquire ()) - return 0; - else - { - int addr; - ACE_OSCALL (::hostGetByName ((char *) name), int, -1, addr); - - if (addr == -1) - { - // errno will have been set to S_hostLib_UNKNOWN_HOST - result = 0; - } - else - { - // Might not be official: just echo input arg. - result->h_name = (char *) name; - result->h_addrtype = AF_INET; - result->h_length = 4; // VxWorks 5.2/3 doesn't define IP_ADDR_LEN; - - // buffer layout: - // buffer[0-3]: h_addr_list[0], pointer to the addr. - // buffer[4-7]: h_addr_list[1], null terminator for the h_addr_list. - // buffer[8-11]: the first (and only) addr. - - // Store the address list in buffer. - result->h_addr_list = (char **) buffer; - // Store the actual address _after_ the address list. - result->h_addr_list[0] = (char *) &result->h_addr_list[2]; - result->h_addr_list[2] = (char *) addr; - // Null-terminate the list of addresses. - result->h_addr_list[1] = 0; - // And no aliases, so null-terminate h_aliases. - result->h_aliases = &result->h_addr_list[1]; - } - } - - ACE_OS::netdb_release (); - *h_errnop = errno; - return result; -} -#endif /* VXWORKS */ - -void -ACE_OS::ace_flock_t::dump (void) const -{ -// ACE_TRACE ("ACE_OS::ace_flock_t::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "handle_ = %u", this->handle_)); -#if defined (ACE_WIN32) - ACE_DEBUG ((LM_DEBUG, "\nInternal = %d", this->overlapped_.Internal)); - ACE_DEBUG ((LM_DEBUG, "\nInternalHigh = %d", this->overlapped_.InternalHigh)); - ACE_DEBUG ((LM_DEBUG, "\nOffsetHigh = %d", this->overlapped_.OffsetHigh)); - ACE_DEBUG ((LM_DEBUG, "\nhEvent = %d", this->overlapped_.hEvent)); -#elif !defined (CHORUS) - ACE_DEBUG ((LM_DEBUG, "\nl_whence = %d", this->lock_.l_whence)); - ACE_DEBUG ((LM_DEBUG, "\nl_start = %d", this->lock_.l_start)); - ACE_DEBUG ((LM_DEBUG, "\nl_len = %d", this->lock_.l_len)); - ACE_DEBUG ((LM_DEBUG, "\nl_type = %d", this->lock_.l_type)); -#endif /* ACE_WIN32 */ - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -void -ACE_OS::mutex_lock_cleanup (void *mutex) -{ -// ACE_TRACE ("ACE_OS::mutex_lock_cleanup"); -#if defined (ACE_HAS_THREADS) -#if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ACE_mutex_t *p_lock = (ACE_mutex_t *) mutex; - ACE_OS::mutex_unlock (p_lock); -#else - ACE_UNUSED_ARG (mutex); -#endif /* ACE_HAS_DCETHREADS */ -#else - ACE_UNUSED_ARG (mutex); -#endif /* ACE_HAS_THREADS */ -} - -// The following *printf functions aren't inline because -// they use varargs. -int -ACE_OS::fprintf (FILE *fp, const char *format, ...) -{ - // ACE_TRACE ("ACE_OS::fprintf"); - int result = 0; - va_list ap; - va_start (ap, format); - ACE_OSCALL (::vfprintf (fp, format, ap), int, -1, result); - va_end (ap); - return result; -} - -int -ACE_OS::printf (const char *format, ...) -{ - // ACE_TRACE ("ACE_OS::printf"); - int result; - va_list ap; - va_start (ap, format); - ACE_OSCALL (::vprintf (format, ap), int, -1, result); - va_end (ap); - return result; -} - -int -ACE_OS::sprintf (char *buf, const char *format, ...) -{ - // ACE_TRACE ("ACE_OS::sprintf"); - int result; - va_list ap; - va_start (ap, format); - ACE_OSCALL (ACE_SPRINTF_ADAPTER (::vsprintf (buf, format, ap)), int, -1, result); - va_end (ap); - return result; -} - -#if defined (ACE_HAS_UNICODE) -#if defined (ACE_WIN32) - -int -ACE_OS::sprintf (wchar_t *buf, const wchar_t *format, ...) -{ - // ACE_TRACE ("ACE_OS::sprintf"); - int result; - va_list ap; - va_start (ap, format); - ACE_OSCALL (::vswprintf (buf, format, ap), int, -1, result); - va_end (ap); - return result; -} - -#if 0 -int -ACE_OS::sprintf (wchar_t *buf, const char *format, ...) -{ - // ACE_TRACE ("ACE_OS::sprintf"); - const wchar_t *wide_format = ACE_WString (format).fast_rep (); - int result; - va_list ap; - va_start (ap, wide_format); - ACE_OSCALL (::vswprintf (buf, wide_format, ap), int, -1, result); - va_end (ap); - return result; -} -#endif /* 0 */ - -#endif /* ACE_WIN32 */ -#endif /* ACE_HAS_UNICODE */ - -int -ACE_OS::execl (const char * /* path */, const char * /* arg0 */, ...) -{ - // ACE_TRACE ("ACE_OS::execl"); -#if defined (ACE_WIN32) || defined (VXWORKS) - ACE_NOTSUP_RETURN (-1); -#else - ACE_NOTSUP_RETURN (-1); - // Need to write this code. - // ACE_OSCALL_RETURN (::execv (path, argv), int, -1); -#endif /* ACE_WIN32 */ -} - -int -ACE_OS::execle (const char * /* path */, const char * /* arg0 */, ...) -{ - // ACE_TRACE ("ACE_OS::execle"); -#if defined (ACE_WIN32) || defined (VXWORKS) - ACE_NOTSUP_RETURN (-1); -#else - ACE_NOTSUP_RETURN (-1); - // Need to write this code. - // ACE_OSCALL_RETURN (::execve (path, argv, envp), int, -1); -#endif /* ACE_WIN32 */ -} - -int -ACE_OS::execlp (const char * /* file */, const char * /* arg0 */, ...) -{ - // ACE_TRACE ("ACE_OS::execlp"); -#if defined (ACE_WIN32) || defined (VXWORKS) - ACE_NOTSUP_RETURN (-1); -#else - ACE_NOTSUP_RETURN (-1); - // Need to write this code. - // ACE_OSCALL_RETURN (::execvp (file, argv), int, -1); -#endif /* ACE_WIN32 */ -} - -#if defined (ACE_HAS_STHREADS) -#include /**/ -#include /**/ -#endif /* ACE_HAS_STHREADS */ - -int -ACE_OS::thr_setprio (const ACE_Sched_Priority prio) -{ - // Set the thread priority on the current thread. - ACE_hthread_t my_thread_id; - ACE_OS::thr_self (my_thread_id); - return ACE_OS::thr_setprio (my_thread_id, prio); -} - -int -ACE_OS::sched_params (const ACE_Sched_Params &sched_params) -{ - // ACE_TRACE ("ACE_OS::sched_params"); -#if defined (CHORUS) - int result; - struct sched_param param; - ACE_thread_t thr_id = ACE_OS::thr_self (); - - param.sched_priority = sched_params.priority (); - - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam (thr_id, - sched_params.policy (), - ¶m), - result), - int, -1); -#elif defined (ACE_HAS_STHREADS) - // Set priority class, priority, and quantum of this LWP or process as - // specified in sched_params. - - // Get the priority class ID and attributes. - pcinfo_t pcinfo; - // The following is just to avoid Purify warnings about unitialized - // memory reads. - ACE_OS::memset (&pcinfo, 0, sizeof pcinfo); - - ACE_OS::strcpy (pcinfo.pc_clname, - sched_params.policy() == ACE_SCHED_OTHER ? "TS" : "RT"); - - if (::priocntl (P_ALL /* ignored */, - P_MYID /* ignored */, - PC_GETCID, - (char *) &pcinfo) == -1) - { - return -1; - } - - // OK, now we've got the class ID in pcinfo.pc_cid. In addition, - // the maximum configured real-time priority is in ((rtinfo_t *) - // pcinfo.pc_clinfo)->rt_maxpri. - - pcparms_t pcparms; - // The following is just to avoid Purify warnings about unitialized - // memory reads. - ACE_OS::memset (&pcparms, 0, sizeof pcparms); - - pcparms.pc_cid = pcinfo.pc_cid; - - if (sched_params.policy () == ACE_SCHED_OTHER && - sched_params.quantum () == ACE_Time_Value::zero) - // Solaris doesn't support non-zero quantums in time-sharing class: use - // real-time class instead. - { - tsparms_t tsparms; - // The following is just to avoid Purify warnings about unitialized - // memory reads. - ACE_OS::memset (&tsparms, 0, sizeof tsparms); - - // Don't change ts_uprilim (user priority limit) - tsparms.ts_uprilim = TS_NOCHANGE; - tsparms.ts_upri = sched_params.priority (); - - // Package up the TS class ID and parameters for the ::priocntl () - // call. - ACE_OS::memcpy (pcparms.pc_clparms, &tsparms, sizeof tsparms); - } - else if (sched_params.policy () == ACE_SCHED_FIFO || - (sched_params.policy () == ACE_SCHED_RR && - sched_params.quantum () != ACE_Time_Value::zero)) - // must have non-zero quantum for RR, to make it meaningful - // A zero quantum with FIFO has special significance: it actually - // means infinite time quantum, i.e., run-to-completion. - { - rtparms_t rtparms; - // The following is just to avoid Purify warnings about unitialized - // memory reads. - ACE_OS::memset (&rtparms, 0, sizeof rtparms); - - rtparms.rt_pri = sched_params.priority (); - - if (sched_params.quantum () == ACE_Time_Value::zero) - { - // rtparms.rt_tqsecs is ignored with RT_TQINF - rtparms.rt_tqnsecs = RT_TQINF; - } - else - { - rtparms.rt_tqsecs = (ulong) sched_params.quantum ().sec (); - rtparms.rt_tqnsecs = sched_params.quantum ().usec () * 1000; - } - - // Package up the RT class ID and parameters for the ::priocntl () - // call. - ACE_OS::memcpy (pcparms.pc_clparms, &rtparms, sizeof rtparms); - } - else - { - errno = EINVAL; - return -1; - } - - if (::priocntl ((idtype_t) (sched_params.scope () == ACE_SCOPE_THREAD - ? ACE_SCOPE_PROCESS - : sched_params.scope ()), P_MYID, PC_SETPARMS, - (char *) &pcparms) < 0) - { - return ACE_OS::last_error (); - } - - return 0; - -#elif defined (ACE_HAS_DCETHREADS) || (defined (ACE_HAS_PTHREADS)) && !defined (ACE_LACKS_SETSCHED) - if (sched_params.quantum () != ACE_Time_Value::zero) - { - // quantums not supported - errno = EINVAL; - return -1; - } - - // Thanks to Thilo Kielmann for - // providing this code for 1003.1c PThreads. Please note that this - // has only been tested for POSIX 1003.1c threads, and may cause problems - // with other PThreads flavors! - - int result; - struct sched_param param; - - param.sched_priority = sched_params.priority (); - - if (sched_params.scope () == ACE_SCOPE_PROCESS) - { - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sched_setscheduler ( - 0, // this process - sched_params.policy (), - ¶m), - result), - int, -1); - } - else if (sched_params.scope () == ACE_SCOPE_THREAD) - { - ACE_thread_t thr_id = ACE_OS::thr_self (); - -# if defined (ACE_HAS_DCE_DRAFT4_THREADS) - return (::pthread_setscheduler(thr_id, - sched_params.policy (), - sched_params.priority()) == -1 ? -1 : 0); -# else - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam ( - thr_id, - sched_params.policy (), - ¶m), - result), - int, -1); -# endif /* ACE_HAS_DCE_DRAFT4_THREADS */ - - } - else // sched_params.scope () == ACE_SCOPE_LWP, which isn't POSIX - { - errno = EINVAL; - return -1; - } - -#elif defined (ACE_WIN32) - - if (sched_params.scope () != ACE_SCOPE_PROCESS || - sched_params.quantum () != ACE_Time_Value::zero) - { - // Win32 only allows setting priority class (therefore, policy) - // at the process level. I don't know of a way to set the quantum. - errno = EINVAL; - return -1; - } - - // Set the priority class of this process to the REALTIME process class - // _if_ the policy is ACE_SCHED_FIFO. Otherwise, set to NORMAL. - if (! ::SetPriorityClass ( - ::GetCurrentProcess (), - sched_params.policy () == ACE_SCHED_FIFO - ? REALTIME_PRIORITY_CLASS - : NORMAL_PRIORITY_CLASS)) - { - return -1; - } - - // Set the thread priority on the current thread. - return ACE_OS::thr_setprio (sched_params.priority ()); - -#elif defined (VXWORKS) - // There is only one class of priorities on VxWorks, and no - // time quanta. So, just set the current thread's priority. - - if (sched_params.policy () != ACE_SCHED_FIFO || - sched_params.scope () != ACE_SCOPE_PROCESS || - sched_params.quantum () != ACE_Time_Value::zero) - { - errno = EINVAL; - return -1; - } - - // Set the thread priority on the current thread. - return ACE_OS::thr_setprio (sched_params.priority ()); -#else - ACE_UNUSED_ARG (sched_params); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_STHREADS */ -} - -// = Static initialization. - -// This is necessary to deal with POSIX pthreads insanity. This -// guarantees that we've got a "zero'd" thread id even when -// ACE_thread_t, ACE_hthread_t, and ACE_thread_key_t are implemented -// as structures... Under no circumstances should these be given -// initial values. -ACE_thread_t ACE_OS::NULL_thread; -ACE_hthread_t ACE_OS::NULL_hthread; -ACE_thread_key_t ACE_OS::NULL_key; - -#if defined (ACE_WIN32) - -// = Static initialization. - -// Keeps track of whether we've initialized the WinSock DLL. -int ACE_OS::socket_initialized_; - -#endif /* WIN32 */ - -#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION) - -#include "ace/Array.h" - -class ACE_TSS_Ref - // = TITLE - // "Reference count" for thread-specific storage keys. - // - // = DESCRIPTION - // Since the doesn't allow duplicates, the - // "reference count" is the identify of the thread_id. -{ -public: - ACE_TSS_Ref (ACE_thread_t id); - // Constructor - - ACE_TSS_Ref (void); - // Default constructor - - int operator== (const ACE_TSS_Ref &); - // Check for equality. - - int operator!= (const ACE_TSS_Ref &); - // Check for inequality. - -// private: - - ACE_thread_t tid_; - // ID of thread using a specific key. -}; - -ACE_TSS_Ref::ACE_TSS_Ref (ACE_thread_t id) - : tid_(id) -{ -// ACE_TRACE ("ACE_TSS_Ref::ACE_TSS_Ref"); -} - -ACE_TSS_Ref::ACE_TSS_Ref (void) -{ -// ACE_TRACE ("ACE_TSS_Ref::ACE_TSS_Ref"); -} - -// Check for equality. -int -ACE_TSS_Ref::operator== (const ACE_TSS_Ref &info) -{ -// ACE_TRACE ("ACE_TSS_Ref::operator=="); - - return this->tid_ == info.tid_; -} - -// Check for inequality. -inline -int -ACE_TSS_Ref::operator!= (const ACE_TSS_Ref &tss_ref) -{ -// ACE_TRACE ("ACE_TSS_Ref::operator=="); - - return !(*this == tss_ref); -} - -class ACE_TSS_Info - // = TITLE - // Thread Specific Key management. - // - // = DESCRIPTION - // This class maps a key to a "destructor." -{ -public: - ACE_TSS_Info (ACE_thread_key_t key, - void (*dest)(void *) = 0, - void *tss_inst = 0); - // Constructor - - ACE_TSS_Info (void); - // Default constructor - - int key_in_use (void) const { return thread_count_ != -1; } - // Returns 1 if the key is in use, 0 if not. - - void key_in_use (int flag) { thread_count_ = flag == 0 ? -1 : 1; } - // Mark the key as being in use if the flag is non-zero, or - // not in use if the flag is 0. - - int operator== (const ACE_TSS_Info &); - // Check for equality. - - int operator!= (const ACE_TSS_Info &); - // Check for inequality. - - void dump (void); - // Dump the state. - -private: - ACE_thread_key_t key_; - // Key to the thread-specific storage item. - - void (*destructor_)(void *); - // "Destructor" that gets called when the item is finally released. - - void *tss_obj_; - // Pointer to ACE_TSS instance that has/will allocate the key. - - int thread_count_; - // Count of threads that are using this key. Contains -1 when the - // key is not in use. - - friend class ACE_TSS_Cleanup; -}; - -ACE_TSS_Info::ACE_TSS_Info (ACE_thread_key_t key, - void (*dest)(void *), - void *tss_inst) - : key_ (key), - destructor_ (dest), - tss_obj_ (tss_inst), - thread_count_ (-1) -{ -// ACE_TRACE ("ACE_TSS_Info::ACE_TSS_Info"); -} - -ACE_TSS_Info::ACE_TSS_Info (void) -{ -// ACE_TRACE ("ACE_TSS_Info::ACE_TSS_Info"); -} - -#if defined (ACE_HAS_NONSCALAR_THREAD_KEY_T) - static inline int operator== (const ACE_thread_key_t &lhs, - const ACE_thread_key_t &rhs) - { - return ! ACE_OS::memcmp (&lhs, &rhs, sizeof (ACE_thread_key_t)); - } - - static inline int operator!= (const ACE_thread_key_t &lhs, - const ACE_thread_key_t &rhs) - { - return ! (lhs == rhs); - } -#endif /* ACE_HAS_NONSCALAR_THREAD_KEY_T */ - -// Check for equality. -int -ACE_TSS_Info::operator== (const ACE_TSS_Info &info) -{ -// ACE_TRACE ("ACE_TSS_Info::operator=="); - - return this->key_ == info.key_; -} - -// Check for inequality. -inline -int -ACE_TSS_Info::operator!= (const ACE_TSS_Info &info) -{ -// ACE_TRACE ("ACE_TSS_Info::operator=="); - - return !(*this == info); -} - -void -ACE_TSS_Info::dump (void) -{ -// ACE_TRACE ("ACE_TSS_Info::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "key_ = %u", this->key_)); - ACE_DEBUG ((LM_DEBUG, "\ndestructor_ = %u", this->destructor_)); - ACE_DEBUG ((LM_DEBUG, "\ntss_obj_ = %u", this->tss_obj_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -class ACE_TSS_Keys - // = TITLE - // Collection of in-use flags for a thread's TSS keys. - // For internal use only by ACE_TSS_Cleanup; it is public because - // some compilers can't use nested classes for template instantiation - // parameters. - // - // = DESCRIPTION - // Wrapper around array of whether each key is in use. A simple - // typedef doesn't work with Sun C++ 4.2. -{ - public: - ACE_TSS_Keys (void); - // Default constructor, to initialize all bits to zero (unused). - - int test_and_set (const ACE_thread_key_t key); - // Mark the specified key as being in use, if it was not already so marked. - // Returns 1 if the had already been marked, 0 if not. - - int test_and_clear (const ACE_thread_key_t key); - // Mark the specified key as not being in use, if it was not already so - // cleared. Returns 1 if the had already been cleared, 0 if not. - -private: - static void find (const u_int key, u_int &word, u_int &bit); - // For a given key, find the word and bit number that represent it. - - enum - { -#if ACE_SIZEOF_LONG == 8 - ACE_BITS_PER_WORD = 64, -#elif ACE_SIZEOF_LONG == 4 - ACE_BITS_PER_WORD = 32, -#else -#error ACE_TSS_Keys only supports 32 or 64 bit longs. -#endif /* ACE_SIZEOF_LONG == 8 */ - ACE_WORDS = (ACE_DEFAULT_THREAD_KEYS - 1) / ACE_BITS_PER_WORD + 1 - }; - - u_long key_bit_words_[ACE_WORDS]; - // Bit flag collection. A bit value of 1 indicates that the key is in - // use by this thread. -}; - -ACE_TSS_Keys::ACE_TSS_Keys (void) -{ - for (u_int i = 0; i < ACE_WORDS; ++i) - { - key_bit_words_[i] = 0; - } -} - -inline -void -ACE_TSS_Keys::find (const u_int key, u_int &word, u_int &bit) -{ - word = key / ACE_BITS_PER_WORD; - bit = key % ACE_BITS_PER_WORD; -} - -int -ACE_TSS_Keys::test_and_set (const ACE_thread_key_t key) -{ - ACE_KEY_INDEX (key_index, key); - u_int word, bit; - find (key_index, word, bit); - - if (ACE_BIT_ENABLED (key_bit_words_[word], 1 << bit)) - { - return 1; - } - else - { - ACE_SET_BITS (key_bit_words_[word], 1 << bit); - return 0; - } -} - -int -ACE_TSS_Keys::test_and_clear (const ACE_thread_key_t key) -{ - ACE_KEY_INDEX (key_index, key); - u_int word, bit; - find (key_index, word, bit); - - if (ACE_BIT_ENABLED (key_bit_words_[word], 1 << bit)) - { - ACE_CLR_BITS (key_bit_words_[word], 1 << bit); - return 0; - } - else - { - return 1; - } -} - -class ACE_TSS_Cleanup - // = TITLE - // Singleton that knows how to clean up all the thread-specific - // resources for Win32. - // - // = DESCRIPTION - // All this nonsense is required since Win32 doesn't - // automatically cleanup thread-specific storage on thread exit, - // unlike real operating systems... ;-) -{ -public: - static ACE_TSS_Cleanup *instance (void); - - ~ACE_TSS_Cleanup (void); - - void exit (void *status); - // Cleanup the thread-specific objects. Does _NOT_ exit the thread. - - int insert (ACE_thread_key_t key, void (*destructor)(void *), void *inst); - // Insert a tuple into the table. - - int remove (ACE_thread_key_t key); - // Remove a tuple from the table. - - int detach (void *inst); - // Detaches a tss_instance from its key. - - void key_used (ACE_thread_key_t key); - // Mark a key as being used by this thread. - - int free_all_key_left (void); - // Free all key left in the table before destruct myself. - - static int lockable () { return instance_ != 0; } - // Indication of whether the ACE_TSS_CLEANUP_LOCK is usable, and - // therefore whether we are in static constructor/destructor phase - // or not. - -protected: - void dump (void); - - ACE_TSS_Cleanup (void); - // Ensure singleton. - -private: - // Array of objects. - typedef ACE_Array ACE_TSS_TABLE; - typedef ACE_Array_Iterator ACE_TSS_TABLE_ITERATOR; - - ACE_TSS_TABLE table_; - // Table of 's. - - ACE_TSS in_use_; - // Array, per thread (in TSS), of whether each TSS key is in use. - - // = Static data. - static ACE_TSS_Cleanup *instance_; - // Pointer to the singleton instance. -}; - -// = Static object initialization. - -// Pointer to the singleton instance. -ACE_TSS_Cleanup *ACE_TSS_Cleanup::instance_ = 0; - -ACE_TSS_Cleanup::~ACE_TSS_Cleanup (void) -{ - // Zero out the instance pointer to support lockable () accessor. - ACE_TSS_Cleanup::instance_ = 0; -} - -void -ACE_TSS_Cleanup::exit (void * /* status */) -{ - // ACE_TRACE ("ACE_TSS_Cleanup::exit"); - - ACE_TSS_Info *key_info = 0; - ACE_TSS_Info info_arr[ACE_DEFAULT_THREAD_KEYS]; - int info_ix = 0; - - // While holding the lock, we only collect the ACE_TSS_Info objects - // in an array without invoking the according destructors. - - { - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, *lock)); - - // Iterate through all the thread-specific items and free them all - // up. - - for (ACE_TSS_TABLE_ITERATOR iter (this->table_); - iter.next (key_info) != 0; - iter.advance ()) - { - if (! key_info->key_in_use ()) continue; - - // If the key's ACE_TSS_Info in-use bit for this thread was set, - // unset it and decrement the key's thread_count_. - if (! in_use_->test_and_clear (key_info->key_)) - { - --key_info->thread_count_; - } - - void *tss_info = 0; - - if (key_info->destructor_ - && ACE_OS::thr_getspecific (key_info->key_, &tss_info) == 0 - && tss_info) - { - info_arr[info_ix].key_ = key_info->key_; - info_arr[info_ix].destructor_ = key_info->destructor_; - info_arr[info_ix++].tss_obj_ = key_info->tss_obj_; - } - } - } - - // Now we have given up the ACE_TSS_Cleanup::lock_ and we start - // invoking destructors, in the reverse order of creation. - for (int i = info_ix - 1; i >= 0; --i) - { - void *tss_info = 0; - - ACE_OS::thr_getspecific (info_arr[i].key_, &tss_info); - - if (tss_info != 0) - { - // Only call the destructor if the value is non-zero for this - // thread. - (*info_arr[i].destructor_)(tss_info); - } - } - - // Acquiring ACE_TSS_Cleanup::lock_ to free TLS keys and remove - // entries from ACE_TSS_Info table. - { - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, *lock)); - -#if 0 - // We shouldn't free the key and remove it from the table here - // because if we do and some thread ends before other threads - // even get started (or their TSS object haven't been created yet,) - // it's entry will be removed from the table and we are in big chaos. - // For TSS object, these have been done in ACE_TSS_Cleanup::detach. - // Two other use cases will be user managed TSS'es and system wide - // TSS, ones are users responsibilities and the others should be - // persistant system wide. - for (int i = 0; i < index; i++) - { -#if defined (ACE_WIN32) - ::TlsFree (key_arr[i]); -#else - // don't bother to free the key -#endif /* ACE_WIN32 */ - this->table_.remove (ACE_TSS_Info (key_arr[i])); - } -#endif /* 0 */ - } -} - -int -ACE_TSS_Cleanup::free_all_key_left (void) - // This is call from ACE_OS::cleanup_tss - // When this gets called, all threads should - // have exited except the main thread. -{ - ACE_thread_key_t key_arr[ACE_DEFAULT_THREAD_KEYS]; - ACE_TSS_Info *key_info = 0; - int idx = 0; - - for (ACE_TSS_TABLE_ITERATOR iter (this->table_); - iter.next (key_info) != 0; - iter.advance ()) - key_arr [idx++] = key_info->key_; - - for (int i = 0; i < idx; i++) - if (key_arr[i] != ACE_OS::NULL_key) - ACE_OS::thr_keyfree (key_arr[i]); - - return 0; -} - -ACE_TSS_Cleanup::ACE_TSS_Cleanup (void) - : table_ (ACE_DEFAULT_THREAD_KEYS, ACE_TSS_Info (ACE_OS::NULL_key)), - in_use_ () -{ -// ACE_TRACE ("ACE_TSS_Cleanup::ACE_TSS_Cleanup"); -} - -ACE_TSS_Cleanup * -ACE_TSS_Cleanup::instance (void) -{ -// ACE_TRACE ("ACE_TSS_Cleanup::instance"); - - // Create and initialize thread-specific key. - if (ACE_TSS_Cleanup::instance_ == 0) - { - // Insure that we are serialized! - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *lock, 0)); - - // Now, use the Double-Checked Locking pattern to make sure we - // only create the ACE_TSS_Cleanup instance once. - if (instance_ == 0) - { - ACE_NEW_RETURN (ACE_TSS_Cleanup::instance_, ACE_TSS_Cleanup, 0); - } - } - - return ACE_TSS_Cleanup::instance_; -} - -int -ACE_TSS_Cleanup::insert (ACE_thread_key_t key, - void (*destructor)(void *), - void *inst) -{ -// ACE_TRACE ("ACE_TSS_Cleanup::insert"); - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *lock, -1)); - - ACE_KEY_INDEX (key_index, key); - return this->table_.set (ACE_TSS_Info (key, destructor, inst), key_index); -} - -int -ACE_TSS_Cleanup::remove (ACE_thread_key_t key) -{ - // ACE_TRACE ("ACE_TSS_Cleanup::remove"); - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *lock, -1)); - - ACE_KEY_INDEX (key_index, key); - if (key_index <= this->table_.size ()) - { - // "Remove" the TSS_Info table entry by zeroing out its key_ and - // destructor_ fields. - ACE_TSS_Info &info = this->table_ [key_index]; - info.key_ = ACE_OS::NULL_key; - info.destructor_ = 0; - return 0; - } - else - return -1; -} - -int -ACE_TSS_Cleanup::detach (void *inst) -{ - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *lock, -1)); - - ACE_TSS_Info *key_info = 0; - int success = 0; - int ref_cnt = 0; - - // Mark the key as detached in the TSS_Info table. - // It only works for the first key that "inst" owns. - // I don't know why. - for (ACE_TSS_TABLE_ITERATOR iter (this->table_); - iter.next (key_info) != 0; - iter.advance ()) - { - if (key_info->tss_obj_ == inst) - { - key_info->tss_obj_ = 0; - ref_cnt = key_info->thread_count_; - success = 1; - break; - } - } - - if (success == 0) - return -1; - else if (ref_cnt == 0) - { - // Mark the key as no longer being used. - key_info->key_in_use (0); - -#if defined (ACE_WIN32) - ::TlsFree (key_info->key_); -#else - // don't bother to free the key -#endif /* ACE_WIN32 */ - return this->remove (key_info->key_); - } - - return 0; -} - -void -ACE_TSS_Cleanup::key_used (ACE_thread_key_t key) -{ - // If the key's ACE_TSS_Info in-use bit for this thread is not set, - // set it and increment the key's thread_count_. - if (! in_use_->test_and_set (key)) - { - ACE_MT (ACE_Recursive_Thread_Mutex *lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_TSS_CLEANUP_LOCK); - ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, *lock)); - - // Retrieve the key's ACE_TSS_Info and increment its thread_count_. - ACE_KEY_INDEX (key_index, key); - ACE_TSS_Info &key_info = this->table_ [key_index]; - if (key_info.thread_count_ == -1) - key_info.key_in_use (1); - else - ++key_info.thread_count_; - } -} - -void -ACE_TSS_Cleanup::dump (void) -{ - ACE_TSS_Info *key_info = 0; - - // Iterate through all the thread-specific items and dump them all. - - for (ACE_TSS_TABLE_ITERATOR iter (this->table_); - iter.next (key_info) != 0; - iter.advance ()) - key_info->dump (); -} - -# if defined (ACE_HAS_TSS_EMULATION) -u_int ACE_TSS_Emulation::total_keys_ = 0; - -ACE_TSS_Emulation::ACE_TSS_DESTRUCTOR -ACE_TSS_Emulation::tss_destructor_ [ACE_TSS_Emulation::ACE_TSS_THREAD_KEYS_MAX] = { 0 }; - -void * -ACE_TSS_Emulation::tss_open (void *ts_storage[ACE_TSS_THREAD_KEYS_MAX]) -{ -#if ! defined (VXWORKS) - // On VxWorks, don't check to see if the field is 0. It isn't always, - // specifically, when a program is run directly by the shell (without - // spawning a new task) after another program has been run. - - if (tss_base () == 0) - { -#endif /* VXWORKS */ - // Use the supplied array for this thread's TSS. - tss_base () = ts_storage; - - // Zero the entire TSS array. Do it manually instead of using - // memset, for optimum speed. - void **tss_base_p = tss_base (); - for (u_int i = 0; i < ACE_TSS_THREAD_KEYS_MAX; ++i, ++tss_base_p) - { - *tss_base_p = 0; - } - - return tss_base (); -#if ! defined (VXWORKS) - } - else - { - return 0; - } -#endif /* VXWORKS */ -} - -#if !defined (VXWORKS) -// FOR TESTING ONLY! -void ** -ACE_TSS_Emulation::tss_collection_ [ACE_TSS_Emulation::ACE_TSS_THREADS_MAX] = { 0 }; -#endif /* VXWORKS */ -#endif /* ACE_HAS_TSS_EMULATION */ - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Array; -template class ACE_Array_Iterator; -template class ACE_Node; -template class ACE_TSS; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Array -#pragma instantiate ACE_Array_Iterator -#pragma instantiate ACE_Node -#pragma instantiate ACE_TSS -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - -#endif /* WIN32 || ACE_HAS_TSS_EMULATION */ - -void -ACE_OS::cleanup_tss (const u_int main_thread) -{ -#if defined (ACE_HAS_TSS_EMULATION) || defined (ACE_WIN32) - // Call TSS destructors for current thread. - ACE_TSS_Cleanup::instance ()->exit (0); -#endif /* ACE_HAS_TSS_EMULATION || ACE_WIN32 */ - - if (main_thread) - { -#if ! defined (ACE_HAS_TSS_EMULATION) - // Just close the ACE_Log_Msg for the current (which should be - // main) thread. We don't have TSS emulation; if there's native - // TSS, it should call its destructors when the main thread - // exits. - ACE_Log_Msg::close (); -#endif /* ! ACE_HAS_TSS_EMULATION */ - -#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION) - // Remove all TSS_Info table entries. - ACE_TSS_Cleanup::instance ()->free_all_key_left (); - // Finally, free up the ACE_TSS_Cleanup instance. This method gets - // called by the ACE_Object_Manager. - delete ACE_TSS_Cleanup::instance (); -#endif /* WIN32 || ACE_HAS_TSS_EMULATION */ - } -} - -void -ACE_Thread_Adapter::inherit_log_msg (void) -{ -#if !defined (ACE_THREADS_DONT_INHERIT_LOG_MSG) - // Inherit the logging features if the parent thread has an - // . Note that all of the following operations occur - // within thread-specific storage. - ACE_Log_Msg *new_log = ACE_LOG_MSG; - - if (this->ostream_) - { - new_log->msg_ostream (this->ostream_); - new_log->priority_mask (this->priority_mask_); - - if (this->tracing_enabled_) - new_log->start_tracing (); - - new_log->restart (this->restart_); - new_log->trace_depth (this->trace_depth_); - } - - // @@ Now the TSS Log_Meg has been created, cache - // my thread descriptor in. - - if (this->thr_desc_ != 0) - ACE_LOG_MSG->thr_desc (this->thr_desc_, this->thr_mgr_); - // Block the thread from proceeding until - // thread manager has thread descriptor ready. -#endif /* ACE_THREADS_DONT_INHERIT_LOG_MSG */ -} - -void * -ACE_Thread_Adapter::invoke (void) -{ - // Inherit the logging features if the parent thread has an - // ACE_Log_Msg instance in thread-specific storage. - this->inherit_log_msg (); - - // Extract the arguments. - ACE_THR_FUNC func = this->user_func_; - void *arg = this->arg_; - - // Delete ourselves since we don't need anymore. - delete (void *) this; - - void *status = 0; - - ACE_SEH_TRY { - ACE_SEH_TRY { - status = (void*) (*func) (arg); // Call thread entry point. - } - - ACE_SEH_FINALLY { - // Call the Task->close () hook. - if (func == (ACE_THR_FUNC) ACE_Task_Base::svc_run) - { - ACE_Task_Base *task_ptr = (ACE_Task_Base *) arg; - ACE_Thread_Manager *thr_mgr_ptr = task_ptr->thr_mgr (); - - // This calls the Task->close () hook. - task_ptr->cleanup (task_ptr, 0); - - // This prevents a second invocation of the cleanup code (called - // later by ACE_Thread_Manager::exit()). - thr_mgr_ptr->at_exit (task_ptr, 0, 0); - } - -#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION) - // Call TSS destructors. - ACE_OS::cleanup_tss (0 /* not main thread */); - -# if defined (ACE_WIN32) && defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0) - // Exit the thread. - // Allow CWinThread-destructor to be invoked from AfxEndThread. - // _endthreadex will be called from AfxEndThread so don't exit the - // thread now if we are running an MFC thread. - CWinThread *pThread = ::AfxGetThread (); - if (!pThread || pThread->m_nThreadID != ACE_OS::thr_self ()) - ::_endthreadex ((DWORD) status); - else - ::AfxEndThread ((DWORD)status); -# endif /* ACE_WIN32 && ACE_HAS_MFC && ACE_HAS_MFS != 0*/ - -#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */ - - return status; - } - } -#if defined (ACE_WIN32) - ACE_SEH_EXCEPT (this->rethrow_w32_structural_exception ()) { - // Here's where we might want to provide a hook to report this... - // As it stands now, we just rethrow all Win32 structured exceptions - // and report the situation. It is up to application programmers to - // determine what to do. - } -#endif /* ACE_WIN32 */ -} - -#if defined (ACE_WIN32) -int -ACE_Thread_Adapter::rethrow_w32_structural_exception () -{ - ACE_DEBUG ((LM_DEBUG, "(%t) Win32 structured exception exiting thread\n")); - return (DWORD) EXCEPTION_CONTINUE_SEARCH; -} -#endif /* ACE_WIN32 */ - -ACE_Cleanup::~ACE_Cleanup () -{ -} - -void -ACE_Cleanup::cleanup (void *) -{ - delete this; -} - -extern "C" void -ace_cleanup_destroyer (ACE_Cleanup *object, void *param) -{ - object->cleanup (param); -} - -// Run the thread entry point for the . This must -// be an extern "C" to make certain compilers happy... - -extern "C" void * -ace_thread_adapter (void *args) -{ - // ACE_TRACE ("ace_thread_adapter"); - -#if defined (ACE_HAS_TSS_EMULATION) - // As early as we can in the execution of the new thread, allocate - // its local TS storage. Allocate it on the stack, to save dynamic - // allocation/dealloction. - void *ts_storage[ACE_TSS_Emulation::ACE_TSS_THREAD_KEYS_MAX]; - ACE_TSS_Emulation::tss_open (ts_storage); -#endif /* ACE_HAS_TSS_EMULATION */ - - ACE_Thread_Adapter *thread_args = (ACE_Thread_Adapter *) args; - - // Invoke the user-supplied function with the args. - void *status = thread_args->invoke (); - - return status; -} - -ACE_Thread_Adapter::ACE_Thread_Adapter (ACE_THR_FUNC user_func, - void *arg, - ACE_THR_C_FUNC entry_point, - ACE_Thread_Manager *tm, - ACE_Thread_Descriptor *td) - : user_func_ (user_func), - arg_ (arg), - entry_point_ (entry_point), - thr_mgr_ (tm), - thr_desc_ (td) -#if !defined (ACE_THREADS_DONT_INHERIT_LOG_MSG) - , - ostream_ (0), - priority_mask_ (0), - tracing_enabled_ (0), - restart_ (1), - trace_depth_ (0) -#endif /* ACE_THREADS_DONT_INHERIT_LOG_MSG */ -{ -// ACE_TRACE ("Ace_Thread_Adapter::Ace_Thread_Adapter"); -#if !defined (ACE_THREADS_DONT_INHERIT_LOG_MSG) - if ( ACE_Log_Msg::exists() ) - { - ACE_Log_Msg *inherit_log_ = ACE_LOG_MSG; - this->ostream_ = inherit_log_->msg_ostream (); - this->priority_mask_ = inherit_log_->priority_mask (); - this->tracing_enabled_ = inherit_log_->tracing_enabled (); - this->restart_ = inherit_log_->restart (); - this->trace_depth_ = inherit_log_->trace_depth (); - } -#endif /* ACE_THREADS_DONT_INHERIT_LOG_MSG */ -} - -int -ACE_OS::thr_create (ACE_THR_FUNC func, - void *args, - long flags, - ACE_thread_t *thr_id, - ACE_hthread_t *thr_handle, - long priority, - void *stack, - size_t stacksize, - ACE_Thread_Adapter *thread_adapter) -{ - // ACE_TRACE ("ACE_OS::thr_create"); - -#if defined (ACE_NO_THREAD_ADAPTER) -#define ACE_THREAD_FUNCTION func -#define ACE_THREAD_ARGUMENT args -#else -#define ACE_THREAD_FUNCTION thread_args->entry_point () -#define ACE_THREAD_ARGUMENT thread_args - - ACE_Thread_Adapter *thread_args; - if (thread_adapter == 0) - ACE_NEW_RETURN (thread_args, ACE_Thread_Adapter (func, args, (ACE_THR_C_FUNC) ace_thread_adapter), -1); - else - thread_args = thread_adapter; - -#endif /* ACE_NO_THREAD_ADAPTER */ - -#if defined (ACE_HAS_THREADS) - ACE_thread_t tmp_thr; - ACE_hthread_t tmp_handle; - - if (thr_id == 0) - thr_id = &tmp_thr; - - if (thr_handle == 0) - thr_handle = &tmp_handle; - -# if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - - int result; - pthread_attr_t attr; -# if defined (ACE_HAS_DCETHREADS) - if (::pthread_attr_create (&attr) != 0) -# else /* ACE_HAS_DCETHREADS */ - if (::pthread_attr_init (&attr) != 0) -# endif /* ACE_HAS_DCETHREADS */ - return -1; -# if !defined (ACE_LACKS_SETSCHED) - // The PRIORITY stuff used to be here...-cjc -# endif /* ACE_LACKS_SETSCHED */ - - - // *** Set Stack Size -# if defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE) - if (stacksize < ACE_NEEDS_HUGE_THREAD_STACKSIZE) - stacksize = ACE_NEEDS_HUGE_THREAD_STACKSIZE; -# endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */ - -# if defined (CHORUS) - // If it is a super actor, we can't set stacksize. But for the time - // being we are all non-super actors. Should be fixed to take care - // of super actors!!! - if (stacksize == 0) - stacksize = ACE_CHORUS_DEFAULT_MIN_STACK_SIZE; - else if (stacksize < ACE_CHORUS_DEFAULT_MIN_STACK_SIZE) - stacksize = ACE_CHORUS_DEFAULT_MIN_STACK_SIZE; -# endif /*CHORUS */ - - if (stacksize != 0) - { - size_t size = stacksize; - -# if defined (PTHREAD_STACK_MIN) - if (size < PTHREAD_STACK_MIN) - size = PTHREAD_STACK_MIN; -# endif /* PTHREAD_STACK_MIN */ - -# if !defined (ACE_LACKS_THREAD_STACK_SIZE) // JCEJ 12/17/96 - if (::pthread_attr_setstacksize (&attr, size) != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } -# else - ACE_UNUSED_ARG (size); -# endif /* !ACE_LACKS_THREAD_STACK_SIZE */ - } - - // *** Set Stack Address -# if !defined (ACE_LACKS_THREAD_STACK_ADDR) - if (stack != 0) - { - if (::pthread_attr_setstackaddr (&attr, stack) != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } - } -# else - ACE_UNUSED_ARG (stack); -# endif /* !ACE_LACKS_THREAD_STACK_ADDR */ - - // *** Deal with various attributes - if (flags != 0) - { - // *** Set Detach state -# if !defined (ACE_LACKS_SETDETACH) - if (ACE_BIT_ENABLED (flags, THR_DETACHED) - || ACE_BIT_ENABLED (flags, THR_JOINABLE)) - { - int dstate = PTHREAD_CREATE_JOINABLE; - - if (ACE_BIT_ENABLED (flags, THR_DETACHED)) - dstate = PTHREAD_CREATE_DETACHED; - -# if defined (ACE_HAS_DCETHREADS) - if (::pthread_attr_setdetach_np (&attr, dstate) != 0) -# else /* ACE_HAS_DCETHREADS */ -# if defined (ACE_HAS_PTHREAD_DSTATE_PTR) - if (::pthread_attr_setdetachstate (&attr, &dstate) != 0) -# else - if (::pthread_attr_setdetachstate (&attr, dstate) != 0) -# endif /* ACE_HAS_PTHREAD_DSTATE_PTR */ -# endif /* ACE_HAS_DCETHREADS */ - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } - } -# endif /* ACE_LACKS_SETDETACH */ - - // *** Set Policy -# if !defined (ACE_LACKS_SETSCHED) || defined (ACE_HAS_DCETHREADS) - // If we wish to set the priority explicitly, we have to enable - // explicit scheduling, and a policy, too. - if (priority != ACE_DEFAULT_THREAD_PRIORITY) - { - ACE_SET_BITS (flags, THR_EXPLICIT_SCHED); - if (ACE_BIT_DISABLED (flags, THR_SCHED_FIFO) - && ACE_BIT_DISABLED (flags, THR_SCHED_RR) - && ACE_BIT_DISABLED (flags, THR_SCHED_DEFAULT)) - ACE_SET_BITS (flags, THR_SCHED_DEFAULT); - } - - if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO) - || ACE_BIT_ENABLED (flags, THR_SCHED_RR) - || ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT)) - { - int spolicy; - -# if defined (ACE_HAS_ONLY_SCHED_OTHER) - // Solaris, thru version 2.5.1, only supports SCHED_OTHER. - spolicy = SCHED_OTHER; -# else - if (ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT)) - spolicy = SCHED_OTHER; - else if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO)) - spolicy = SCHED_FIFO; -#if defined (SCHED_IO) - else if (ACE_BIT_ENABLED (flags, THR_SCHED_IO)) - spolicy = SCHED_IO; -#else - else if (ACE_BIT_ENABLED (flags, THR_SCHED_IO)) - { - errno = ENOSYS; - return -1; - } -#endif /* SCHED_IO */ - else - spolicy = SCHED_RR; -# endif /* ACE_HAS_ONLY_SCHED_OTHER */ - -# if !defined (ACE_HAS_FSU_PTHREADS) -# if defined (ACE_HAS_DCETHREADS) - result = ::pthread_attr_setsched (&attr, spolicy); -# else /* ACE_HAS_DCETHREADS */ - result = ::pthread_attr_setschedpolicy (&attr, spolicy); -# endif /* ACE_HAS_DCETHREADS */ - if (result != 0) - { - // Preserve the errno value. - errno = result; -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } -# else - int ret; - switch (spolicy) - { - case SCHED_FIFO: - case SCHED_RR: - ret = 0; - break; - default: - ret = 22; - break; - } - if (ret != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } -# endif /* ACE_HAS_FSU_PTHREADS */ - } - - // *** Set Priority (use reasonable default priorities) -# if defined(ACE_HAS_PTHREADS_1003_DOT_1C) - // If we wish to explicitly set a scheduling policy, we also - // have to specify a priority. We choose a "middle" priority as - // default. Maybe this is also necessary on other POSIX'ish - // implementations? - if ((ACE_BIT_ENABLED (flags, THR_SCHED_FIFO) - || ACE_BIT_ENABLED (flags, THR_SCHED_RR) - || ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT)) - && priority == ACE_DEFAULT_THREAD_PRIORITY) - { - if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO)) - priority = ACE_THR_PRI_FIFO_DEF; - else if (ACE_BIT_ENABLED (flags, THR_SCHED_RR)) - priority = ACE_THR_PRI_RR_DEF; - else // THR_SCHED_DEFAULT - priority = ACE_THR_PRI_OTHER_DEF; - } -# endif //ACE_HAS_PTHREADS_1003_DOT_1C - if (priority != ACE_DEFAULT_THREAD_PRIORITY) - { - struct sched_param sparam; - ACE_OS::memset ((void *) &sparam, 0, sizeof sparam); - -# if defined (ACE_HAS_DCETHREADS) && !defined (ACE_HAS_DCE_DRAFT4_THREADS) - sparam.sched_priority = ACE_MIN (priority, PRIORITY_MAX); -# elif defined(ACE_HAS_IRIX62_THREADS) - sparam.sched_priority = ACE_MIN (priority, PTHREAD_MAX_PRIORITY); -# elif defined (PTHREAD_MAX_PRIORITY) && !defined(ACE_HAS_PTHREADS_1003_DOT_1C) - /* For MIT pthreads... */ - sparam.prio = ACE_MIN (priority, PTHREAD_MAX_PRIORITY); -# elif defined(ACE_HAS_PTHREADS_1003_DOT_1C) - // The following code forces priority into range. - if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO)) - sparam.sched_priority = - ACE_MIN (ACE_THR_PRI_FIFO_MAX, ACE_MAX (ACE_THR_PRI_FIFO_MIN, priority)); - else if (ACE_BIT_ENABLED(flags, THR_SCHED_RR)) - sparam.sched_priority = - ACE_MIN (ACE_THR_PRI_RR_MAX, ACE_MAX (ACE_THR_PRI_RR_MIN, priority)); - else // Default policy, whether set or not - sparam.sched_priority = - ACE_MIN (ACE_THR_PRI_OTHER_MAX, ACE_MAX (ACE_THR_PRI_OTHER_MIN, priority)); -# else - sparam.sched_priority = priority; -# endif - -# if defined (ACE_HAS_FSU_PTHREADS) - if (sparam.sched_priority >= PTHREAD_MIN_PRIORITY - && sparam.sched_priority <= PTHREAD_MAX_PRIORITY) - attr.prio = sparam.sched_priority; - else - { - pthread_attr_destroy (&attr); - errno = EINVAL; - return -1; - } -# else - { -# if defined (ACE_HAS_STHREADS) - // Solaris POSIX only allows priorities > 0 to - // ::pthread_attr_setschedparam. If a priority of 0 was - // requested, set the thread priority after creating it, below. - if (priority > 0) -# endif /* STHREADS */ - { -# if defined (ACE_HAS_DCETHREADS) - result = ::pthread_attr_setprio (&attr, - sparam.sched_priority); -# else /* ACE_HAS_DCETHREADS */ - result = ::pthread_attr_setschedparam (&attr, &sparam); -# endif /* ACE_HAS_DCETHREADS */ - if (result != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - errno = result; - return -1; - } - } - } -# endif /* ACE_HAS_FSU_PTHREADS */ - } - - // *** Set scheduling explicit or inherited - if (ACE_BIT_ENABLED (flags, THR_INHERIT_SCHED) - || ACE_BIT_ENABLED (flags, THR_EXPLICIT_SCHED)) - { -# if defined (ACE_HAS_DCETHREADS) - int sched = PTHREAD_DEFAULT_SCHED; -# else /* ACE_HAS_DCETHREADS */ - int sched = PTHREAD_EXPLICIT_SCHED; -# endif /* ACE_HAS_DCETHREADS */ - if (ACE_BIT_ENABLED (flags, THR_INHERIT_SCHED)) - sched = PTHREAD_INHERIT_SCHED; - if (::pthread_attr_setinheritsched (&attr, sched) != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } - } -# endif /* ACE_LACKS_SETSCHED || ACE_HAS_DCETHREADS */ - - - // *** Set Scope -# if !defined (ACE_LACKS_THREAD_PROCESS_SCOPING) - if (ACE_BIT_ENABLED (flags, THR_SCOPE_SYSTEM) - || ACE_BIT_ENABLED (flags, THR_SCOPE_PROCESS)) - { - int scope = PTHREAD_SCOPE_PROCESS; - if (ACE_BIT_ENABLED (flags, THR_SCOPE_SYSTEM)) - scope = PTHREAD_SCOPE_SYSTEM; - - if (::pthread_attr_setscope (&attr, scope) != 0) - { -# if defined (ACE_HAS_DCETHREADS) - ::pthread_attr_delete (&attr); -# else /* ACE_HAS_DCETHREADS */ - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - return -1; - } - } -# endif /* !ACE_LACKS_THREAD_PROCESS_SCOPING */ - - if (ACE_BIT_ENABLED (flags, THR_NEW_LWP)) - { - // Increment the number of LWPs by one to emulate the - // Solaris semantics. - int lwps = ACE_OS::thr_getconcurrency (); - if (lwps == -1) - { - if (errno == ENOTSUP) - { - // Suppress the ENOTSUP because it's harmless. - errno = 0; - } - else - { - // This should never happen on Solaris: - // ::thr_getconcurrency () should always succeed. - return -1; - } - } - else - { - if (ACE_OS::thr_setconcurrency (lwps + 1) == -1) - { - if (errno == ENOTSUP) - { - // Unlikely: ::thr_getconcurrency () is supported but - // ::thr_setconcurrency () is not? - } - else - { - return -1; - } - } - } - } - } - -# if defined (ACE_HAS_DCETHREADS) -# if defined (ACE_HAS_DCE_DRAFT4_THREADS) - ACE_OSCALL (::pthread_create (thr_id, attr, - ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT), - int, -1, result); -# else - ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_create (thr_id, attr, - ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT), - result), - int, -1, result); -# endif /* ACE_HAS_DCE_DRAFT4_THREADS */ - ::pthread_attr_delete (&attr); -# else /* !ACE_HAS_DCETHREADS */ - ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_create (thr_id, - &attr, - ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT), - result), - int, -1, result); - ::pthread_attr_destroy (&attr); -# endif /* ACE_HAS_DCETHREADS */ - - // This is a Solaris, POSIX, or DCE implementation of pthreads, - // where we assume that ACE_thread_t and ACE_hthread_t are the same. - // If this *isn't* correct on some platform, please let us know. - if (result != -1) - *thr_handle = *thr_id; - -# if defined (ACE_HAS_STHREADS) - // If the priority is 0, then we might have to set it now because we - // couldn't set it with ::pthread_attr_setschedparam, as noted - // above. This doesn't provide strictly correct behavior, because - // the thread was created (above) with the priority of its parent. - // (That applies regardless of the inherit_sched attribute: if it - // was PTHREAD_INHERIT_SCHED, then it certainly inherited its - // parent's priority. If it was PTHREAD_EXPLICIT_SCHED, then "attr" - // was initialized by the Solaris ::pthread_attr_init () to contain - // NULL for the priority, which indicated to Solaris - // ::pthread_create () to inherit the parent priority.) - if (priority == 0) - { - // Check the priority of this thread, which is the parent of the - // newly created thread. If it is 0, then the newly created - // thread will have inherited the priority of 0, so there's no - // need to explicitly set it. - struct sched_param sparam; - int policy = 0; - ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_getschedparam (thr_self (), - &policy, - &sparam), - result), int, - -1, result); - - if (sparam.sched_priority != 0) - { - ACE_OS::memset ((void *) &sparam, 0, sizeof sparam); - // The memset to 0 sets the priority to 0, so we don't need - // to explicitly set sparam.sched_priority. - - // The only policy currently (version 2.5.1) supported by by Solaris - // is SCHED_OTHER, so that's hard-coded below. - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam ( - *thr_id, - SCHED_OTHER, - &sparam), - result), - int, -1); - } - } -# endif /* ACE_HAS_STHREADS */ - return result; -# elif defined (ACE_HAS_STHREADS) - int result; - int start_suspended = ACE_BIT_ENABLED (flags, THR_SUSPENDED); - - if (priority != ACE_DEFAULT_THREAD_PRIORITY) - // If we need to set the priority, then we need to start the - // thread in a suspended mode. - ACE_SET_BITS (flags, THR_SUSPENDED); - - ACE_OSCALL (ACE_ADAPT_RETVAL (::thr_create (stack, stacksize, - ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT, - flags, thr_id), result), - int, -1, result); - - if (result != -1) - { - // With Solaris threads, ACE_thread_t and ACE_hthread_t are the same. - *thr_handle = *thr_id; - - if (priority != ACE_DEFAULT_THREAD_PRIORITY) - { - // Set the priority of the new thread and then let it - // continue, but only if the user didn't start it suspended - // in the first place! - if ((result = ACE_OS::thr_setprio (*thr_id, priority)) != 0) - { - errno = result; - return -1; - } - - if (start_suspended == 0) - { - if ((result = ACE_OS::thr_continue (*thr_id)) != 0) - { - errno = result; - return -1; - } - } - } - } - return result; -# elif defined (ACE_HAS_WTHREADS) - ACE_UNUSED_ARG (stack); -# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0) - if (ACE_BIT_ENABLED (flags, THR_USE_AFX)) - { - CWinThread *cwin_thread = - ::AfxBeginThread ((AFX_THREADPROC) &ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT, priority, 0, - flags | THR_SUSPENDED); - // Have to duplicate the handle because - // CWinThread::~CWinThread() closes the original handle. - (void) ::DuplicateHandle (::GetCurrentProcess (), - cwin_thread->m_hThread, - ::GetCurrentProcess (), - thr_handle, - 0, - TRUE, - DUPLICATE_SAME_ACCESS); - - *thr_id = cwin_thread->m_nThreadID; - - if (ACE_BIT_ENABLED (flags, THR_SUSPENDED) == 0) - cwin_thread->ResumeThread (); - // cwin_thread will be deleted in AfxThreadExit() - // Warning: If AfxThreadExit() is called from within the - // thread, ACE_TSS_Cleanup->exit() never gets called ! - } - else -# endif /* ACE_HAS_MFC */ - { - int start_suspended = ACE_BIT_ENABLED (flags, THR_SUSPENDED); - - if (priority != ACE_DEFAULT_THREAD_PRIORITY) - // If we need to set the priority, then we need to start the - // thread in a suspended mode. - ACE_SET_BITS (flags, THR_SUSPENDED); - - *thr_handle = (void *) ::_beginthreadex - (0, - stacksize, - (unsigned (__stdcall *) (void *)) ACE_THREAD_FUNCTION, - ACE_THREAD_ARGUMENT, - flags, - (unsigned int *) thr_id); - - if (priority != ACE_DEFAULT_THREAD_PRIORITY && *thr_handle != 0) - { - // Set the priority of the new thread and then let it - // continue, but only if the user didn't start it suspended - // in the first place! - ACE_OS::thr_setprio (*thr_handle, priority); - - if (start_suspended == 0) - ACE_OS::thr_continue (*thr_handle); - } - } -# if 0 - *thr_handle = ::CreateThread - (0, - stacksize, - LPTHREAD_START_ROUTINE (ACE_THREAD_FUNCTION), - ACE_THREAD_ARGUMENT, - flags, - thr_id); -# endif /* 0 */ - - // Close down the handle if no one wants to use it. - if (thr_handle == &tmp_handle) - ::CloseHandle (tmp_handle); - - if (*thr_handle != 0) - return 0; - else - ACE_FAIL_RETURN (-1); - /* NOTREACHED */ -# elif defined (VXWORKS) - // The call below to ::taskSpawn () causes VxWorks to assign a - // unique task name of the form: "t" + an integer, because the - // first argument is 0. - - // args must be an array of _exactly_ 10 ints. - - // The stack arg is ignored: if there's a need for it, we'd have to - // use ::taskInit ()/::taskActivate () instead of ::taskSpawn (). - ACE_UNUSED_ARG (stack); - - // The hard-coded arguments are what ::sp () would use. ::taskInit () - // is used instead of ::sp () so that we can set the priority, flags, - // and stacksize. (::sp () also hardcodes priority to 100, flags - // to VX_FP_TASK, and stacksize to 20,000.) stacksize should be - // an even integer. - - // If called with thr_create() defaults, use same default values as ::sp (): - if (priority == ACE_DEFAULT_THREAD_PRIORITY) priority = 100; - if (flags == 0) flags = VX_FP_TASK; // Assumes that there is a - // floating point coprocessor. - // As noted above, ::sp () hardcodes - // this, so we should be safe with it. - - if (stacksize == 0) stacksize = 20000; - - ACE_hthread_t tid = ::taskSpawn (0, priority, - (int) flags, - (int) stacksize, - ACE_THREAD_FUNCTION, - (int) ACE_THREAD_ARGUMENT, - 0, 0, 0, 0, 0, 0, 0, 0, 0); - if (tid == ERROR) - return -1; - else - { - // ::taskTcb (int tid) returns the address of the WIND_TCB - // (task control block). According to the ::taskSpawn() - // documentation, the name of the new task is stored at - // pStackBase, but is that of the current task? If so, it - // might be a bit quicker than this extraction of the tcb . . . - *thr_id = ::taskTcb (tid)->name; - *thr_handle = tid; - return 0; - } - -# endif /* ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (func); - ACE_UNUSED_ARG (args); - ACE_UNUSED_ARG (flags); - ACE_UNUSED_ARG (thr_id); - ACE_UNUSED_ARG (thr_handle); - ACE_UNUSED_ARG (priority); - ACE_UNUSED_ARG (stack); - ACE_UNUSED_ARG (stacksize); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_THREADS */ -} - -void -ACE_OS::thr_exit (void *status) -{ -// ACE_TRACE ("ACE_OS::thr_exit"); -#if defined (ACE_HAS_THREADS) -# if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ::pthread_exit (status); -# elif defined (ACE_HAS_STHREADS) - ::thr_exit (status); -# elif defined (ACE_HAS_WTHREADS) - // Can't call it here because on NT, the thread is exited - // directly by ACE_Thread_Adapter::invoke (). - // ACE_TSS_Cleanup::instance ()->exit (status); -# elif defined (VXWORKS) - ACE_hthread_t tid; - ACE_OS::thr_self (tid); - - *((int *) status) = ::taskDelete (tid); -# endif /* ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (status); -#endif /* ACE_HAS_THREADS */ -} - -int -ACE_OS::thr_setspecific (ACE_thread_key_t key, void *data) -{ -// ACE_TRACE ("ACE_OS::thr_setspecific"); -#if defined (ACE_HAS_THREADS) -# if defined (ACE_HAS_TSS_EMULATION) - ACE_KEY_INDEX (key_index, key); - if (key_index >= ACE_TSS_Emulation::total_keys ()) - { - errno = EINVAL; - data = 0; - return -1; - } - else - { - ACE_TSS_Emulation::ts_object (key) = data; - ACE_TSS_Cleanup::instance ()->key_used (key); - - return 0; - } -# elif defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) -# if defined (ACE_HAS_FSU_PTHREADS) - // Call pthread_init() here to initialize threads package. FSU - // threads need an initialization before the first thread constructor. - // This seems to be the one; however, a segmentation fault may - // indicate that another pthread_init() is necessary, perhaps in - // Synch.cpp or Synch_T.cpp. FSU threads will not reinit if called - // more than once, so another call to pthread_init will not adversely - // affect existing threads. - pthread_init (); -# endif /* ACE_HAS_FSU_PTHREADS */ - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setspecific (key, data), ace_result_), int, -1); -# elif defined (ACE_HAS_STHREADS) - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_setspecific (key, data), ace_result_), int, -1); -# elif defined (ACE_HAS_WTHREADS) - ::TlsSetValue (key, data); - ACE_TSS_Cleanup::instance ()->key_used (key); - return 0; -# endif /* ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (key); - ACE_UNUSED_ARG (data); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_THREADS */ -} - -int -ACE_OS::thr_keyfree (ACE_thread_key_t key) -{ -// ACE_TRACE ("ACE_OS::thr_keyfree"); -#if defined (ACE_HAS_THREADS) -# if defined (ACE_HAS_TSS_EMULATION) - return ACE_TSS_Cleanup::instance ()->remove (key); -# elif defined (ACE_LACKS_KEYDELETE) - ACE_UNUSED_ARG (key); - ACE_NOTSUP_RETURN (-1); -# elif defined (ACE_HAS_PTHREADS) && !defined (ACE_HAS_FSU_PTHREADS) - return ::pthread_key_delete (key); -# elif defined (ACE_HAS_DCETHREADS) - ACE_UNUSED_ARG (key); - ACE_NOTSUP_RETURN (-1); -# elif defined (ACE_HAS_THR_KEYDELETE) - return ::thr_keydelete (key); -# elif defined (ACE_HAS_STHREADS) - ACE_UNUSED_ARG (key); - ACE_NOTSUP_RETURN (-1); -# elif defined (ACE_HAS_WTHREADS) - // Extract out the thread-specific table instance and free up - // the key and destructor. - ACE_TSS_Cleanup::instance ()->remove (key); - ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::TlsFree (key), ace_result_), int, -1); -# endif /* ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (key); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_THREADS */ -} - -int -ACE_OS::thr_keycreate (ACE_thread_key_t *key, -#if defined (ACE_HAS_THR_C_DEST) - ACE_THR_C_DEST dest, -#else - ACE_THR_DEST dest, -#endif /* ACE_HAS_THR_C_DEST */ - void *inst) -{ -// ACE_TRACE ("ACE_OS::thr_keycreate"); -#if defined (ACE_HAS_THREADS) -# if defined (ACE_HAS_TSS_EMULATION) - if (ACE_TSS_Emulation::next_key (*key) == 0) - { - ACE_TSS_Emulation::tss_destructor (*key, dest); - - // Extract out the thread-specific table instance and stash away - // the key and destructor so that we can free it up later on... - return ACE_TSS_Cleanup::instance ()->insert (*key, dest, inst); - } - else - { - errno = EAGAIN; - return -1; - } -# elif defined (ACE_HAS_DCETHREADS) - ACE_UNUSED_ARG (inst); -# if defined (ACE_HAS_STDARG_THR_DEST) - ACE_OSCALL_RETURN (::pthread_keycreate (key, (void (*)(...)) dest), int, -1); -# else - ACE_OSCALL_RETURN (::pthread_keycreate (key, dest), int, -1); -# endif /* ACE_HAS_STDARG_THR_DEST */ -# elif defined (ACE_HAS_PTHREADS) - ACE_UNUSED_ARG (inst); - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_key_create (key, dest), - ace_result_), - int, -1); -# elif defined (ACE_HAS_STHREADS) - ACE_UNUSED_ARG (inst); - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_keycreate (key, dest), - ace_result_), - int, -1); -# elif defined (ACE_HAS_WTHREADS) - *key = ::TlsAlloc (); - - if (*key != ACE_SYSCALL_FAILED) - { - // Extract out the thread-specific table instance and stash away - // the key and destructor so that we can free it up later on... - return ACE_TSS_Cleanup::instance ()->insert (*key, dest, inst); - } - else - ACE_FAIL_RETURN (-1); - /* NOTREACHED */ -# endif /* ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (key); - ACE_UNUSED_ARG (dest); - ACE_UNUSED_ARG (inst); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_THREADS */ -} - -int -ACE_OS::thr_key_used (ACE_thread_key_t key) -{ -#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION) - ACE_TSS_Cleanup::instance ()->key_used (key); - return 0; -#else - ACE_UNUSED_ARG (key); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */ -} - -int -ACE_OS::thr_key_detach (void *inst) -{ -#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION) - if (ACE_TSS_Cleanup::lockable ()) - return ACE_TSS_Cleanup::instance()->detach (inst); - else - // We're in static constructor/destructor phase. Don't - // try to use the ACE_TSS_Cleanup instance because its lock - // might not have been constructed yet, or might have been - // destroyed already. Just leak the key . . . - return -1; -#else - ACE_UNUSED_ARG (inst); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */ -} - -// Create a contiguous command-line argument buffer with each arg -// separated by spaces. - -pid_t -ACE_OS::fork_exec (char *argv[]) -{ -#if defined (ACE_WIN32) - ACE_ARGV argv_buf (argv); - - if (argv_buf.buf () != 0) - { - PROCESS_INFORMATION process_info; - STARTUPINFO startup_info; - ACE_OS::memset ((void *) &startup_info, 0, sizeof startup_info); - startup_info.cb = sizeof startup_info; - - if (::CreateProcess (0, - (LPTSTR) ACE_WIDE_STRING (argv_buf.buf ()), - 0, // No process attributes. - 0, // No thread attributes. - TRUE, // Allow handle inheritance. - 0, /* CREATE_NEW_CONSOLE */ // Don't create a new console window. - 0, // No environment. - 0, // No current directory. - &startup_info, - &process_info)) - { - // Free resources allocated in kernel. - ACE_OS::close (process_info.hThread); - ACE_OS::close (process_info.hProcess); - // Return new process id. - return process_info.dwProcessId; - } - } - - // CreateProcess failed. - return -1; -#elif defined (CHORUS) - return -1; // do it later!!! -#else - pid_t result = ACE_OS::fork (); - - switch (result) - { - case -1: - // Error. - return -1; - case 0: - // Child process. - if (ACE_OS::execv (argv[0], argv) == -1) - { - ACE_ERROR ((LM_ERROR, "%p Exec failed\n")); - - // If the execv fails, this child needs to exit. - ACE_OS::exit (errno); - } - default: - // Server process. The fork succeeded. - return result; - } -#endif /* ACE_WIN32 */ - } - -#if defined (ACE_NEEDS_WRITEV) - -// "Fake" writev for operating systems without it. Note that this is -// thread-safe. - -extern "C" int -writev (ACE_HANDLE handle, ACE_WRITEV_TYPE iov[], int n) -{ -// ACE_TRACE ("::writev"); - - size_t length = 0; - int i; - - // Determine the total length of all the buffers in . - for (i = 0; i < n; i++) - if (iov[i].iov_len < 0) - return -1; - else - length += iov[i].iov_len; - - char *buf; - -#if defined (ACE_HAS_ALLOCA) - buf = (char *) alloca (length); -#else - ACE_NEW_RETURN (buf, char[length], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - char *ptr = buf; - - for (i = 0; i < n; i++) - { - ACE_OS::memcpy (ptr, iov[i].iov_base, iov[i].iov_len); - ptr += iov[i].iov_len; - } - - ssize_t result = ACE::send_n (handle, buf, length); -#if !defined (ACE_HAS_ALLOCA) - delete [] buf; -#endif /* !defined (ACE_HAS_ALLOCA) */ - return result; -} -#endif /* ACE_NEEDS_WRITEV */ - -#if defined (ACE_NEEDS_READV) - -// "Fake" readv for operating systems without it. Note that this is -// thread-safe. - -extern "C" int -readv (ACE_HANDLE handle, - ACE_READV_TYPE *iov, - int n) -{ -// ACE_TRACE ("readv"); - - ssize_t length = 0; - int i; - - for (i = 0; i < n; i++) - if (iov[i].iov_len < 0) - return -1; - else - length += iov[i].iov_len; - - char *buf; -#if defined (ACE_HAS_ALLOCA) - buf = (char *) alloca (length); -#else - ACE_NEW_RETURN (buf, char[length], -1); -#endif /* !defined (ACE_HAS_ALLOCA) */ - - length = ACE::recv_n (handle, buf, length); - - if (length != -1) - { - char *ptr = buf; - int copyn = length; - - for (i = 0; - i < n && copyn > 0; - i++) - { - ACE_OS::memcpy (iov[i].iov_base, ptr, - // iov_len is int on some platforms, size_t on others - copyn > (int) iov[i].iov_len - ? (size_t) iov[i].iov_len - : (size_t) copyn); - ptr += iov[i].iov_len; - copyn -= iov[i].iov_len; - } - } - -#if !defined (ACE_HAS_ALLOCA) - delete [] buf; -#endif /* !defined (ACE_HAS_ALLOCA) */ - return length; -} -#endif /* ACE_NEEDS_READV */ - -#if defined (ACE_NEEDS_FTRUNCATE) -extern "C" int -ftruncate (ACE_HANDLE handle, long len) -{ - struct flock fl; - fl.l_whence = 0; - fl.l_len = 0; - fl.l_start = len; - fl.l_type = F_WRLCK; - - return ::fcntl (handle, F_FREESP, &fl); -} -#endif /* ACE_NEEDS_FTRUNCATE */ - -char * -ACE_OS::mktemp (char *s) -{ - // ACE_TRACE ("ACE_OS::mktemp"); -#if defined (ACE_LACKS_MKTEMP) - if (s == 0) - // check for null template string failed! - return 0; - else - { - char *xxxxxx = ACE_OS::strstr (s, "XXXXXX"); - - if (xxxxxx == 0) - // the template string doesn't contain "XXXXXX"! - return s; - else - { - char unique_letter = 'a'; - struct stat sb; - - // Find an unused filename for this process. It is assumed - // that the user will open the file immediately after - // getting this filename back (so, yes, there is a race - // condition if multiple threads in a process use the same - // template). This appears to match the behavior of the - // Solaris 2.5 mktemp(). - ACE_OS::sprintf (xxxxxx, "%05d%c", getpid (), unique_letter); - while (::stat (s, &sb) >= 0) - { - if (++unique_letter <= 'z') - ACE_OS::sprintf (xxxxxx, "%05d%c", getpid (), unique_letter); - else - { - // maximum of 26 unique files per template, per process - ACE_OS::sprintf (xxxxxx, "%s", ""); - return s; - } - } - } - return s; - } - -#else - return ::mktemp (s); -#endif /* ACE_LACKS_MKTEMP */ -} - -int -ACE_OS::socket_init (int version_high, int version_low) -{ -#if defined (ACE_WIN32) - if (ACE_OS::socket_initialized_ == 0) - { - // cout << "WSAStartup" << endl; - WORD version_requested = MAKEWORD (version_high, version_low); - WSADATA wsa_data; - int error = ::WSAStartup (version_requested, &wsa_data); - - if (error != 0) - cerr << "WSAStartup failed, WSAGetLastError returned " << error << endl; - - ACE_OS::socket_initialized_ = 1; - } -#else - ACE_UNUSED_ARG (version_high); - ACE_UNUSED_ARG (version_low); -#endif /* ACE_WIN32 */ - return 0; -} - -int -ACE_OS::socket_fini (void) -{ -#if defined (ACE_WIN32) - if (ACE_OS::socket_initialized_ != 0) - { - // cout << "WSACleanup" << endl; - if (::WSACleanup () != 0) - { - int error = ::WSAGetLastError (); - cerr << "WSACleanup failed, WSAGetLastError returned " << error << endl; - } - ACE_OS::socket_initialized_ = 0; - } -#endif /* ACE_WIN32 */ - return 0; -} - -#if defined (ACE_LACKS_SYS_NERR) -int sys_nerr = ERRMAX + 1; -#endif /* ACE_LACKS_SYS_NERR */ - -#if defined (VXWORKS) -#include /**/ /* for ::sp() */ - -// 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, ...) -{ - static const unsigned int MAX_ARGS = 10; - static char *argv[MAX_ARGS]; - va_list pvar; - unsigned int argc; - - // Hardcode a program name because the real one isn't available - // through the VxWorks shell. - argv[0] = "spa ():t"; - - // 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) - ::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 - for (unsigned int i = argc; i <= MAX_ARGS; ++i) - argv[i] = 0; - } - - int ret = ::sp (entry, argc, (int) argv, 0, 0, 0, 0, 0, 0, 0); - va_end (pvar); - - // ::sp () returns the taskID on success: return 0 instead if - // successful - return ret > 0 ? 0 : ret; -} -#endif /* VXWORKS */ - -#if !defined (ACE_HAS_SIGINFO_T) -siginfo_t::siginfo_t (ACE_HANDLE handle) - : si_handle_ (handle), - si_handles_ (&handle) -{ -} - -siginfo_t::siginfo_t (ACE_HANDLE *handles) - : si_handle_ (handles[0]), - si_handles_ (handles) -{ -} -#endif /* ACE_HAS_SIGINFO_T */ - -pid_t -ACE_OS::fork (const char *program_name) -{ - // ACE_TRACE ("ACE_OS::fork"); -#if defined (ACE_LACKS_FORK) - ACE_UNUSED_ARG (program_name); - ACE_NOTSUP_RETURN (pid_t (-1)); -#else - pid_t pid = ::fork (); - - if (pid == 0) - ACE_LOG_MSG->sync (program_name); - - return pid; -#endif /* ACE_WIN32 */ -} - -// This is necessary to work around nasty problems with MVS C++. - -extern "C" void -ace_mutex_lock_cleanup_adapter (void *args) -{ - ACE_OS::mutex_lock_cleanup (args); -} - -ACE_Thread_ID::ACE_Thread_ID (ACE_thread_t thread_id, - ACE_hthread_t thread_handle) - : thread_id_ (thread_id), - thread_handle_ (thread_handle) -{ -} - -ACE_thread_t -ACE_Thread_ID::id (void) -{ - return this->thread_id_; -} - -void -ACE_Thread_ID::id (ACE_thread_t thread_id) -{ - this->thread_id_ = thread_id; -} - -ACE_hthread_t -ACE_Thread_ID::handle (void) -{ - return this->thread_handle_; -} - -void -ACE_Thread_ID::handle (ACE_hthread_t thread_handle) -{ - this->thread_handle_ = thread_handle; -} - -int -ACE_Thread_ID::operator== (const ACE_Thread_ID &rhs) -{ - return ACE_OS::thr_cmp (this->thread_handle_, rhs.thread_handle_) == 0 - && ACE_OS::thr_equal (this->thread_id_, rhs.thread_id_) == 0; -} - -int -ACE_Thread_ID::operator!= (const ACE_Thread_ID &rhs) -{ - return !(*this == rhs); -} - -int -ACE_OS::inet_aton (const char *host_name, struct in_addr *addr) -{ - ACE_UINT32 ip_addr = ACE_OS::inet_addr (host_name); - - if (ip_addr == (ACE_UINT32) htonl ((ACE_UINT32) ~0) - // Broadcast addresses are weird... - && ACE_OS::strcmp (host_name, "255.255.255.255") != 0) - return 0; - else if (addr == 0) - return 0; - else - { - ACE_OS::memcpy ((void *) addr, (void *) &ip_addr, sizeof ip_addr); - return 1; - } -} - -ssize_t -ACE_OS::pread (ACE_HANDLE handle, - void *buf, - size_t nbytes, - off_t offset) -{ -#if defined (ACE_HAS_P_READ_WRITE) -#if defined (ACE_WIN32) - // This will work irrespective of whether the is in - // OVERLAPPED mode or not. - OVERLAPPED overlapped; - overlapped.Internal = 0; - overlapped.InternalHigh = 0; - overlapped.Offset = offset; - overlapped.OffsetHigh = 0; - overlapped.hEvent = 0; - - DWORD bytes_written; // This is set to 0 byte WriteFile. - - if (::ReadFile (handle, buf, nbytes, &bytes_written, &overlapped)) - return (ssize_t) bytes_written; - else if (::GetLastError () == ERROR_IO_PENDING) - if (::GetOverlappedResult (handle, &overlapped, &bytes_written, TRUE) == TRUE) - return (ssize_t) bytes_written; - - return -1; -#else - return ::pread (handle, buf, nbytes, offset); -#endif /* ACE_WIN32 */ -#else - ACE_MT (ACE_Thread_Mutex *ace_os_monitor_lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_OS_MONITOR_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ace_os_monitor_lock, -1)); - - if (ACE_OS::lseek (handle, offset, SEEK_SET) == -1) - return -1; - else - return ACE_OS::read (handle, buf, nbytes); -#endif /* ACE_HAD_P_READ_WRITE */ -} - -ssize_t -ACE_OS::pwrite (ACE_HANDLE handle, - const void *buf, - size_t nbytes, - off_t offset) -{ -#if defined (ACE_HAS_P_READ_WRITE) -#if defined (ACE_WIN32) - // This will work irrespective of whether the is in - // OVERLAPPED mode or not. - OVERLAPPED overlapped; - overlapped.Internal = 0; - overlapped.InternalHigh = 0; - overlapped.Offset = offset; - overlapped.OffsetHigh = 0; - overlapped.hEvent = 0; - - DWORD bytes_written; // This is set to 0 byte WriteFile. - - if (::WriteFile (handle, buf, nbytes, &bytes_written, &overlapped)) - return (ssize_t) bytes_written; - else if (::GetLastError () == ERROR_IO_PENDING) - if (::GetOverlappedResult (handle, &overlapped, &bytes_written, TRUE) == TRUE) - return (ssize_t) bytes_written; - - return -1; -#else - return ::pwrite (handle, buf, nbytes, offset); -#endif /* ACE_WIN32 */ -#else - ACE_MT (ACE_Thread_Mutex *ace_os_monitor_lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_OS_MONITOR_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ace_os_monitor_lock, -1)); - - if (ACE_OS::lseek (handle, offset, SEEK_SET) == -1) - return -1; - else - return ACE_OS::write (handle, buf, nbytes); -#endif /* ACE_HAD_P_READ_WRITE */ -} - -time_t -ACE_OS::mktime (struct tm *t) -{ - // ACE_TRACE ("ACE_OS::asctime"); -#if defined (ACE_HAS_MT_SAFE_MKTIME) || !defined (ACE_HAS_THREADS) - ACE_OSCALL_RETURN (::mktime (t), time_t, (time_t) -1); -#else - ACE_MT (ACE_Thread_Mutex *ace_os_monitor_lock = - ACE_Managed_Object::get_preallocated_object - (ACE_Object_Manager::ACE_OS_MONITOR_LOCK); - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *ace_os_monitor_lock, (time_t) -1)); - - ACE_OSCALL_RETURN (::mktime (t), time_t, (time_t) -1); -#endif /* ACE_HAS_MT_SAFE_MKTIME */ -} - -#if !defined (ACE_HAS_THREADS) || !defined (ACE_HAS_STHREADS) || defined (ACE_LACKS_RWLOCK_T) -// The ACE_HAS_THREADS and ACE_HAS_STHREADS case is in OS.i -int -ACE_OS::rwlock_init (ACE_rwlock_t *rw, - int type, - LPCTSTR name, - void *arg) -{ - // ACE_TRACE ("ACE_OS::rwlock_init"); - type = type; - name = name; -#if defined (ACE_HAS_THREADS) -#if !defined (ACE_HAS_STHREADS) || defined (ACE_LACKS_RWLOCK_T) - /* NT, POSIX, and VxWorks don't support this natively. */ - ACE_UNUSED_ARG (name); - int result = -1; - - // Since we cannot use the user specified name for all three - // objects, we will create three complete new names - TCHAR name1[ACE_UNIQUE_NAME_LEN]; - TCHAR name2[ACE_UNIQUE_NAME_LEN]; - TCHAR name3[ACE_UNIQUE_NAME_LEN]; - - ACE::unique_name ((const void *) &rw->lock_, name1, - ACE_UNIQUE_NAME_LEN); - ACE::unique_name ((const void *) &rw->waiting_readers_, name2, - ACE_UNIQUE_NAME_LEN); - ACE::unique_name ((const void *) &rw->waiting_writers_, name3, - ACE_UNIQUE_NAME_LEN); - - if (ACE_OS::mutex_init (&rw->lock_, type, name1, arg) == 0 - && ACE_OS::cond_init (&rw->waiting_readers_, type, name2, arg) == 0 - && ACE_OS::cond_init (&rw->waiting_writers_, type, name3, arg) == 0) - { - // Success! - rw->ref_count_ = 0; - rw->num_waiting_writers_ = 0; - rw->num_waiting_readers_ = 0; - - result = 0; - } - - if (result == -1) - { - int error = errno; - ACE_OS::mutex_destroy (&rw->lock_); - ACE_OS::cond_destroy (&rw->waiting_readers_); - ACE_OS::cond_destroy (&rw->waiting_writers_); - errno = error; - } - return result; -#endif /* ! ACE_HAS_STHREADS */ -#else - ACE_UNUSED_ARG (rw); - ACE_UNUSED_ARG (type); - ACE_UNUSED_ARG (name); - ACE_UNUSED_ARG (arg); - ACE_NOTSUP_RETURN (-1); -#endif /* ACE_HAS_THREADS */ -} -#endif /* ! ACE_HAS_THREADS || ! ACE_HAS_STHREADS || defined (ACE_LACKS_RWLOCK_T) */ - -#if defined (ACE_PSOS) - -// bit masks and shifts for prying info out of the pSOS time encoding -const u_long ACE_PSOS_Time_t::year_mask = 0x0000FFFFul; -const u_long ACE_PSOS_Time_t::month_mask = 0x000000FFul; -const u_long ACE_PSOS_Time_t::day_mask = 0x000000FFul; -const u_long ACE_PSOS_Time_t::hour_mask = 0x0000FFFFul; -const u_long ACE_PSOS_Time_t::minute_mask = 0x000000FFul; -const u_long ACE_PSOS_Time_t::second_mask = 0x000000FFul; -const int ACE_PSOS_Time_t::year_shift = 16; -const int ACE_PSOS_Time_t::month_shift = 8; -const int ACE_PSOS_Time_t::hour_shift = 16; -const int ACE_PSOS_Time_t::minute_shift = 8; -const int ACE_PSOS_Time_t::year_origin = 1900; -const int ACE_PSOS_Time_t::month_origin = 1; - -// maximum number of clock ticks supported -const u_long ACE_PSOS_Time_t::max_ticks = ~0UL; - - -ACE_PSOS_Time_t::ACE_PSOS_Time_t () - : date_ (0), time_ (0), ticks_ (0) -{ -} - // default ctor: date, time, and ticks all zeroed - -ACE_PSOS_Time_t::ACE_PSOS_Time_t (const timespec_t& t) -{ - struct tm* tm_struct = ACE_OS::gmtime (&(t.tv_sec)); - - // encode date values from tm struct into pSOS date bit array - - date_ = (ACE_PSOS_Time_t::year_mask & - ACE_static_cast (u_long, - tm_struct->tm_year + ACE_PSOS_Time_t::year_origin)) << - ACE_PSOS_Time_t::year_shift; - - date_ |= (ACE_PSOS_Time_t::month_mask & - ACE_static_cast (u_long, - tm_struct->tm_mon + ACE_PSOS_Time_t::month_origin)) << - ACE_PSOS_Time_t::month_shift; - - date_ |= ACE_PSOS_Time_t::day_mask & - ACE_static_cast (u_long, tm_struct->tm_mday); - - - // encode time values from tm struct into pSOS time bit array - - time_ = (ACE_PSOS_Time_t::hour_mask & - ACE_static_cast (u_long, tm_struct->tm_hour)) << - ACE_PSOS_Time_t::hour_shift; - - time_ |= (ACE_PSOS_Time_t::minute_mask & - ACE_static_cast (u_long, tm_struct->tm_min)) << - ACE_PSOS_Time_t::minute_shift; - - time_ |= ACE_PSOS_Time_t::second_mask & - ACE_static_cast (u_int, tm_struct->tm_sec); - - // encode nanoseconds as system clock ticks - ticks_ = ACE_static_cast (u_long, - ((ACE_static_cast (double, t.tv_nsec) * - ACE_static_cast (double, KC_TICKS2SEC)) / - ACE_static_cast (double, 1000000000))); - -} - // ctor from a timespec_t - - -ACE_PSOS_Time_t::operator timespec_t () -{ - struct tm tm_struct; - - // decode date and time bit arrays and fill in fields of tm_struct - - tm_struct.tm_year = - ACE_static_cast (int, (ACE_PSOS_Time_t::year_mask & - (date_ >> ACE_PSOS_Time_t::year_shift))) - - ACE_PSOS_Time_t::year_origin; - - tm_struct.tm_mon = - ACE_static_cast (int, (ACE_PSOS_Time_t::month_mask & - (date_ >> ACE_PSOS_Time_t::month_shift))) - - ACE_PSOS_Time_t::month_origin; - - tm_struct.tm_mday = - ACE_static_cast (int, (ACE_PSOS_Time_t::day_mask & date_)); - - tm_struct.tm_hour = - ACE_static_cast (int, (ACE_PSOS_Time_t::hour_mask & - (time_ >> ACE_PSOS_Time_t::hour_shift))); - - tm_struct.tm_min = - ACE_static_cast (int, (ACE_PSOS_Time_t::minute_mask & - (time_ >> ACE_PSOS_Time_t::minute_shift))); - - tm_struct.tm_sec = - ACE_static_cast (int, (ACE_PSOS_Time_t::second_mask & time_)); - - // indicate values we don't know as negative numbers - tm_struct.tm_wday = -1; - tm_struct.tm_yday = -1; - tm_struct.tm_isdst = -1; - - timespec_t t; - - // convert calendar time to time struct - t.tv_sec = ACE_OS::mktime (&tm_struct); - - // encode nanoseconds as system clock ticks - t.tv_nsec = ACE_static_cast (long, - ((ACE_static_cast (double, ticks_) * - ACE_static_cast (double, 1000000000)) / - ACE_static_cast (double, KC_TICKS2SEC))); - - return t; -} - // type cast operator (to a timespec_t) - -ACE_INLINE u_long -ACE_PSOS_Time_t::get_system_time (ACE_PSOS_Time_t& t) -{ - u_long ret_val = 0; - -#if defined (ACE_PSOSIM) /* system time is broken in simulator */ - - timeval tv; - int result = 0; - ACE_OSCALL (::gettimeofday (&tv, 0), int, -1, result); - if (result == -1) - { - return 1; - } - - ACE_Time_Value atv (tv); - timespec ts = atv; - ACE_PSOS_Time_t pt (ts); - t.date_ = pt.date_; - t.time_ = pt.time_; - t.ticks_ = pt.ticks_; - -#else - - ret_val = tm_get (&(t.date_), &(t.time_), &(t.ticks_)); - -#endif /* ACE_PSOSIM */ - - return ret_val; -} - // static member function to get current system time - -ACE_INLINE u_long -ACE_PSOS_Time_t::set_system_time (const ACE_PSOS_Time_t& t) -{ - u_long ret_val = tm_set (t.date_, t.time_, t.ticks_); - return ret_val; -} - // static member function to set current system time - -#if defined (ACE_PSOSIM) - -ACE_INLINE u_long -ACE_PSOS_Time_t::init_simulator_time () -{ - // This is a hack using a direct UNIX system call, because the appropriate - // ACE_OS method ultimately uses the pSOS tm_get function, which would fail - // because the simulator's system time is uninitialized (chicken and egg). - timeval t; - int result = 0; - ACE_OSCALL (::gettimeofday (&t, 0), int, -1, result); - if (result == -1) - { - return 1; - } - else - { - ACE_Time_Value tv (t); - timespec ts = tv; - ACE_PSOS_Time_t pt (ts); - u_long ret_val = ACE_PSOS_Time_t::set_system_time (pt); - return ret_val; - - } -} - // static member function to initialize system time, using UNIX calls - -#endif /* ACE_PSOSIM */ - - -#endif /* ACE_PSOS */ - -#if defined (CHORUS) -extern "C" -void -ace_sysconf_dump (void) -{ - ACE_Time_Value time = ACE_OS::gettimeofday (); - if (time == -1) - ACE_DEBUG ((LM_DEBUG, "Cannot get time\n")); - else - time.dump (); - - ACE_DEBUG ((LM_DEBUG, - "ARG_MAX \t= \t%d\t" - "DELAYTIMER_MAX \t= \t%d\n" - "_MQ_OPEN_MAX \t= \t%d\t" - "_MQ_PRIO_MAX \t= \t%d\n" - "_MQ_DFL_MSGSIZE\t= \t%d\t" - "_MQ_DFL_MAXMSGNB\t= \t%d\n" - "_MQ_PATHMAX \t= \t%d\n" - "NGROUPS_MAX \t= \t%d\t" - "OPEN_MAX \t= \t%d\n" - "PAGESIZE \t= \t%d\n" - "PTHREAD_DESTRUCTOR_ITERATIONS \t= \t%d\n" - "PTHREAD_KEYS_MAX \t= \t%d\n" - "PTHREAD_STACK_MIN \t= \t%d\n" - "PTHREAD_THREADS_MAX \t= \t%d\n" - "SEM_VALUE_MAX \t= \t%d\n" - "SEM_PATHMAX \t= \t%d\n" - "TIMER_MAX \t= \t%d\n" - "TZNAME_MAX \t= \t%d\n" - "_POSIX_MESSAGE_PASSING \t= \t%d\n" - "_POSIX_SEMAPHORES \t= \t%d\n" - "_POSIX_SHARED_MEMORY_OBJECTS \t= \t%d\n" - "_POSIX_THREADS \t= \t%d\n" - "_POSIX_THREAD_ATTR_STACKADDR \t= \t%d\n" - "_POSIX_THREAD_ATTR_STACKSIZE \t= \t%d\n" - "_POSIX_THREAD_PRIORITY_SCHEDULING= \t%d\n" - "_POSIX_THREAD_PRIO_INHERIT \t= \t%d\n" - "_POSIX_THREAD_PRIO_PROTECT \t= \t%d\n" - "_POSIX_THREAD_PROCESS_SHARED \t= \t%d\n" - "_POSIX_THREAD_SAFE_FUNCTIONS \t= \t%d\n" - "_POSIX_TIMERS \t= \t%d\n" - "_POSIX_VERSION \t= \t%d\n", - ACE_OS::sysconf (_SC_ARG_MAX), - ACE_OS::sysconf (_SC_DELAYTIMER_MAX), - ACE_OS::sysconf (_SC_MQ_OPEN_MAX), - ACE_OS::sysconf (_SC_MQ_PRIO_MAX), - ACE_OS::sysconf (_SC_MQ_DFL_MSGSIZE), - ACE_OS::sysconf (_SC_MQ_DFL_MAXMSGNB), - ACE_OS::sysconf (_SC_MQ_PATHMAX), - ACE_OS::sysconf (_SC_NGROUPS_MAX), - ACE_OS::sysconf (_SC_OPEN_MAX), - ACE_OS::sysconf (_SC_PAGESIZE), - ACE_OS::sysconf (_SC_PTHREAD_DESTRUCTOR_ITERATIONS), - ACE_OS::sysconf (_SC_PTHREAD_KEYS_MAX), - ACE_OS::sysconf (_SC_PTHREAD_STACK_MIN), - ACE_OS::sysconf (_SC_PTHREAD_THREADS_MAX), - ACE_OS::sysconf (_SC_SEM_VALUE_MAX), - ACE_OS::sysconf (_SC_SHM_PATHMAX), - ACE_OS::sysconf (_SC_TIMER_MAX), - ACE_OS::sysconf (_SC_TZNAME_MAX), - ACE_OS::sysconf (_SC_MESSAGE_PASSING), - ACE_OS::sysconf (_SC_SEMAPHORES), - ACE_OS::sysconf (_SC_SHARED_MEMORY_OBJECTS), - ACE_OS::sysconf (_SC_THREADS), - ACE_OS::sysconf (_SC_THREAD_ATTR_STACKADDR), - ACE_OS::sysconf (_SC_THREAD_ATTR_STACKSIZE), - ACE_OS::sysconf (_SC_THREAD_PRIORITY_SCHEDULING), - ACE_OS::sysconf (_SC_THREAD_PRIO_INHERIT), - ACE_OS::sysconf (_SC_THREAD_PRIO_PROTECT), - ACE_OS::sysconf (_SC_THREAD_PROCESS_SHARED), - ACE_OS::sysconf (_SC_THREAD_SAFE_FUNCTIONS), - ACE_OS::sysconf (_SC_TIMERS), - ACE_OS::sysconf (_SC_VERSION))); -} -#endif diff --git a/ace/OS.h b/ace/OS.h deleted file mode 100644 index 45854c03662..00000000000 --- a/ace/OS.h +++ /dev/null @@ -1,5255 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// OS.h -// -// = AUTHOR -// Doug Schmidt , Jesper S. M|ller -// , and a cast of thousands... -// -// ============================================================================ - -#if !defined (ACE_OS_H) -#define ACE_OS_H - -// This file should be a link to the platform/compiler-specific -// configuration file (e.g., config-sunos5-sunc++-4.x.h). -#include "ace/inc_user_config.h" - -#if defined (ACE_HAS_ANSI_CASTS) -# define ACE_static_cast(TYPE, EXPR) static_cast (EXPR) -# define ACE_const_cast(TYPE, EXPR) const_cast (EXPR) -# define ACE_reinterpret_cast(TYPE, EXPR) reinterpret_cast (EXPR) -# define ACE_dynamic_cast(TYPE, EXPR) dynamic_cast (EXPR) -#else -# define ACE_static_cast(TYPE, EXPR) ((TYPE) (EXPR)) -# define ACE_const_cast(TYPE, EXPR) ((TYPE) (EXPR)) -# define ACE_reinterpret_cast(TYPE, EXPR) ((TYPE) (EXPR)) -# define ACE_dynamic_cast(TYPE, EXPR) ((TYPE) (EXPR)) -#endif /* ACE_HAS_ANSI_CASTS */ - -// Deal with MSVC++ insanity for CORBA... -#if defined (ACE_WIN32) && defined (ACE_ORBIX_HAS_NAMESPACES) -#define ACE_CORBA_1(NAME) CORBA::##NAME -#define ACE_CORBA_2(TYPE, NAME) CORBA::##TYPE##::##NAME -#define ACE_CORBA_3(TYPE, NAME) CORBA::##TYPE##::##NAME -#define ACE_NESTED_CLASS(TYPE, NAME) TYPE::##NAME -#else -#define ACE_CORBA_1(NAME) CORBA_##NAME -#define ACE_CORBA_2(TYPE, NAME) CORBA_##TYPE##_##NAME -#define ACE_CORBA_3(TYPE, NAME) CORBA_##TYPE##::##NAME -#define ACE_NESTED_CLASS(TYPE, NAME) NAME -#endif /* ACE_WIN32 */ - -// Define some helpful macros. -#define ACE_ONE_SECOND_IN_MSECS 1000L -#define ACE_ONE_SECOND_IN_USECS 1000000L -#define ACE_ONE_SECOND_IN_NSECS 1000000000L - -#if defined (ACE_NO_INLINE) - // ACE inlining has been explicitly disabled. Implement - // internally within ACE by undefining __ACE_INLINE__. -# undef __ACE_INLINE__ -#endif /* ! ACE_NO_INLINE */ - -#if !defined (ACE_DEFAULT_CLOSE_ALL_HANDLES) -#define ACE_DEFAULT_CLOSE_ALL_HANDLES 1 -#endif /* ACE_DEFAULT_CLOSE_ALL_HANDLES */ - -// The maximum length for a fully qualified Internet name. -#if !defined(ACE_MAX_FULLY_QUALIFIED_NAME_LEN) -#define ACE_MAX_FULLY_QUALIFIED_NAME_LEN 256 -#endif /* ACE_MAX_FULLY_QUALIFIED_NAME_LEN */ - -#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) -// control message size to pass a file descriptor -#define ACE_BSD_CONTROL_MSG_LEN sizeof (struct cmsghdr) + sizeof (ACE_HANDLE) -#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */ - -// Define the default constants for ACE. Many of these are used for -// the ACE tests and applications. You can change these values by -// defining the macros in your config.h file. - -#if !defined (ACE_DEFAULT_TIMEOUT) -#define ACE_DEFAULT_TIMEOUT 5 -#endif /* ACE_DEFAULT_TIMEOUT */ - -#if !defined (ACE_DEFAULT_THREADS) -#define ACE_DEFAULT_THREADS 1 -#endif /* ACE_DEFAULT_THREADS */ - -// The following 3 defines are used in the IP multicast and broadcast tests. -#if !defined (ACE_DEFAULT_BROADCAST_PORT) -#define ACE_DEFAULT_BROADCAST_PORT 10000 -#endif /* ACE_DEFAULT_BROADCAST_PORT */ - -#if !defined (ACE_DEFAULT_MULTICAST_PORT) -#define ACE_DEFAULT_MULTICAST_PORT 10001 -#endif /* ACE_DEFAULT_MULTICAST_PORT */ - -#if !defined (ACE_DEFAULT_MULTICAST_ADDR) -#define ACE_DEFAULT_MULTICAST_ADDR "224.9.9.2" -#endif /* ACE_DEFAULT_MULTICAST_ADDR */ - -// Default port number for HTTP. -#if !defined (ACE_DEFAULT_HTTP_SERVER_PORT) -#define ACE_DEFAULT_HTTP_SERVER_PORT 80 -#endif /* ACE_DEFAULT_HTTP_SERVER_PORT */ - -// Used in many IPC_SAP tests -#if !defined (ACE_DEFAULT_SERVER_PORT) -#define ACE_DEFAULT_SERVER_PORT 10002 -#endif /* ACE_DEFAULT_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_MAX_SOCKET_BUFSIZ) -#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 65536 -#endif /* ACE_DEFAULT_MAX_SOCKET_BUFSIZ */ - -#if !defined (ACE_DEFAULT_SERVER_PORT_STR) -#define ACE_DEFAULT_SERVER_PORT_STR "10002" -#endif /* ACE_DEFAULT_SERVER_PORT_STR */ - -// Used for the Service_Directory test -#if !defined (ACE_DEFAULT_SERVICE_PORT) -#define ACE_DEFAULT_SERVICE_PORT 10003 -#endif /* ACE_DEFAULT_SERVICE_PORT */ - -// Used for the ACE_Thread_Spawn test -#if !defined (ACE_DEFAULT_THR_PORT ) -#define ACE_DEFAULT_THR_PORT 10004 -#endif /* ACE_DEFAULT_THR_PORT */ - -// Used for SOCK_Connect::connect() tests -#if !defined (ACE_DEFAULT_LOCAL_PORT) -#define ACE_DEFAULT_LOCAL_PORT 10005 -#endif /* ACE_DEFAULT_LOCAL_PORT */ - -// Used for Connector tests -#if !defined (ACE_DEFAULT_LOCAL_PORT_STR) -#define ACE_DEFAULT_LOCAL_PORT_STR "10005" -#endif /* ACE_DEFAULT_LOCAL_PORT_STR */ - -// Used for the name server. -#if !defined (ACE_DEFAULT_NAME_SERVER_PORT) -#define ACE_DEFAULT_NAME_SERVER_PORT 10006 -#endif /* ACE_DEFAULT_NAME_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_NAME_SERVER_PORT_STR) -#define ACE_DEFAULT_NAME_SERVER_PORT_STR "10006" -#endif /* ACE_DEFAULT_NAME_SERVER_PORT_STR */ - -// Used for the token server. -#if !defined (ACE_DEFAULT_TOKEN_SERVER_PORT) -#define ACE_DEFAULT_TOKEN_SERVER_PORT 10007 -#endif /* ACE_DEFAULT_TOKEN_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_TOKEN_SERVER_PORT_STR) -#define ACE_DEFAULT_TOKEN_SERVER_PORT_STR "10007" -#endif /* ACE_DEFAULT_TOKEN_SERVER_PORT_STR */ - -// Used for the logging server. -#if !defined (ACE_DEFAULT_LOGGING_SERVER_PORT) -#define ACE_DEFAULT_LOGGING_SERVER_PORT 10008 -#endif /* ACE_DEFAULT_LOGGING_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_LOGGING_SERVER_PORT_STR) -#define ACE_DEFAULT_LOGGING_SERVER_PORT_STR "10008" -#endif /* ACE_DEFAULT_LOGGING_SERVER_PORT_STR */ - -// Used for the logging server. -#if !defined (ACE_DEFAULT_THR_LOGGING_SERVER_PORT) -#define ACE_DEFAULT_THR_LOGGING_SERVER_PORT 10008 -#endif /* ACE_DEFAULT_THR_LOGGING_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_THR_LOGGING_SERVER_PORT_STR) -#define ACE_DEFAULT_THR_LOGGING_SERVER_PORT_STR "10008" -#endif /* ACE_DEFAULT_THR_LOGGING_SERVER_PORT_STR */ - -// Used for the time server. -#if !defined (ACE_DEFAULT_TIME_SERVER_PORT) -#define ACE_DEFAULT_TIME_SERVER_PORT 10009 -#endif /* ACE_DEFAULT_TIME_SERVER_PORT */ - -#if !defined (ACE_DEFAULT_TIME_SERVER_PORT_STR) -#define ACE_DEFAULT_TIME_SERVER_PORT_STR "10009" -#endif /* ACE_DEFAULT_TIME_SERVER_PORT_STR */ - -#if !defined (ACE_DEFAULT_TIME_SERVER_STR) -#define ACE_DEFAULT_TIME_SERVER_STR "ACE_TS_TIME" -#endif /* ACE_DEFAULT_TIME_SERVER_STR */ - -// Used by the FIFO tests and the Client_Logging_Handler netsvc. -#if !defined (ACE_DEFAULT_RENDEZVOUS) -#if defined (ACE_HAS_STREAM_PIPES) -#define ACE_DEFAULT_RENDEZVOUS "/tmp/fifo.ace" -#else -#define ACE_DEFAULT_RENDEZVOUS "localhost:10010" -#endif /* ACE_LACKS_FIFO */ -#endif /* ACE_DEFAULT_RENDEZVOUS */ - -#if !defined (ACE_DEFAULT_LOGGER_KEY) -#if defined (ACE_HAS_STREAM_PIPES) -#define ACE_DEFAULT_LOGGER_KEY "/tmp/server_daemon" -#else -#define ACE_DEFAULT_LOGGER_KEY "localhost:10010" -#endif /* ACE_HAS_STREAM_PIPES */ -#endif /* ACE_DEFAULT_LOGGER_KEY */ - -#if !defined (ACE_DEFAULT_SERVER_HOST) -#define ACE_DEFAULT_SERVER_HOST "localhost" -#endif /* ACE_DEFAULT_SERVER_HOST */ - -// Default shared memory key -#if !defined (ACE_DEFAULT_SHM_KEY) -#define ACE_DEFAULT_SHM_KEY 1234 -#endif /* ACE_DEFAULT_SHM_KEY */ - -// Default segment size used by SYSV shared memory (128 K) -#if !defined (ACE_DEFAULT_SEGMENT_SIZE) -#define ACE_DEFAULT_SEGMENT_SIZE 1024 * 128 -#endif /* ACE_DEFAULT_SEGMENT_SIZE */ - -// Maximum number of SYSV shared memory segments -// (does anyone know how to figure out the right values?!) -#if !defined (ACE_DEFAULT_MAX_SEGMENTS) -#define ACE_DEFAULT_MAX_SEGMENTS 6 -#endif /* ACE_DEFAULT_MAX_SEGMENTS */ - -// Name of the map that's stored in shared memory. -#if !defined (ACE_NAME_SERVER_MAP) -#define ACE_NAME_SERVER_MAP "Name Server Map" -#endif /* ACE_NAME_SERVER_MAP */ - -// Default file permissions. -#if !defined (ACE_DEFAULT_FILE_PERMS) -#define ACE_DEFAULT_FILE_PERMS 0666 -#endif /* ACE_DEFAULT_FILE_PERMS */ - -// Default directory permissions. -#if !defined (ACE_DEFAULT_DIR_PERMS) -#define ACE_DEFAULT_DIR_PERMS 0777 -#endif /* ACE_DEFAULT_DIR_PERMS */ - -// Default size of the ACE Reactor. -#if !defined (ACE_DEFAULT_SELECT_REACTOR_SIZE) -#define ACE_DEFAULT_SELECT_REACTOR_SIZE FD_SETSIZE -#endif /* ACE_DEFAULT_SELECT_REACTOR_SIZE */ - -// Default size of the ACE Map_Manager. -#if !defined (ACE_DEFAULT_MAP_SIZE) -#define ACE_DEFAULT_MAP_SIZE 1024 -#endif /* ACE_DEFAULT_MAP_SIZE */ - -// Defaults for ACE Timer Wheel -#if !defined (ACE_DEFAULT_TIMER_WHEEL_SIZE) -#define ACE_DEFAULT_TIMER_WHEEL_SIZE 1024 -#endif /* ACE_DEFAULT_TIMER_WHEEL_SIZE */ - -#if !defined (ACE_DEFAULT_TIMER_WHEEL_RESOLUTION) -#define ACE_DEFAULT_TIMER_WHEEL_RESOLUTION 100 -#endif /* ACE_DEFAULT_TIMER_WHEEL_RESOLUTION */ - -// Default size for ACE Timer Hash table -#if !defined (ACE_DEFAULT_TIMER_HASH_TABLE_SIZE) -#define ACE_DEFAULT_TIMER_HASH_TABLE_SIZE 1024 -#endif /* ACE_DEFAULT_TIMER_HASH_TABLE_SIZE */ - -// Defaults for the ACE Free List -#if !defined (ACE_DEFAULT_FREE_LIST_PREALLOC) -#define ACE_DEFAULT_FREE_LIST_PREALLOC 0 -#endif /* ACE_DEFAULT_FREE_LIST_PREALLOC */ - -#if !defined (ACE_DEFAULT_FREE_LIST_LWM) -#define ACE_DEFAULT_FREE_LIST_LWM 0 -#endif /* ACE_DEFAULT_FREE_LIST_LWM */ - -#if !defined (ACE_DEFAULT_FREE_LIST_HWM) -#define ACE_DEFAULT_FREE_LIST_HWM 25000 -#endif /* ACE_DEFAULT_FREE_LIST_HWM */ - -#if !defined (ACE_DEFAULT_FREE_LIST_INC) -#define ACE_DEFAULT_FREE_LIST_INC 100 -#endif /* ACE_DEFAULT_FREE_LIST_INC */ - -#if !defined (ACE_UNIQUE_NAME_LEN) -#define ACE_UNIQUE_NAME_LEN 100 -#endif /* ACE_UNIQUE_NAME_LEN */ - -// Here are all ACE-specific global declarations needed throughout -// ACE. - -// Helpful dump macros. -#define ACE_BEGIN_DUMP "\n====\n(%P|%t|%x)" -#define ACE_END_DUMP "====\n" - -// A free list which create more elements when there aren't enough -// elements. -#define ACE_FREE_LIST_WITH_POOL 1 - -// A simple free list which doen't allocate/deallocate elements. -#define ACE_PURE_FREE_LIST 2 - -// This is used to indicate that a platform doesn't support a -// particular feature. -#if defined ACE_HAS_VERBOSE_NOTSUP - // Print a console message with the file and line number of the - // unsupported function. -# define ACE_NOTSUP_RETURN(FAILVALUE) do { errno = ENOTSUP; ACE_OS::fprintf (stderr, "ACE_NOTSUP: %s, line %d\n", __FILE__, __LINE__); return FAILVALUE; } while (0) -#else /* ! ACE_HAS_VERBOSE_NOTSUP */ -# define ACE_NOTSUP_RETURN(FAILVALUE) do { errno = ENOTSUP ; return FAILVALUE; } while (0) -#endif /* ! ACE_HAS_VERBOSE_NOTSUP */ - -#if defined (ACE_NDEBUG) -#define ACE_DB(X) -#else -#define ACE_DB(X) X -#endif /* ACE_NDEBUG */ - -// ACE_NO_HEAP_CHECK macro can be used to suppress false report of -// memory leaks. It turns off the built-in heap checking until the -// block is left. The old state will then be restored Only used for -// Win32 (in the moment). -#if defined (ACE_WIN32) - -// This is necessary to work around bugs with Win32 non-blocking -// connects... -# if !defined (ACE_NON_BLOCKING_BUG_DELAY) -# define ACE_NON_BLOCKING_BUG_DELAY 35000 -# endif /* ACE_NON_BLOCKING_BUG_DELAY */ - -# if defined (_DEBUG) && !defined (ACE_HAS_WINCE) -class ACE_No_Heap_Check -{ -public: - ACE_No_Heap_Check (void) - : old_state (_CrtSetDbgFlag (_CRTDBG_REPORT_FLAG)) - { _CrtSetDbgFlag (old_state & ~_CRTDBG_ALLOC_MEM_DF);} - ~ACE_No_Heap_Check (void) { _CrtSetDbgFlag (old_state);} -private: - int old_state; -}; -# define ACE_NO_HEAP_CHECK ACE_No_Heap_Check ____no_heap; -# else /* !_DEBUG */ -# define ACE_NO_HEAP_CHECK -# endif /* _DEBUG */ -#else /* !ACE_WIN32 */ -# define ACE_NO_HEAP_CHECK -#endif /* ACE_WIN32 */ - -// Increase the range of "address families". -#define AF_ANY (-1) -#define AF_SPIPE (AF_MAX + 1) -#if !defined (AF_FILE) -# define AF_FILE (AF_MAX + 2) -#endif /* ! AF_FILE */ -#define AF_DEV (AF_MAX + 3) -#define AF_UPIPE (AF_SPIPE) - -// Turn a number into a string. -#define ACE_ITOA(X) #X - -// Create a string of a server address with a "host:port" format. -#define ACE_SERVER_ADDRESS(H,P) H":"P - -// A couple useful inline functions for checking whether bits are -// enabled or disabled. - -// Efficiently returns the least power of two >= X... -#define ACE_POW(X) (((X) == 0)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X))) -#define ACE_EVEN(NUM) (((NUM) & 1) == 0) -#define ACE_ODD(NUM) (((NUM) & 1) == 1) -#define ACE_BIT_ENABLED(WORD, BIT) (((WORD) & (BIT)) != 0) -#define ACE_BIT_DISABLED(WORD, BIT) (((WORD) & (BIT)) == 0) -#define ACE_BIT_CMP_MASK(WORD, BIT, MASK) (((WORD) & (BIT)) == MASK) -#define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS)) -#define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS)) -#define ACE_MAX(x,y) (((x)>(y))?(x):(y)) -#define ACE_MIN(x,y) (((x)<(y))?(x):(y)) - -// Keep the compiler from complaining about parameters which are not used. -#if defined (ghs) || defined (__GNUC__) || defined (__hpux) || defined (__sgi) || defined (DEC_CXX) || defined (__KCC) -// 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 ACE_UNUSED_ARG(a) {if (&a) /* null */ ;} -#else -#define ACE_UNUSED_ARG(a) (a) -#endif /* ghs */ - -#if defined (__sgi) || defined (ghs) || defined (DEC_CXX) -#define ACE_NOTREACHED(a) -#else -#define ACE_NOTREACHED(a) a -#endif - -#if defined (ACE_REQUIRES_FUNC_DEFINITIONS) -// It just evaporated ;-) Not pleasant. -# define ACE_UNIMPLEMENTED_FUNC(f) -#else -# define ACE_UNIMPLEMENTED_FUNC(f) f; -#endif /* ACE_REQUIRES_FUNC_DEFINITIONS */ - -// Easy way to designate that a class is used as a pseudo-namespace. -// Insures that g++ "friendship" anamolies are properly handled. -#define ACE_CLASS_IS_NAMESPACE(CLASSNAME) \ -private: \ -CLASSNAME (void); \ -CLASSNAME (const CLASSNAME&); \ -friend class ace_dewarn_gplusplus - -// These hooks enable ACE to have all dynamic memory management -// automatically handled on a per-object basis. - -#if defined (ACE_HAS_ALLOC_HOOKS) -#define ACE_ALLOC_HOOK_DECLARE \ - void *operator new (size_t bytes); \ - void operator delete (void *ptr); - -// Note that these are just place holders for now. They'll -// be replaced by the ACE_Malloc stuff shortly... -#define ACE_ALLOC_HOOK_DEFINE(CLASS) \ - void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \ - void CLASS::operator delete (void *ptr) { delete (ptr); } -#else -#define ACE_ALLOC_HOOK_DECLARE struct __Ace {} /* Just need a dummy... */ -#define ACE_ALLOC_HOOK_DEFINE(CLASS) -#endif /* ACE_HAS_ALLOC_HOOKS */ - -#if defined (ACE_LACKS_KEY_T) -#if defined (ACE_WIN32) -// Win32 doesn't use numeric values to name its semaphores, it uses -// strings! -typedef char *key_t; -#else -typedef int key_t; -#endif /* ACE_WIN32 */ -#endif /* ACE_LACKS_KEY_T */ - -#if defined (VXWORKS) - #if defined (ghs) - // GreenHills 1.8.8 needs the stdarg.h #include before the #include of - // vxWorks.h. - // Also, be sure that these #includes come _after_ the key_t typedef, and - // before the #include of time.h. - #include /**/ - #endif /* ghs */ - - #include /**/ -#endif /* VXWORKS */ - - -/////////////////////////////////////////// -// // -// NOTE: Please do not add any #includes // -// before this point. On VxWorks, // -// vxWorks.h must be #included // -// first! // -// // -/////////////////////////////////////////// - -#if defined (ACE_PSOS) - - #include /* system configuration file */ - #include /* pSOS+ system calls */ - #include /* pNA+ TCP/IP Network Manager calls */ - - - #if defined (ACE_PSOSIM) - - /* In the *simulator* environment, use unsigned int for size_t */ - #define size_t unsigned int - -// #include /* pREPC+ ANSI C Standard Library calls */ - - /* #include pRPC+ Remote Procedure Call Library calls */ - /* are not supported by pSOSim */ - /* */ - /* #include pHILE+ file system calls are not supported */ - /* by pSOSim *so*, for the time being, we make */ - /* use of UNIX file system headers and then */ - /* when we have time, we wrap UNIX file system */ - /* calls w/ pHILE+ wrappers, and modify ACE to */ - /* use the wrappers under pSOSim */ - - /* put includes for necessary UNIX file system calls here */ - #include - #include - #include - #include - - // remap missing error numbers for system functions - #define EPERM 1 /* Not super-user */ - #define ENOENT 2 /* No such file or directory */ - #define ESRCH 3 /* No such process */ - #define EINTR 4 /* interrupted system call */ - #define EBADF 9 /* Bad file number */ - #define EAGAIN 11 /* Resource temporarily unavailable */ - #define EWOULDBLOCK EAGAIN /* Blocking resource request would block */ - #define ENOMEM 12 /* Not enough core */ - #define EACCES 13 /* Permission denied */ - #define EEXIST 17 /* File exists */ - #define ENOSPC 28 /* No space left on device */ - #define EPIPE 32 /* Broken pipe */ - #define ETIME 62 /* timer expired */ - #define ENAMETOOLONG 78 /* path name is too long */ - #define ENOSYS 89 /* Unsupported file system operation */ - #define EADDRINUSE 125 /* Address already in use */ - #define ENETUNREACH 128 /* Network is unreachable */ - #define EISCONN 133 /* Socket is already connected */ - #define ESHUTDOWN 143 /* Can't send after socket shutdown */ - #define ECONNREFUSED 146 /* Connection refused */ - #define EINPROGRESS 150 /* operation now in progress */ - #define ERRMAX 151 /* Last error number */ - - #define TCP_ - #if ! defined (BUFSIZ) - #define BUFSIZ 1024 - #endif /* ! defined (BUFSIZ) */ - - - #else - - #include /* pRPC+ Remote Procedure Call Library calls */ - #include /* pHILE+ file system calls */ - - - #endif /* defined (ACE_PSOSIM) */ - - - - -// For general purpose portability - -// Use pSOS semaphores, wrapped . . . -typedef struct -{ - u_long sema_; - // Semaphore handle. This is allocated by pSOS. - - char name_[4]; - // Name of the semaphore: really a 32 bit number to pSOS -} ACE_sema_t; - -// Used for ACE_MMAP_Memory_Pool -#if !defined (ACE_DEFAULT_BACKING_STORE) -#define ACE_DEFAULT_BACKING_STORE "/tmp/ace-malloc-XXXXXX" -#endif /* ACE_DEFAULT_BACKING_STORE */ - -// Used for logging -#if !defined (ACE_DEFAULT_LOGFILE) -#define ACE_DEFAULT_LOGFILE "/tmp/logfile" -#endif /* ACE_DEFAULT_LOGFILE */ - -// Used for dynamic linking. -#if !defined (ACE_DEFAULT_SVC_CONF) -#define ACE_DEFAULT_SVC_CONF "./svc.conf" -#endif /* ACE_DEFAULT_SVC_CONF */ - -#if !defined (ACE_DEFAULT_SEM_KEY) -#define ACE_DEFAULT_SEM_KEY "ACE_SEM_KEY" -#endif /* ACE_DEFAULT_SEM_KEY */ - -#define ACE_STDIN 0 -#define ACE_STDOUT 1 -#define ACE_STDERR 2 - -#define ACE_DIRECTORY_SEPARATOR_STR_A "/" -#define ACE_DIRECTORY_SEPARATOR_CHAR_A '/' - -#define ACE_DLL_SUFFIX ".so" -#define ACE_DLL_PREFIX "lib" -#define ACE_LD_SEARCH_PATH "LD_LIBRARY_PATH" -#define ACE_LD_SEARCH_PATH_SEPARATOR_STR ":" -#define ACE_LOGGER_KEY "/tmp/server_daemon" - -#define ACE_PLATFORM_A "pSOS" -#define ACE_PLATFORM_EXE_SUFFIX_A "" - -#if defined (ACE_HAS_UNICODE) -#define ACE_DIRECTORY_SEPARATOR_STR_W L"/" -#define ACE_DIRECTORY_SEPARATOR_CHAR_W L'/' -#define ACE_PLATFORM_W L"pSOS" -#define ACE_PLATFORM_EXE_SUFFIX_W L"" -#else -#define ACE_DIRECTORY_SEPARATOR_STR_W "/" -#define ACE_DIRECTORY_SEPARATOR_CHAR_W '/' -#define ACE_PLATFORM_W "pSOS" -#define ACE_PLATFORM_EXE_SUFFIX_W "" -#endif /* ACE_HAS_UNICODE */ - - -#define ACE_MAX_DEFAULT_PORT 65535 - -#if ! defined(MAXPATHLEN) -#define MAXPATHLEN 1024 -#endif /* MAXPATHLEN */ - -#if ! defined(MAXNAMLEN) -#define MAXNAMLEN 255 -#endif /* MAXNAMLEN */ - -#if ! defined(MAXHOSTNAMELEN) -#define MAXHOSTNAMELEN 256 -#endif /* MAXHOSTNAMELEN */ - -#if defined (ACE_LACKS_MMAP) -#define PROT_READ 0 -#define PROT_WRITE 0 -#define PROT_EXEC 0 -#define PROT_NONE 0 -#define PROT_RDWR 0 -#define MAP_PRIVATE 0 -#define MAP_SHARED 0 -#define MAP_FIXED 0 -#endif /* ACE_LACKS_MMAP */ - -// The following 3 defines are used by the ACE Name Server... -#if !defined (ACE_DEFAULT_NAMESPACE_DIR_A) -#define ACE_DEFAULT_NAMESPACE_DIR_A "/tmp" -#endif /* ACE_DEFAULT_NAMESPACE_DIR_A */ - -#if !defined (ACE_DEFAULT_LOCALNAME_A) -#define ACE_DEFAULT_LOCALNAME_A "/localnames" -#endif /* ACE_DEFAULT_LOCALNAME_A */ - -#if !defined (ACE_DEFAULT_GLOBALNAME_A) -#define ACE_DEFAULT_GLOBALNAME_A "/globalnames" -#endif /* ACE_DEFAULT_GLOBALNAME_A */ - -#if defined (ACE_HAS_UNICODE) -#if !defined (ACE_DEFAULT_NAMESPACE_DIR_W) -#define ACE_DEFAULT_NAMESPACE_DIR_W L"/tmp" -#endif /* ACE_DEFAULT_NAMESPACE_DIR_W */ -#if !defined (ACE_DEFAULT_LOCALNAME_W) -#define ACE_DEFAULT_LOCALNAME_W L"/localnames" -#endif /* ACE_DEFAULT_LOCALNAME_W */ -#if !defined (ACE_DEFAULT_GLOBALNAME_W) -#define ACE_DEFAULT_GLOBALNAME_W L"/globalnames" -#endif /* ACE_DEFAULT_GLOBALNAME_W */ -#else -#if !defined (ACE_DEFAULT_NAMESPACE_DIR_W) -#define ACE_DEFAULT_NAMESPACE_DIR_W "/tmp" -#endif /* ACE_DEFAULT_NAMESPACE_DIR_W */ -#if !defined (ACE_DEFAULT_LOCALNAME_W) -#define ACE_DEFAULT_LOCALNAME_W "/localnames" -#endif /* ACE_DEFAULT_LOCALNAME_W */ -#if !defined (ACE_DEFAULT_GLOBALNAME_W) -#define ACE_DEFAULT_GLOBALNAME_W "/globalnames" -#endif /* ACE_DEFAULT_GLOBALNAME_W */ -#endif /* ACE_HAS_UNICODE */ - -#if !defined (__TEXT) -#if (defined (ACE_HAS_UNICODE) && (defined (UNICODE))) -#define __TEXT(STRING) L##STRING -#else -#define __TEXT(STRING) STRING -#endif /* UNICODE && ACE_HAS_UNICODE */ -#endif /* !defined __TEXT */ - -typedef int ACE_HANDLE; -typedef ACE_HANDLE ACE_SOCKET; -#define ACE_INVALID_HANDLE -1 - -typedef ACE_HANDLE ACE_SHLIB_HANDLE; -const int ACE_DEFAULT_SHLIB_MODE = 0; - -#define ACE_INVALID_SEM_KEY -1 - -struct hostent { - char *h_name; /* official name of host */ - char **h_aliases; /* alias list */ - int h_addrtype; /* host address type */ - int h_length; /* address length */ - char **h_addr_list; /* (first, only) address from name server */ -#define h_addr h_addr_list[0] /* the first address */ -}; - -struct servent { - char *s_name; /* official service name */ - char **s_aliases; /* alias list */ - int s_port; /* port # */ - char *s_proto; /* protocol to use */ -}; - -// For Win32 compatibility. - -typedef const char *LPCTSTR; -typedef char *LPTSTR; -typedef char TCHAR; - -#define ACE_SEH_TRY if (1) -#define ACE_SEH_EXCEPT(X) while (0) -#define ACE_SEH_FINALLY if (1) - -#if !defined (LPSECURITY_ATTRIBUTES) -#define LPSECURITY_ATTRIBUTES int -#endif /* !defined LPSECURITY_ATTRIBUTES */ -#if !defined (GENERIC_READ) -#define GENERIC_READ 0 -#endif /* !defined GENERIC_READ */ -#if !defined (FILE_SHARE_READ) -#define FILE_SHARE_READ 0 -#endif /* !defined FILE_SHARE_READ */ -#if !defined (OPEN_EXISTING) -#define OPEN_EXISTING 0 -#endif /* !defined OPEN_EXISTING */ -#if !defined (FILE_ATTRIBUTE_NORMAL) -#define FILE_ATTRIBUTE_NORMAL 0 -#endif /* !defined FILE_ATTRIBUTE_NORMAL */ -#if !defined (MAXIMUM_WAIT_OBJECTS) -#define MAXIMUM_WAIT_OBJECTS 0 -#endif /* !defined MAXIMUM_WAIT_OBJECTS */ -#if !defined (FILE_FLAG_OVERLAPPED) -#define FILE_FLAG_OVERLAPPED 0 -#endif /* !defined FILE_FLAG_OVERLAPPED */ - -struct ACE_OVERLAPPED -{ - u_long Internal; - u_long InternalHigh; - u_long Offset; - u_long OffsetHigh; - ACE_HANDLE hEvent; -}; - -// Use pSOS time, wrapped . . . -class ACE_PSOS_Time_t -{ -public: - - ACE_PSOS_Time_t (); - // default ctor: date, time, and ticks all zeroed - - ACE_PSOS_Time_t (const timespec_t& t); - // ctor from a timespec_t - - operator timespec_t (); - // type cast operator (to a timespec_t) - - static u_long get_system_time (ACE_PSOS_Time_t& t); - // static member function to get current system time - - static u_long set_system_time (const ACE_PSOS_Time_t& t); - // static member function to set current system time - -#if defined (ACE_PSOSIM) - - static u_long init_simulator_time (); - // static member function to initialize system time, using UNIX calls - -#endif /* ACE_PSOSIM */ - - static const u_long max_ticks; - // max number of ticks supported in a single system call - -private: - - // constants for prying info out of the pSOS time encoding - static const u_long year_mask; - static const u_long month_mask; - static const u_long day_mask; - static const u_long hour_mask; - static const u_long minute_mask; - static const u_long second_mask; - static const int year_shift; - static const int month_shift; - static const int hour_shift; - static const int minute_shift; - static const int year_origin; - static const int month_origin; - - // error codes - static const u_long err_notime; // system time not set - static const u_long err_illdate; // date out of range - static const u_long err_illtime; // time out of range - static const u_long err_illticks; // ticks out of range - - u_long date_; - // date : year in bits 31-16, month in bits 15-8, day in bits 7-0 - - u_long time_; - // time : hour in bits 31-16, minutes in bits 15-8, seconds in bits 7-0 - - u_long ticks_; - // ticks: number of system clock ticks (KC_TICKS2SEC-1 max) -} ; - -#endif /* defined (ACE_PSOS) */ - - - -#if defined (ACE_HAS_CHARPTR_SPRINTF) -#define ACE_SPRINTF_ADAPTER(X) ::strlen (X) -#else -#define ACE_SPRINTF_ADAPTER(X) X -#endif /* ACE_HAS_CHARPTR_SPRINTF */ - -#if defined (__ACE_INLINE__) -#define ACE_INLINE inline -#if !defined (ACE_HAS_INLINED_OSCALLS) -#define ACE_HAS_INLINED_OSCALLS -#endif /* !ACE_HAS_INLINED_OSCALLS */ -#else -#define ACE_INLINE -#endif /* __ACE_INLINE__ */ - -// Default address for shared memory mapped files and SYSV shared memory -// (defaults to 64 M). -#if !defined (ACE_DEFAULT_BASE_ADDR) -#define ACE_DEFAULT_BASE_ADDR ((char *) (64 * 1024 * 1024)) -#endif /* ACE_DEFAULT_BASE_ADDR */ - -// This fudge factor can be overriden for timers that need it, such as on -// Solaris, by defining the ACE_TIMER_SKEW symbol in the appropriate config -// header. -#if !defined (ACE_TIMER_SKEW) -#define ACE_TIMER_SKEW 0 -#endif /* ACE_TIMER_SKEW */ - -// Nasty macro stuff to account for Microsoft Win32 DLL nonsense. We -// use these macros so that we don't end up with ACE software -// hard-coded to Microsoft proprietary extensions to C++. - -// First, we define how to properly export/import objects. -#if defined (ACE_WIN32) // Only Win32 needs special treatment. -# if !defined (_MSC_VER) /* Mark classes as exported, Borland. */ -# define ACE_Proper_Export_Flag _export -# define ACE_Proper_Import_Flag _import -// @@ Don't know how to handle this when using Borland's compilers. -# define ACE_EXPORT_SINGLETON_DECLARATION(T) -# define ACE_IMPORT_SINGLETON_DECLARATION(T) -# define ACE_PROPER_SINGLETON_INSTANTIATION(T) -# else /* Microsoft: */ -# define ACE_Proper_Export_Flag __declspec (dllexport) -# define ACE_Proper_Import_Flag __declspec (dllimport) -# define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T -# define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T -# define ACE_PROPER_SINGLETON_INSTANTIATION(T) template class T -# endif /* !_MSC_VER */ -#else /* ! ACE_WIN32 */ -# define ACE_Proper_Export_Flag -# define ACE_Proper_Import_Flag -# define ACE_EXPORT_SINGLETON_DECLARATION(T) -# define ACE_IMPORT_SINGLETON_DECLARATION(T) -# define ACE_PROPER_SINGLETONE_INSTANTIATION(T) -#endif /* ACE_WIN32 */ - -// Here are definition for ACE library. -#if defined (ACE_HAS_DLL) && (ACE_HAS_DLL == 1) -# if defined (ACE_BUILD_DLL) -# define ACE_Export ACE_Proper_Export_Flag -# define ACE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define ACE_SINGLETON_INSTANTIATION(T) ACE_PROPER_SINGLETON_INSTANTIATION (T) -# else -# define ACE_Export ACE_Proper_Import_Flag -# define ACE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define ACE_SINGLETON_INSTANTIATION(T) -# endif /* ACE_BUILD_DLL */ -#else /* ! ACE_HAS_DLL */ -# define ACE_Export -# define ACE_SINGLETON_DECLARATION(T) -# define ACE_SINGLETON_INSTANTIATION(T) -#endif /* ACE_HAS_DLL */ - -// Here are definition for ACE_Svc library. -#if defined (ACE_HAS_SVC_DLL) && (ACE_HAS_SVC_DLL == 1) -# if defined (ACE_BUILD_SVC_DLL) -# define ACE_Svc_Export ACE_Proper_Export_Flag -# define ACE_SVC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define ACE_SVC_SINGLETON_INSTANTIATION(T) ACE_PROPER_SINGLETON_INSTANTIATION (T) -# else -# define ACE_Svc_Export ACE_Proper_Import_Flag -# define ACE_SVC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define ACE_SVC_SINGLETON_INSTANTIATION(T) -# endif /* ACE_BUILD_SVC_DLL */ -#else /* ACE_HAS_SVC_DLL */ -# define ACE_Svc_Export -# define ACE_SVC_SINGLETON_DECLARATION(T) -# define ACE_SVC_SINGLETON_INSTANTIATION(T) -#endif /* ACE_HAS_SVC_DLL */ - -// This is a whim of mine -- that instead of annotating a class with -// ACE_Export in its declaration, we make the declaration near the TOP -// of the file with ACE_DECLARE_EXPORT. -#define ACE_DECLARE_EXPORT(TS,ID) TS ACE_Export ID -// TS = type specifier (e.g., class, struct, int, etc.) -// ID = identifier -// So, how do you use it? Most of the time, just use ... -// ACE_DECLARE_EXPORT(class, someobject); -// If there are global functions to be exported, then use ... -// ACE_DECLARE_EXPORT(void, globalfunction) (int, ...); -// Someday, when template libraries are supported, we made need ... -// ACE_DECLARE_EXPORT(template class, sometemplate) ; - -// This needs to go here *first* to avoid problems with AIX. -// Just to be safe we'll do it with pthreads, too -- jwr -#if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) -extern "C" { -#include /**/ -#if defined (DIGITAL_UNIX) -#define pthread_self __pthread_self -extern "C" pthread_t pthread_self (void); -#endif /* DIGITAL_UNIX */ -} -#endif /* ACE_HAS_DCETHREADS */ - -// There are a lot of threads-related macro definitions in the config files. -// They came in at different times and from different places and platform -// requirements as threads evolved. They are probably not all needed - some -// overlap or are otherwise confused. This is an attempt to start -// straightening them out. -#if defined (ACE_HAS_PTHREADS_1003_DOT_1C) /* POSIX.1C threads (pthreads) */ - // POSIX.1C threads implies pthread_sigmask() -# if !defined (ACE_HAS_PTHREAD_SIGMASK) && !defined (__Lynx__) -# define ACE_HAS_PTHREAD_SIGMASK -# endif /* ! ACE_HAS_PTHREAD_SIGMASK && ! __Lynx__ */ - // ... and 2-parameter asctime_r and ctime_r -# ifndef ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R -# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R -# endif -#endif /* ACE_HAS_PTHREADS_1003_DOT_1C */ - -#if (ACE_NTRACE == 1) -#define ACE_TRACE(X) -#else -#define ACE_TRACE(X) ACE_Trace ____ (X, __LINE__, __FILE__) -#endif /* ACE_NTRACE */ - -#if !defined (ACE_HAS_WINCE) -#include /**/ -#endif /* ACE_HAS_WINCE */ - -#if defined (ACE_NEEDS_SYSTIME_H) -// Some platforms may need to include this, but I suspect that most -// will get it from -#if defined (VXWORKS) -#include /**/ -#else -#include /**/ -#endif /* VXWORKS */ -#endif /* ACE_NEEDS_SYSTIME_H */ - -#if !defined (ACE_HAS_POSIX_TIME) -// Definition per POSIX. -typedef struct timespec -{ - time_t tv_sec; // Seconds - long tv_nsec; // Nanoseconds -} timespec_t; -#elif defined (ACE_HAS_BROKEN_POSIX_TIME) -// OSF/1 defines struct timespec in - Tom Marrs -#include /**/ -#endif /* !ACE_HAS_POSIX_TIME */ - -#if defined(ACE_LACKS_TIMESPEC_T) -typedef struct timespec timespec_t; -#endif /* ACE_LACKS_TIMESPEC_T */ - -#if !defined (ACE_HAS_CLOCK_GETTIME) && !defined (_CLOCKID_T) -typedef int clockid_t; -#if !defined (CLOCK_REALTIME) -#define CLOCK_REALTIME 0 -#endif /* CLOCK_REALTIME */ -#endif /* ! ACE_HAS_CLOCK_GETTIME && ! _CLOCKID_T */ - -class ACE_Export ACE_Time_Value -{ - // = TITLE - // Operations on "timeval" structures. - // - // = DESCRIPTION - // This class centralizes all the time-related processing in - // ACE. These timers are typically used in conjunction with - // lower-level OS mechanisms like - - -
    -
    -

    Move Results Directory to:

    - - -
    -EOF - ; - -html_end(); - -# end diff --git a/apps/JAWS/clients/WebSTONE/bin/WebStone-run.pl b/apps/JAWS/clients/WebSTONE/bin/WebStone-run.pl deleted file mode 100755 index 716cebfa602..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/WebStone-run.pl +++ /dev/null @@ -1,37 +0,0 @@ -#!/pkg/gnu/bin//perl5 -# - -$testbed = "conf/testbed"; - -push(@INC, "$wd/bin"); -require('WebStone-common.pl'); - -html_begin("Run"); - -print CLIENT <
    Edit Configuration -
    -EOF - ; - -&show_model(); -print CLIENT "
    ";
    -
    -open(FILEHANDLE, $testbed);
    -while () {
    -    (/^\#/) || print CLIENT $_;
    -}
    -close(FILEHANDLE);
    -
    -print CLIENT <
    -
    -
    - -
    -EOF - ; - -html_end(); - -# end diff --git a/apps/JAWS/clients/WebSTONE/bin/WebStone-setup.pl b/apps/JAWS/clients/WebSTONE/bin/WebStone-setup.pl deleted file mode 100755 index 107e1d94890..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/WebStone-setup.pl +++ /dev/null @@ -1,95 +0,0 @@ -#!/pkg/gnu/bin//perl5 -# - -push(@INC, "$wd/bin"); -require('WebStone-common.pl'); - -@keylist = (); - -html_begin("Setup"); - -show_model(); - -print CLIENT < -EOF - ; - -&gettestbed(); -&getconfig(); - -print CLIENT < -

    - - -


    -
    -

    Choose a Web site model:

    -
    -EOF - ; - -for $key (sort(keys %filelist)) { - print CLIENT "
    $key: $filelist{$key}"; -} - -print CLIENT < - - -EOF - ; - -html_end(); - -# end of main program - -sub gettestbed { - open(TESTBED, "$wd/conf/testbed"); - while () { - if (/^\#|^(\w)*$/) { # do nothing - } - else { - ( $textvalue, $thevalue ) = split( '=', $_ ); - ( $thevalue ) = split( '#', $thevalue); - $testbed{$textvalue} = $thevalue; - push(@keylist, $textvalue); - } - } - close(TESTBED); - - open(HELPFILE, "$wd/doc/testbed.help"); - while () { - ( $key, $textvalue ) = split( ':', $_ ); - $helptext{$key} = $textvalue; - } - close(HELPFILE); - - foreach $key (@keylist) { - print CLIENT "

    $helptext{$key}"; - $thesize = length($testbed{$key}) + 5; - print CLIENT "
    $key \n"; - } -} - -sub getconfig { - opendir(CONF, "$wd/conf") || die "open $wd/conf: $!"; - %filelist = ""; - foreach $file (sort readdir(CONF)) { - if ( $file =~ /^filelist.*/ ) { - $headtext = `head -1 $wd/conf/$file`; - $headtext =~ s/\#//; - ( $headtext ) = split(':', $headtext); - $filelist{$file} = $headtext; - } - } - closedir(CONF); -} - -# end diff --git a/apps/JAWS/clients/WebSTONE/bin/checkfilelist b/apps/JAWS/clients/WebSTONE/bin/checkfilelist deleted file mode 100755 index 4cc2d11c49e..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/checkfilelist +++ /dev/null @@ -1,35 +0,0 @@ -#! /bin/sh - -# -# NAME -# checkfilelist - try retrieving files from server -# -# SYNOPSIS -# checkfilelist servername portno filelist -# -# - -if test "$#" -lt 3 ; then - echo "usage: $0 servername portno filelist" - exit 2 -fi - -HOSTNAME=$1 ; export HOSTNAME -PORTNO=$2 ; export PORTNO -FILELIST=$3 ; export FILELIST - -grep '^/' $FILELIST | cut -f1 | -( -while read URL -do - export URL - echo ">>>>> $URL" - ( - telnet $HOSTNAME $PORTNO << _EOF_ -GET $URL HTTP/1.0 - -_EOF_ - ) 2> /dev/null | head -5 | grep 'HTTP/1.0' - killall telnet -done -) diff --git a/apps/JAWS/clients/WebSTONE/bin/genfiles b/apps/JAWS/clients/WebSTONE/bin/genfiles deleted file mode 100755 index d5f06aee6df..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/genfiles +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/sh -# - -# get configuration -. $WEBSTONEROOT/conf/testbed - -cat $WEBSTONEROOT/conf/fileset | -nawk ' -($1 ~ /^[0-9][0-9]*[kK][bB]*$/) { - sub(/[kK][bB]*/, "", $1); - cmd = "$WEBSTONEROOT/bin/genrand " $1*1024 " " $2 - print cmd; - system(cmd); - next -} - -($1 ~ /^[0-9][0-9]*[mM][bB]*$/) { - sub(/[kK][bB]*/, "", $1); - cmd = "$WEBSTONEROOT/bin/genrand " $1*1024*1024 " " $2 - print cmd; - system(cmd); - next -} - -($1 ~ /^[0-9][0-9]*$/) { - sub(/[kK][bB]*/, "", $1); - cmd = "$WEBSTONEROOT/bin/genrand " $1 " " $2 - print cmd; - system(cmd); - next -} ' $* - -# copy files -files=`cat $WEBSTONEROOT/conf/fileset | cut -f2 -d' '` -for f in $files -do - $RCP $f $SERVER:$WEBDOCDIR - rm -f $f -done - -#end diff --git a/apps/JAWS/clients/WebSTONE/bin/genfiles-from-filelist.sh b/apps/JAWS/clients/WebSTONE/bin/genfiles-from-filelist.sh deleted file mode 100755 index 1293709238c..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/genfiles-from-filelist.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# - -# get configuration -[ -n "$WEBSTONEROOT" ] || WEBSTONEROOT=`pwd`/.. -. $WEBSTONEROOT/conf/testbed - -case $# in - 1) - FILELIST=$1 - ;; - *) - FILELIST=$WEBSTONEROOT/conf/filelist - ;; -esac - -TIMESTAMP=`date +"%y%m%d_%H%M"` -mkdir $TMPDIR/webstone-genfiles.$TIMESTAMP -cd $TMPDIR/webstone-genfiles.$TIMESTAMP - -cat $FILELIST | -nawk ' -($3 ~ /^\#[0-9]*/) { - sub(/^\#/, "", $3); - cmd = WEBSTONEROOT "/bin/genrand " $3 " ."$1 - print cmd; - system(cmd); - cmd = RCP " ." $1 " " SERVER ":" WEBDOCDIR - print cmd; - system(cmd); - cmd = "rm -f ." $1 - print cmd; - system(cmd); - next -} -' $* WEBSTONEROOT=$WEBSTONEROOT RCP=$RCP SERVER=$SERVER WEBDOCDIR=$WEBDOCDIR - -cd $TMPDIR -rm -rf $TMPDIR/webstone-genfiles.$TIMESTAMP - -#end diff --git a/apps/JAWS/clients/WebSTONE/bin/gui-configure b/apps/JAWS/clients/WebSTONE/bin/gui-configure deleted file mode 100755 index dcea4e3fe1c..00000000000 --- a/apps/JAWS/clients/WebSTONE/bin/gui-configure +++ /dev/null @@ -1,174 +0,0 @@ -#!/bin/sh -- because we're not sure where perl is yet -# - -'true' || eval 'exec perl -S $0 $argv:q'; -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' -& eval 'exec /usr/local/bin/perl -S $0 $argv:q' - if 0; - -# Usage: [perl] configure [file] -# -# This replaces the program paths (e.g. /bin/awk) with an -# alternate path that is found in the file "file.paths". It also finds -# perl5 and changes the path in all the stand-alone perl programs. -# - -$debug = 0; - -# -# Target shell scripts in question: -@shell_scripts=("conf/paths.pl", "conf/paths.sh"); -@perl5_src = < bin/webstone-gui.pl bin/WebStone-common.pl bin/killbench.pl bin/view-results.pl bin/WebStone-manage.pl bin/move-filelist.pl bin/write-testbed.pl bin/WebStone-run.pl bin/move-runs.pl bin/WebStone-setup.pl bin/runbench.pl >; -@perl_src = < bin/wscollect.pl bin/mine-logs.pl >; -@benchmark_dir_src = < webstone bin/killbench bin/runbench >; - -# all the HTML browsers we know about, IN ORDER OF PREFERENCE! -@all_www= ("netscape", "Mosaic", "xmosaic", "lynx"); - -# -# Potential directories to find commands; first, find the user's path... -$PATH = $ENV{"PATH"}; - -# additional dirs; *COLON* separated! -$other_dirs="/usr/ccs/bin:/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/ucb/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/bin/X11:/usr/X11/bin:/usr/openwin/bin"; - -# -# split into a more reasonable format. Personal aliases come last. -@all_dirs = split(/:/, $other_dirs . ":" . $PATH); - -print "checking to make sure all the target(s) are here...\n"; - -for (@shell_scripts) { - die "ERROR -- $_ not found!\n" unless -f $_; - } - -# find perl -print "Trying to find perl...\n"; -for $dir (@all_dirs) { - # first, find where it might be - next if (! -d $dir); - while (<$dir/perl*>) { - if (-x $_) { - $perl_version=`($_ -v 2> /dev/null) | - awk '/This is perl/ { print $NF }'`; - if ($perl_version) { - $PERL=$_; - $pflag="1"; - last; - } - } - last if $pflag; - } - last if $pflag; - } - -if ($PERL) { - print "\nPerl is in $PERL\n"; - for (@perl_src) { $perl_src .= "$_ "; } - print "\nchanging the source in: $perl_src\n"; - system "$PERL -pi -e \"s@^#!.*/perl.*@#!$PERL@;\" $perl_src"; - - # make sure things are executable... - system("chmod u+x $perl_src"); -} -else -{ - printf "\nSome WebStone functions require Perl\n" unless $PERL; -} -# end if $PERL - -# find perl5 -$pflag = 0; -print "Trying to find perl5...\n"; -for $dir (@all_dirs) { - # first, find where it might be; oftentimes you'll see perl, - # perl4, perl5, etc. in the same dir - next if (! -d $dir); - while (<$dir/perl5* $dir/perl*>) { - if (-x $_) { - $perl_version=`($_ -v 2> /dev/null) | - awk '/This is perl, version 5/ { print $NF }'`; - if ($perl_version) { - $PERL5=$_; - $pflag="1"; - last; - } - } - last if $pflag; - } - last if $pflag; -} - -if ($PERL5) { - print "\nPerl5 is in $PERL5\n"; - - for (@perl5_src) { $perl5_src .= "$_ "; } - print "\nchanging the source in: $perl5_src\n"; - system "$PERL5 -pi -e \"s@^#!.*/perl.*@#!$PERL5@;\" $perl5_src"; - system("chmod u+x $perl5_src"); -} -else -{ - printf "\nThe WebStone GUI requires Perl5\n" unless $PERL5; -} -#end if $PERL5 - -# find the most preferred www viewer first. -for $www (@all_www) { - for $dir (@all_dirs) { - if (!$MOSAIC) { - if (-x "$dir/$www") { - $MOSAIC="$dir/$www"; - next; - } - } - } - } -if ($MOSAIC) { - print "\nHTML/WWW Browser is $MOSAIC\n"; - - $upper{"MOSAIC"} = $MOSAIC; - } -else { print "Cannot find a web browser! WebStone cannot be run except in CLI"; } - -print "\nOk, now doing substitutions on the shell scripts...\n"; -for $shell (@shell_scripts) { - print "Changing paths in $shell...\n"; - die "Can't open $shell\n" unless open(SCRIPT, $shell); - rename($shell, $shell . '.old'); - die "Can't open $shell\n" unless open(OUT, ">$shell"); - - # - # Open up the script, search for lines beginning with - # stuff like "TEST", "AWK", etc. If the file ends in "pl", - # assume it's a perl script and change it accordingly - while (