• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to get AirPort Connection Status
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to get AirPort Connection Status


  • Subject: Re: How to get AirPort Connection Status
  • From: Bob Clark <email@hidden>
  • Date: Thu, 18 Sep 2008 13:45:35 -0700

I found this page to be helpful:

http://developer.apple.com/qa/qa2001/qa1133.html

It's about the currently-logged in user, but the MyNotificationProc callback is called for a lot of changes, including IIRC the network connection transitions.

In the callback function you can do something like this:

    NSArray* arr = (NSArray*)changedKeys;
    NSLog(@"changed keys %@", [arr description]);

to sort of figure out what kinds of information you're getting.

--Bob


-- Bob Clark Lead Software Development Engineer RealPlayer Mac/Unix RealNetworks, Inc.


On Sep 17, 2008, at 9:50 PM, Rashmi Vyshnavi wrote:

I want to know when my computer connects/disconnects to WiFi/AirPort
network.
Is there a way to get the status of connection to a WiFi network. I tried
using System Configuration API,but I could not get the status. Here is the
snippet
--
static void MyNetworkConnectionCallBack(SCNetworkConnectionRef
connection,SCNetworkConnectionStatus stat,void *info)
{
printf("Call back called \n");
SCNetworkConnectionStatus status = SCNetworkConnectionGetStatus(connection);
switch(status) {
case kSCNetworkConnectionInvalid:
printf("Connection invalid\n");
break;
case kSCNetworkConnectionDisconnected:
printf("Connection disconnected\n");
break;
case kSCNetworkConnectionConnecting:
printf("Connection connecting\n");
break;
case kSCNetworkConnectionConnected:
printf("Connection connected\n");
break;
case kSCNetworkConnectionDisconnecting:
printf("Connection disconnecting\n");
break;
}


}

int main (int argc, const char * argv[]) {
CFDictionaryRef userOptions;
bool scResult;
SCNetworkConnectionContext scncctx = {0, NULL, NULL, NULL, NULL};

CFStringRef currentServiceId;

scResult = SCNetworkConnectionCopyUserPreferences(NULL, &currentServiceId,
&userOptions);



SCNetworkConnectionRef connection = nil; connection = SCNetworkConnectionCreateWithServiceID (NULL, currentServiceId, MyNetworkConnectionCallBack, &scncctx ); SCNetworkConnectionStatus status = SCNetworkConnectionGetStatus(connection); if(status == kSCNetworkConnectionConnected) printf("connected \n"); else printf("current status :%d\n", status);

SCNetworkConnectionScheduleWithRunLoop (connection,CFRunLoopGetCurrent(),kCFRunLoopDefaultMode);



CFRunLoopRun();

return 0;
}
--
Am able to get connection status if I connect to a modem, but it fails when
connected
to a WiFi/AirPort network.


Thanks,
Rashmi
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >How to get AirPort Connection Status (From: "Rashmi Vyshnavi" <email@hidden>)

  • Prev by Date: Re: determining system idle time in leopard
  • Next by Date: alloc]init] VS new]
  • Previous by thread: Re: How to get AirPort Connection Status
  • Next by thread: Existence of Network
  • Index(es):
    • Date
    • Thread