92 name().iIndex=1; |
92 name().iIndex=1; |
93 //this is somethig unheard of in OO environment that we cannot get hold of a simple object relations |
93 //this is somethig unheard of in OO environment that we cannot get hold of a simple object relations |
94 //forced to do this horrible stuff |
94 //forced to do this horrible stuff |
95 RSocket socket; |
95 RSocket socket; |
96 User::LeaveIfError(socket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp,iConnection)); |
96 User::LeaveIfError(socket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp,iConnection)); |
|
97 CleanupClosePushL( socket ); |
97 // make socket invisible for interface counting |
98 // make socket invisible for interface counting |
98 User::LeaveIfError(socket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0)); |
99 User::LeaveIfError(socket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0)); |
99 |
100 |
100 CleanupClosePushL( socket ); |
|
101 TPckgBuf<TSoInet6InterfaceInfo> info; |
101 TPckgBuf<TSoInet6InterfaceInfo> info; |
102 while ( err == KErrNotFound && iConnection.Control(KCOLProvider, KConnGetInterfaceName, name) == KErrNone ) |
102 while ( err == KErrNotFound && iConnection.Control(KCOLProvider, KConnGetInterfaceName, name) == KErrNone ) |
103 { |
103 { |
104 TSoInet6InterfaceInfo& q = info(); |
104 TSoInet6InterfaceInfo& q = info(); |
105 User::LeaveIfError(socket.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl, 0)); |
105 User::LeaveIfError(socket.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl, 0)); |