• 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: Finder's network browsing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finder's network browsing


  • Subject: Re: Finder's network browsing
  • From: Dr.Ian Silvester <email@hidden>
  • Date: Wed, 11 Jul 2007 08:43:43 +0100

Thanks Quinn for your usual insightful response!

Distilling what you've said, it seems that for 10.4 and earlier the choices for leveraging automount are hardcore BSD sockets level networking or deprecated File/Alias Manager networking; neither is attractive for different reasons. Hence I'll definitely join the new list you mention if it'll give me the inside track on 'automated mounting' (as distinct from automount since I'll bet Bonjour is taking over) as it might be implemented in 10.5 and up. Additions to CFNetServices perhaps? Would like not to have to write this myself if it will soon be provided 'for free' :o/

Cheers,

Ian


On 10 Jul 2007, at 11:43, Quinn wrote:

At 8:44 +0100 10/7/07, Dr.Ian Silvester wrote:
Another way to ask this might be "What does Finder do with respect to server symbolic links that the command line cannot? Is this functionality exposed to 3rd party software, or can it be explained simply enough to be duplicated?"

This answer relates to 10.4.x and earlier. Things are very likely to change in the future.


To understand what's going on here, you need to understand that Finder is not layered directly on top of BSD file system APIs directly. Rather, Finder uses File Manager which uses BSD. Thus, if you want to behave like the Finder, you have to view the world from a File Manager perspective.

In this case the /Network directory is populated by automount using various maps (most notably, the -nsl map, which gives you dynamic browsing). Each item appears to BSD clients as a symlink (a typical behaviour for automount). File Manager represents symlinks to its clients as synthetic aliases. The Finder then displays the items as aliases. It's the act of resolving these aliases that triggers the volume mount (potentially with UI).

You might be able to replicate some of this behaviour yourself by calling File Manager and Alias Manager. However, I generally recommend against trying to match the exact behaviour of the Finder in this respect. It's tricky and it changes over time. As I mentioned earlier, it's likely to change again in future system software, and change in such a way that makes it virtually impossible for you to replicate.

btw There's more info about synthetic aliases in DTS Q&A 1351 "Directories Appear as Volume Aliases".

<http://developer.apple.com/qa/qa2004/qa1351.html>

btbtw We recently started up a new mailing list to discuss file system development issues. If you're interested in file system issues, like this one, you might consider joining.

<http://lists.apple.com/mailman/listinfo/filesystem-dev>

S+E
-- Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden


This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Finder's network browsing (From: Dr.Ian Silvester <email@hidden>)
 >Re: Finder's network browsing (From: Quinn <email@hidden>)

  • Prev by Date: Re: Finder's network browsing
  • Next by Date: Hoe to get different system events
  • Previous by thread: Re: Finder's network browsing
  • Next by thread: Hoe to get different system events
  • Index(es):
    • Date
    • Thread