Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
•OT_Classes/TNetworkSession.h
// TNetworkSession.h - Macintosh OpenTransport Network Session class object |
// |
// Apple Macintosh Developer Technical Support |
// Written by: Vinne Moscaritolo |
// |
// Copyright (work in progress) Apple Computer, Inc All rights reserved. |
// |
// You may incorporate this sample code into your applications without |
// restriction, though the sample code has been provided "AS IS" and the |
// responsibility for its operation is 100% yours. However, what you are |
// not permitted to do is to redistribute the source as "DSC Sample Code" |
// after having made changes. If you're going to re-distribute the source, |
// we require that you make it clear in the source that the code was |
// descended from Apple Sample Code, but that you've made changes. |
// |
#ifndef _H_TNetworkSession |
#define _H_TNetworkSession |
#include "TNetworkEventHandler.h" |
#include "TNetworkStream.h" |
#include "TThread.h" |
class TNetworkAcceptor; |
// Local Prototypes |
// |
// TNetworkSession - OpenTransport Network Session class |
// |
class TNetworkSession : public TLink, TNetworkEventHandler, public TThread |
{ |
// CONSTRUCTORS AND DESTRUCTORS |
public: |
TNetworkSession(TNetworkAcceptor*); |
virtual ~TNetworkSession(); |
// CALLBACKS |
protected: |
// virtual void* Run(); |
// ACCESSORS |
public: |
EndpointRef GetEndpoint() { return fEndPoint; }; |
TCall* GetCallInfo() { return &fCallInfo; }; |
TDiscon* GetDisconInfo() { return &fDisconInfo; }; |
TNetworkIOStream& GetStreamRef() { return fioStream; }; |
// FUNCTIONS FROM TThread |
private: |
void Done(); |
// FUNCTIONS FROM TNetworkEventHandler |
private: |
void HandleEvent(TNetworkEvent* ); |
// EVENT MANGEMENT FUNCTIONS |
private: |
void EventOpenComplete (TNetworkEvent* ); |
void EventPassCon (TNetworkEvent* ); |
void EventDisconnect (TNetworkEvent* ); |
void EventOrdRelease (TNetworkEvent* ); |
void EventDisconnectComplete(TNetworkEvent* ); |
void EventUnbindComplete (TNetworkEvent* ); |
void EventExDataAvail (TNetworkEvent* ); |
void EventMemoryReleased (TNetworkEvent* ); |
void EventOther (TNetworkEvent* ); // Debug event |
void EventDataAvail (TNetworkEvent* = nil); |
// OPEN TRANSPORT CALLBACK |
static pascal void NotifyProc (TNetworkSession* , OTEventCode , OTResult , void* ); |
// PROTECTED FIELDS |
protected: |
EndpointRef fEndPoint; // Endpoint ref |
TEndpointInfo fInfo; // Endpoint information |
TNetworkIOStream fioStream; |
TNetworkAcceptor* fServer; // back pointer to server info |
ThreadTaskRef fThreadTaskRef; // thread task ref |
TCall fCallInfo; |
TDiscon fDisconInfo; |
UInt8* fData; |
}; |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14