@class GKTable, NSString, GKConnection, GKSession, GKVoiceChatSessionListener, GKList, GKAutoPeerIDTable; @protocol GKSessionDelegate, GKSessionDOOBReceiveHandler, GKSessionPrivateDelegate; @interface GKSessionInternal : NSObject { GKSession *_session; NSString *_displayName; unsigned int _pid; id _delegate; id _privateDelegate; id _dataReceiveHandler; void *_dataReceiveHandlerContext; id _doobReceiveHandler[2]; void *_doobReceiveHandlerContext[2]; GKTable *_peerInfoTable; GKTable *_peerNameTable; GKAutoPeerIDTable *_peerIDTable; GKList *_peersAvailable; GKList *_peersConnected; GKList *_peersForCleanup; GKList *_peersPendingIncomingInvitation; GKList *_peersPendingOutgoingInvitation; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _lock; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _delegateLock; BOOL _isSearching; BOOL _isPublishing; BOOL _sessionStarted; BOOL _isBusy; double disconnectTimeout; struct _DNSServiceRef_t { } *_dnsServiceConnection; struct _DNSServiceRef_t { } *_dnsServiceResolveConnection; int _sReset; struct _DNSServiceRef_t { } *_serviceBrowser; struct _DNSServiceRef_t { } *_service; struct _DNSServiceRef_t { } *_oldService; BOOL _handleEventsRunning; BOOL _stopHandlingEvents; BOOL _wifiEnabled; BOOL _shutdown; GKVoiceChatSessionListener *_voiceChatListener; } @property (nonatomic) struct OpaqueGCKSession { } *sessionRef; @property (nonatomic) struct OpaqueAGPSession { } *agpSessionRef; @property (copy, nonatomic) NSString *domain; @property (copy, nonatomic) NSString *serviceType; @property (nonatomic) unsigned long long maxPeers; @property (nonatomic) unsigned long long port; @property (readonly, retain) GKConnection *connection; @property (readonly, nonatomic) id dataReceiveHandler; @property id delegate; @property (readonly) NSString *sessionID; @property (readonly) NSString *displayName; @property (readonly) unsigned int sessionMode; @property (readonly) NSString *peerID; @property double disconnectTimeout; @property (getter=isAvailable) BOOL available; @property id privateDelegate; @property (getter=isBusy) BOOL busy; @property BOOL wifiEnabled; - (void)publish; - (void)reset; - (void)dealloc; - (void)lock; - (id)serviceName; - (void)unlock; - (id)description; - (BOOL)isShuttingDown; - (BOOL)acceptConnectionFromPeer:(id)a0 error:(id *)a1; - (void)cancelConnectToPeer:(id)a0; - (void)connectToPeer:(id)a0 withTimeout:(double)a1; - (void)denyConnectionFromPeer:(id)a0; - (void)disconnectFromAllPeers; - (void)disconnectPeerFromAllPeers:(id)a0; - (id)displayNameForPeer:(id)a0; - (id)initWithConnection:(id)a0 session:(id)a1 delegate:(id)a2; - (id)initWithSessionID:(id)a0 displayName:(id)a1 session:(id)a2 sessionMode:(unsigned int)a3; - (BOOL)isPeerBusy:(id)a0; - (id)peersWithConnectionState:(unsigned int)a0; - (BOOL)sendData:(id)a0 toPeers:(id)a1 withDataMode:(unsigned int)a2 error:(id *)a3; - (BOOL)sendDataToAllPeers:(id)a0 withDataMode:(unsigned int)a1 error:(id *)a2; - (void)setDataReceiveHandler:(id)a0 withContext:(void *)a1; - (id)stringForGCKID:(unsigned int)a0; - (void)tellDelegate_didDisconnectPeer:(id)a0; - (void)tellDelegate_peerDidBecomeBusy:(id)a0; - (void)browse; - (BOOL)checkDNSConnection; - (void)cleanupExAvailablePeers; - (void)didFindService:(const char *)a0 fromIF:(const char *)a1 withError:(int)a2 moreComing:(BOOL)a3; - (void)didLookupHostname:(struct _DNSServiceRef_t { } *)a0 forPeer:(id)a1 hostName:(const char *)a2 address:(const struct sockaddr_in { unsigned char x0; unsigned char x1; unsigned short x2; struct in_addr { unsigned int x0; } x3; char x4[8]; } *)a3 interface:(unsigned int)a4 withError:(int)a5 moreComing:(BOOL)a6; - (void)didPublishWithError:(int)a0; - (void)didRemoveService:(const char *)a0 fromIF:(const char *)a1 withError:(int)a2 moreComing:(BOOL)a3; - (void)didResolveService:(struct _DNSServiceRef_t { } *)a0 forPeer:(id)a1 hostName:(const char *)a2 port:(unsigned short)a3 interface:(unsigned int)a4 txtLen:(unsigned short)a5 txtRecord:(const void *)a6 withError:(int)a7 moreComing:(BOOL)a8; - (void)didUpdateTXTRecordForPeer:(id)a0 fromIF:(const char *)a1 txtLen:(unsigned short)a2 txtRecord:(const void *)a3 withError:(int)a4 moreComing:(BOOL)a5; - (BOOL)filterService:(const char *)a0 withPID:(unsigned int)a1; - (void)handleEvents; - (id)newNSErrorFromGKSessionError:(int)a0 description:(id)a1 reason:(id)a2; - (id)newNSErrorFromHRESULT:(int)a0 description:(id)a1 reason:(id)a2; - (BOOL)parseServiceName:(const char *)a0 intoDisplayName:(id *)a1 pid:(unsigned int *)a2 state:(id *)a3; - (BOOL)passesSendDataSanityCheck:(id)a0 toPeers:(id)a1 withDataMode:(unsigned int)a2 error:(id *)a3; - (void)printDictionaries; - (void)processTXTRecordForPeer:(id)a0 txtLen:(unsigned short)a1 txtRecord:(const void *)a2; - (void)receiveDOOB:(id)a0 fromPeer:(id)a1 inSession:(id)a2 context:(void *)a3; - (BOOL)sendAudioData:(id)a0 toPeers:(id)a1 withDataMode:(unsigned int)a2 error:(id *)a3; - (void)sendCallbacksToDelegate:(struct { int x0; char *x1; int x2; unsigned int x3; } *)a0 remotePeer:(unsigned int)a1; - (BOOL)sendData:(id)a0 toPeers:(id)a1 withDataMode:(unsigned int)a2 enableOOB:(BOOL)a3 error:(id *)a4; - (void)setDOOBReceiveHandler:(id)a0 withContext:(void *)a1 inBand:(unsigned int)a2; - (void)setDisplayName:(id)a0 forPeer:(unsigned int)a1; - (void)stopOldService; - (void)stopResolvingAllPeers; - (void)tellDelegate_connectionRequestToPeerFailed:(id)a0; - (void)tellDelegate_didConnectPeer:(id)a0; - (void)tellDelegate_didReceiveBand_RetryICE:(id)a0; - (void)tellDelegate_didReceiveData:(id)a0; - (void)tellDelegate_gotInvited:(id)a0; - (void)tellDelegate_initiateRelay:(id)a0; - (void)tellDelegate_isConnectingPeer:(id)a0; - (void)tellDelegate_networkStatisticsChanged:(id)a0; - (void)tellDelegate_peerDidBecomeAvailable:(id)a0; - (void)tellDelegate_peerDidBecomeUnavailable:(id)a0; - (void)tellDelegate_sessionDidFailWithError:(id)a0; - (void)tellDelegate_updateRelay:(id)a0; - (void)timeoutConnectToPeer:(id)a0; - (BOOL)tryConnectToPeer:(id)a0; - (id)voiceChatSessionListener; @end