Re: API for fetching the computer name in cocoa
Re: API for fetching the computer name in cocoa
- Subject: Re: API for fetching the computer name in cocoa
- From: Graham Cox <email@hidden>
- Date: Fri, 12 Jun 2009 16:58:20 +1000
On 12/06/2009, at 4:24 PM, Gerriet M. Denkmann wrote:
On 11 Jun 2009, at 18:55, Graham Cox <email@hidden> wrote:
On 12/06/2009, at 2:08 AM, Arun wrote:
Hi All,
Is there any API in cocoa which can be used to fetch computer name
which is
getting displayed in Finder?
I'm not sure if there's a better way, but you can use the Gestalt
function with the gestaltUserVisibleMachineName selector.
I tried:
SInt32 response = 0xdeadbeef;
OSErr resul1 = Gestalt( gestaltUserVisibleMachineName, &response );
if ( resul1 != noErr ) .... // error handling
NSLog(@"%s response = %ld = %#lx", __FUNCTION__, response,
response);
and got no error and:
response = 1224224 = 0x12ae20
Where is my mistake?
I think this is not the right way to get the info you want after all -
others have pointed out better APIs. According to the header for this:
enum {
/* On Mac OS X, the user
visible machine name may something like "PowerMac3,4", which is*/
/* a unique string for
each signifigant Macintosh computer which Apple creates, but is*/
/* not terribly useful as
a user visible string.*/
gestaltUserVisibleMachineName = 'mnam' /* Coerce response into a
StringPtr to get a user visible machine name */
};
Obviously the meaning of "machine name" depends on what you think that
means. A some point this was considered to be the model name. I think
what you want is what the user has named it as visible on a network,
etc.
But if you want to press on, the response is a StringPtr, which is a
pointer to a pascal string. You'll need to convert that to an
NSString, first by converting to a C string (generally easy to do -
just append a /0 and take the pointer to the 1st character), then an
NSString using a suitable encoding.
--Graham
_______________________________________________
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