On 12/06/2009, at 4:24 PM, Gerriet M. Denkmann wrote:


On 11 Jun 2009, at 18:55, Graham Cox <graham....@bigpond.com> 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 (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to