From: Andrew G. <ag...@us...> - 2002-07-13 07:26:00
|
Update of /cvsroot/zoolib/zoolib/src/platform/macos In directory usw-pr-cvs1:/tmp/cvs-serv26830 Modified Files: ZNet_Internet_MacClassic.cpp ZNet_Internet_MacClassic.h ZNet_Internet_MacOT.cpp ZNet_Internet_MacOT.h Log Message: A little closer to haveing name lookup working on OT/MacOSX. And to reworking the ancient networking code in the new mould. Index: ZNet_Internet_MacClassic.cpp =================================================================== RCS file: /cvsroot/zoolib/zoolib/src/platform/macos/ZNet_Internet_MacClassic.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ZNet_Internet_MacClassic.cpp 18 May 2002 01:04:55 -0000 1.4 --- ZNet_Internet_MacClassic.cpp 13 Jul 2002 07:25:57 -0000 1.5 *************** *** 390,394 **** } ! ZNetEndpoint* ZNetListener_TCP_MacClassic::Listen() { ZMutexLocker listenLocker(fListenMutex); --- 390,394 ---- } ! ZRef<ZNetEndpoint> ZNetListener_TCP_MacClassic::Listen() { ZMutexLocker listenLocker(fListenMutex); *************** *** 399,403 **** return nil; ! ZNetEndpoint_TCP_MacClassic* theEndpoint = nil; ZMutexLocker accessLocker(fAccessMutex); --- 399,403 ---- return nil; ! ZRef<ZNetEndpoint> theEndpoint; ZMutexLocker accessLocker(fAccessMutex); *************** *** 541,545 **** } ! ZNetEndpoint_TCP_MacClassic::ZNetEndpoint_TCP_MacClassic(size_t inInternalBufferSize) : fBuffer(nil), fStreamPtr(nil) { --- 541,545 ---- } ! ZNetEndpoint_TCP_MacClassic::ZNetEndpoint_TCP_MacClassic(ip_addr iRemoteHost, ip_port iRemotePort) : fBuffer(nil), fStreamPtr(nil) { *************** *** 567,574 **** --- 567,604 ---- throw ZNetEx(ZNet_Internet_MacClassic::sTranslateError(err)); fStreamPtr = paramBlock.fParamBlock.tcpStream; + + paramBlock.fParamBlock.tcpStream = fStreamPtr; + paramBlock.fParamBlock.ioCRefNum = theMacTCPRefNum; + paramBlock.fParamBlock.csParam.open.ulpTimeoutValue = 0; + paramBlock.fParamBlock.csParam.open.ulpTimeoutAction = 0; + paramBlock.fParamBlock.csParam.open.validityFlags = 0; + paramBlock.fParamBlock.csParam.open.commandTimeoutValue = 0; + paramBlock.fParamBlock.csParam.open.remoteHost = iRemoteHost; + paramBlock.fParamBlock.csParam.open.remotePort = iRemotePort; + paramBlock.fParamBlock.csParam.open.localHost = 0; + paramBlock.fParamBlock.csParam.open.localPort = 0; // We don't care which local port we're using + paramBlock.fParamBlock.csParam.open.tosFlags = 0; + paramBlock.fParamBlock.csParam.open.precedence = 0; + paramBlock.fParamBlock.csParam.open.dontFrag = false; + paramBlock.fParamBlock.csParam.open.timeToLive = 0; + paramBlock.fParamBlock.csParam.open.security = 0; + paramBlock.fParamBlock.csParam.open.optionCnt = 0; + paramBlock.fParamBlock.csParam.open.userDataPtr = nil; + paramBlock.fParamBlock.csCode = TCPActiveOpen; + err = ZThreadTM_PBControlAndBlock(¶mBlock); + throw ZNetEx(ZNet_Internet_MacClassic::sTranslateError(err)); } catch (...) { delete[] fBuffer; + if (fStreamPtr) + { + Threaded_TCPiopb paramBlock; + paramBlock.fParamBlock.tcpStream = fStreamPtr; + paramBlock.fParamBlock.ioCRefNum = theMacTCPRefNum; + paramBlock.fParamBlock.csCode = TCPRelease; + // Ignore the error (what else can we do?) + err = ZThreadTM_PBControlAndBlock(¶mBlock); + } throw; } *************** *** 577,581 **** ZNetEndpoint_TCP_MacClassic::~ZNetEndpoint_TCP_MacClassic() { ! if (fStreamPtr != nil) { short theMacTCPRefNum; --- 607,611 ---- ZNetEndpoint_TCP_MacClassic::~ZNetEndpoint_TCP_MacClassic() { ! if (fStreamPtr) { short theMacTCPRefNum; *************** *** 586,590 **** paramBlock.fParamBlock.ioCRefNum = theMacTCPRefNum; paramBlock.fParamBlock.csCode = TCPRelease; ! // Ignore the error (what else can we do?) err = ZThreadTM_PBControlAndBlock(¶mBlock); } --- 616,620 ---- paramBlock.fParamBlock.ioCRefNum = theMacTCPRefNum; paramBlock.fParamBlock.csCode = TCPRelease; ! // Ignore the error (what else can we do?) err = ZThreadTM_PBControlAndBlock(¶mBlock); } *************** *** 646,677 **** err = ZThreadTM_PBControlAndBlock(¶mBlock); outCount = paramBlock.fParamBlock.csParam.status.amtUnreadData; - return ZNet_Internet_MacClassic::sTranslateError(err); - } - - ZNet::Error ZNetEndpoint_TCP_MacClassic::Connect(ip_addr inRemoteAddress, ip_port inRemotePort) - { - short theMacTCPRefNum; - OSErr err = ZNet_Internet_MacClassic::sGetTCPRefNum(theMacTCPRefNum); - - Threaded_TCPiopb paramBlock; - paramBlock.fParamBlock.tcpStream = fStreamPtr; - paramBlock.fParamBlock.ioCRefNum = theMacTCPRefNum; - paramBlock.fParamBlock.csParam.open.ulpTimeoutValue = 0; - paramBlock.fParamBlock.csParam.open.ulpTimeoutAction = 0; - paramBlock.fParamBlock.csParam.open.validityFlags = 0; - paramBlock.fParamBlock.csParam.open.commandTimeoutValue = 0; - paramBlock.fParamBlock.csParam.open.remoteHost = inRemoteAddress; - paramBlock.fParamBlock.csParam.open.remotePort = inRemotePort; - paramBlock.fParamBlock.csParam.open.localHost = 0; - paramBlock.fParamBlock.csParam.open.localPort = 0; // We don't care which local port we're using - paramBlock.fParamBlock.csParam.open.tosFlags = 0; - paramBlock.fParamBlock.csParam.open.precedence = 0; - paramBlock.fParamBlock.csParam.open.dontFrag = false; - paramBlock.fParamBlock.csParam.open.timeToLive = 0; - paramBlock.fParamBlock.csParam.open.security = 0; - paramBlock.fParamBlock.csParam.open.optionCnt = 0; - paramBlock.fParamBlock.csParam.open.userDataPtr = nil; - paramBlock.fParamBlock.csCode = TCPActiveOpen; - err = ZThreadTM_PBControlAndBlock(¶mBlock); return ZNet_Internet_MacClassic::sTranslateError(err); } --- 676,679 ---- Index: ZNet_Internet_MacClassic.h =================================================================== RCS file: /cvsroot/zoolib/zoolib/src/platform/macos/ZNet_Internet_MacClassic.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ZNet_Internet_MacClassic.h 12 Jul 2002 01:46:09 -0000 1.5 --- ZNet_Internet_MacClassic.h 13 Jul 2002 07:25:57 -0000 1.6 *************** *** 42,46 **** #pragma mark * ZNet_Internet_MacClassic ! // ZNet_Internet_MacClassic is a holder for process-wide utilities and information regarding classic (MacTCP) internet stuff class ZNet_Internet_MacClassic --- 42,46 ---- #pragma mark * ZNet_Internet_MacClassic ! //! ZNet_Internet_MacClassic is a holder for process-wide utilities and information regarding classic (MacTCP) internet stuff class ZNet_Internet_MacClassic *************** *** 145,149 **** private: friend class ZNetListener_TCP_MacClassic; ! ZNetEndpoint_TCP_MacClassic(const ZNetListener_TCP_MacClassic::MacTCPControlBlock& iControlBlock); public: --- 145,149 ---- private: friend class ZNetListener_TCP_MacClassic; ! ZNetEndpoint_TCP_MacClassic(ZNetListener_TCP_MacClassic::MacTCPControlBlock* iControlBlock); public: Index: ZNet_Internet_MacOT.cpp =================================================================== RCS file: /cvsroot/zoolib/zoolib/src/platform/macos/ZNet_Internet_MacOT.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ZNet_Internet_MacOT.cpp 12 Jul 2002 01:46:09 -0000 1.7 --- ZNet_Internet_MacOT.cpp 13 Jul 2002 07:25:57 -0000 1.8 *************** *** 1077,1080 **** --- 1077,1082 ---- #pragma mark * ZNetListener_TCP_MacOT_OSX + #if ZCONFIG(OS, Carbon) + struct ListenerConstruct_t { *************** *** 1271,1278 **** --- 1273,1284 ---- } + #endif // ZCONFIG(OS, Carbon) + // ==================================================================================================== #pragma mark - #pragma mark * ZNetEndpoint_TCP_MacOT_OSX + #if ZCONFIG(OS, Carbon) + ZNetEndpoint_TCP_MacOT_OSX::ZNetEndpoint_TCP_MacOT_OSX(EndpointRef iEndpointRef, InetAddress& iRemoteInetAddress) { *************** *** 1583,1586 **** --- 1589,1594 ---- ZNetAddress* ZNetEndpoint_TCP_MacOT_OSX::GetRemoteAddress() { return new ZNetAddress_Internet(fRemoteHost, fRemotePort); } + + #endif // ZCONFIG(OS, Carbon) #endif // ZCONFIG(API_Net, MacOT) Index: ZNet_Internet_MacOT.h =================================================================== RCS file: /cvsroot/zoolib/zoolib/src/platform/macos/ZNet_Internet_MacOT.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ZNet_Internet_MacOT.h 12 Jul 2002 01:46:09 -0000 1.5 --- ZNet_Internet_MacOT.h 13 Jul 2002 07:25:57 -0000 1.6 *************** *** 227,241 **** }; - #if 0 // ==================================================================================================== #pragma mark - ! #pragma mark * ZNetNameLookup_Internet_MacOT ! class ZNetNameLookup_Internet_MacOT_Classic : public ZNetNameLookup, protected ZNet_Internet_MacOT { public: ! ZNetNameLookup_Internet_MacOT_Classic(const string& iName, ip_port iPort, size_t iMaxAddresses); ! virtual ~ZNetNameLookup_Internet_MacOT_Classic(); // From ZNetNameLookup --- 227,242 ---- }; // ==================================================================================================== #pragma mark - ! #pragma mark * ZNetNameLookup_Internet_MacOT_OSX ! #if ZCONFIG(OS, Carbon) ! ! class ZNetNameLookup_Internet_MacOT_OSX : public ZNetNameLookup, protected ZNet_Internet_MacOT { public: ! ZNetNameLookup_Internet_MacOT_OSX(const string& iName, ip_port iPort, size_t iMaxAddresses); ! virtual ~ZNetNameLookup_Internet_MacOT_OSX(); // From ZNetNameLookup *************** *** 249,252 **** --- 250,255 ---- void Internal_GrabNextResult(); + static void sMP_Lookup(void* iParam); + ZNetName_Internet fNetName; bool fStarted; *************** *** 256,260 **** InetHostInfo fInetHostInfo; }; ! #endif // ==================================================================================================== --- 259,264 ---- InetHostInfo fInetHostInfo; }; ! ! #endif // ZCONFIG(OS, Carbon) // ==================================================================================================== *************** *** 262,265 **** --- 266,271 ---- #pragma mark * ZNetListener_TCP_MacOT_OSX + #if ZCONFIG(OS, Carbon) + class ZNetListener_TCP_MacOT_OSX : public ZNetListener_TCP, private ZNet_Internet_MacOT *************** *** 282,289 **** --- 288,299 ---- }; + #endif // ZCONFIG(OS, Carbon) + // ==================================================================================================== #pragma mark - #pragma mark * ZNetEndpoint_TCP_MacOT_OSX + #if ZCONFIG(OS, Carbon) + class ZNetEndpoint_TCP_MacOT_OSX : private ZStreamR, private ZStreamW, *************** *** 337,342 **** }; ! #endif // ZCONFIG(API_Net, MacOT) // ==================================================================================================== #endif // __ZNet_Internet_MacOT__ --- 347,355 ---- }; ! #endif // ZCONFIG(OS, Carbon) ! // ==================================================================================================== + + #endif // ZCONFIG(API_Net, MacOT) #endif // __ZNet_Internet_MacOT__ |