⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 darwin.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
package File::HomeDir::Darwin;# Basic implementation for the Dawin family of operating systems.# This includes (most prominently) Mac OS X.use 5.005;use strict;use base 'File::HomeDir::Unix';use Carp ();use Cwd  ();use vars qw{$VERSION};BEGIN {	$VERSION = '0.66';}# Load early if in a forking environment and we have# prefork, or at run-time if not.eval "use prefork 'Mac::Files'";###################################################################### Current User Methodssub my_home {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kCurrentUserFolderType(),		);}sub my_desktop {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kDesktopFolderType(),		);}sub my_documents {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kDocumentsFolderType(),		);}sub my_data {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kApplicationSupportFolderType(),		);}sub my_music {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kMusicDocumentsFolderType(),		);}sub my_pictures {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kPictureDocumentsFolderType(),		);}sub my_videos {	my ($class) = @_;	require Mac::Files;	$class->_find_folder(		Mac::Files::kMovieDocumentsFolderType(),		);}sub _find_folder {	my ($class, $name) = @_;	require Mac::Files;	my $folder = Mac::Files::FindFolder(		Mac::Files::kUserDomain(),		$name,		);	return $folder unless defined $folder;	return Cwd::abs_path($folder);}###################################################################### Arbitrary User Methodssub users_home {	my $class = shift;	my $home  = $class->SUPER::users_home(@_);	return Cwd::abs_path($home);}# in theory this can be done, but for now, let's cheat, since the# rest is Hardsub users_desktop {	my ($class, $name) = @_;	return undef if $name eq 'root';	$class->_to_user( $class->my_desktop, $name );}sub users_documents {	my ($class, $name) = @_;	return undef if $name eq 'root';	$class->_to_user( $class->my_documents, $name );}sub users_data {	my ($class, $name) = @_;	$class->_to_user( $class->my_data, $name )		|| $class->users_home($name);}# cheap hack ... not entirely reliable, perhaps, but ... c'est la vie, since# there's really no other good way to do it at this time, that i know of -- pudgesub _to_user {	my ($class, $path, $name) = @_;	my $my_home    = $class->my_home;	my $users_home = $class->users_home($name);	$path =~ s/^Q$my_home/$users_home/;	return $path;}1;=pod=head1 NAMEFile::HomeDir::Darwin - find your home and other directories, on Darwin (OS X)=head1 DESCRIPTIONThis module provides Darwin-specific implementations for determiningcommon user directories.  In normal usage this module will always beused via L<File::HomeDir>.=head1 SYNOPSIS  use File::HomeDir;    # Find directories for the current user  $home    = File::HomeDir->my_home;        # /Users/mylogin  $desktop = File::HomeDir->my_desktop;     # /Users/mylogin/Desktop  $docs    = File::HomeDir->my_documents;   # /Users/mylogin/Documents  $music   = File::HomeDir->my_music;       # /Users/mylogin/Music  $pics    = File::HomeDir->my_pictures;    # /Users/mylogin/Pictures  $videos  = File::HomeDir->my_videos;      # /Users/mylogin/Movies  $data    = File::HomeDir->my_data;        # /Users/mylogin/Library/Application Support   =head1 TODO=over 4=item * Fallback to Unix if no Mac::Carbon available=item * Test with Mac OS (versions 7, 8, 9)=item * Some better way for users_* ?=back

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -