private bool ExecuteActivity(string activity, int activityIndex, int activityCount, bool continueOnError) { int spaceIndex = activity.IndexOf(' '); string activityCommand; string activityParameterstring; string[] activityParameters; if (spaceIndex == -1) { activityCommand = activity; activityParameterstring = null; activityParameters = new string[0]; } else { activityCommand = activity.Substring(0, spaceIndex); activityParameterstring = activity.Substring(spaceIndex + 1).Trim(); activityParameters = activityParameterstring.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); } if (!VerifyParameterCount(activityCommand, activityParameters.Length)) { OnActivityLog(new ActivityLogEventArgs(string.Format(Resources.MsgActivitySkipped, activityIndex + 1, activityCount, activityCommand, activityParameters.Length, activity), true)); return(false); } OnActivityLog(new ActivityLogEventArgs(string.Format(Resources.MsgActivityStart, activityIndex + 1, activityCount, string.Format(GetActivityStartMessage(activityCommand, activityParameterstring, activityParameters))), true)); try { switch (activityCommand) { case cActivityVerify: bool verifyResult = VerifyConnection(); if (!verifyResult) { OnActivityFailed(new ActivityFailedEventArgs(Resources.MsgVerifyFailed)); } return(verifyResult); case cActivityReboot: return(mActivityProvider.Reboot()); case cActivityRemount: return(mActivityProvider.Remount()); case cActivityShell: return(mActivityProvider.Shell(activityParameterstring)); case cActivityPush: return(mActivityProvider.Push(activityParameters[0], activityParameters[1])); case cActivityPushdir: return(mActivityProvider.Pushdir(activityParameters[0], activityParameters[1], activityParameters[2], continueOnError)); case cActivityInstall: return(mActivityProvider.Install(activityParameters[0])); case cActivityInstalldir: return(mActivityProvider.Installdir(activityParameters[0], activityParameters[1], continueOnError)); case cActivityAdapt: return(mActivityProvider.Adapt(activityParameters[0], activityParameters[1], activityParameters[2])); case cActivityAdaptdir: return(mActivityProvider.Adaptdir(activityParameters[0], activityParameters[1], activityParameters[2], continueOnError)); case cActivityKillServer: return(mActivityProvider.KillServer()); } } catch (Exception ex) { OnActivityFailed(new ActivityFailedEventArgs(ex)); return(false); } return(true); }