[Affelio-cvs 803] CVS update: affelio/lib/Affelio/Managing

Back to archive index

Tadashi Okoshi slash****@users*****
2005年 11月 23日 (水) 13:00:20 JST


Index: affelio/lib/Affelio/Managing/ApplicationManager.pm
diff -u affelio/lib/Affelio/Managing/ApplicationManager.pm:1.12 affelio/lib/Affelio/Managing/ApplicationManager.pm:1.13
--- affelio/lib/Affelio/Managing/ApplicationManager.pm:1.12	Tue Nov 22 23:03:00 2005
+++ affelio/lib/Affelio/Managing/ApplicationManager.pm	Wed Nov 23 13:00:20 2005
@@ -14,7 +14,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
-# $Id: ApplicationManager.pm,v 1.12 2005/11/22 14:03:00 slash5234 Exp $
+# $Id: ApplicationManager.pm,v 1.13 2005/11/23 04:00:20 slash5234 Exp $
 
 package Affelio::Managing::ApplicationManager;
 {
@@ -117,6 +117,11 @@
 	$af->getAM->load_applications();
 
 	#############################
+	#prep userdata/ directory
+	#############################
+	$af->getAM->prepare_app_userdata_dir($install_name);
+
+	#############################
 	#prep app_perm_table
 	#############################
 	$af->getAM->prepare_app_perm_table($install_name);
@@ -127,6 +132,45 @@
 
 
     ######################################################################
+    #prepare_app_userdata_dir
+    ######################################################################
+    sub prepare_app_userdata_dir{
+	my $self = shift;
+	my $af = $self->{af};
+	my $install_name = shift;
+
+	############################
+	#create userdata directory as needed
+	############################
+	if(-e "$af->{site__user_dir}/appdata/$install_name"){
+	}else{
+	    if (-d "$af->{site__user_dir}/appdata/"){
+		if (-w "$af->{site__user_dir}/appdata/"){
+		    my $ret =
+			mkdir("$af->{site__user_dir}/appdata/$install_name", 0777);
+		    if(!$ret){
+			throw Affelio::exception::IOException("Cannot make userdata/appdata/$install_name!");
+		    }
+		}else{
+		    throw Affelio::exception::IOException("Cannot make userdata/appdata/ is NOT writable!");
+		}
+	    }else{
+		my $ret =
+		    mkdir("$af->{site__user_dir}/appdata/", 0777);
+		if(!$ret){
+		    throw Affelio::exception::IOException("Cannot make userdata/appdata/!");
+		}
+		$ret =
+		    mkdir("$af->{site__user_dir}/appdata/$install_name", 0777);
+		if(!$ret){
+		    throw Affelio::exception::IOException("Cannot make userdata/appdata/$install_name!");
+		}
+	    }
+	}
+    }
+
+
+    ######################################################################
     #load_applications
     ######################################################################
     sub load_applications{


Affelio-cvs メーリングリストの案内
Back to archive index