Exemple #1
0
        public bool Run(out string ErrorMessage)
        {
            // Set the default login state to failed
            LoginResult = LoginResult.Failed;

            // Get the server settings
            if (!TryGetServerSettings(ProjectFileName, ref ServerAndPort, ref UserName, Log))
            {
                ErrorMessage = "Unable to get Perforce server settings.";
                return(false);
            }

            // Create the connection
            PerforceConnection Perforce = new PerforceConnection(UserName, null, ServerAndPort);

            // If we've got a password, execute the login command
            if (Password != null)
            {
                string PasswordErrorMessage;
                LoginResult = Perforce.Login(Password, out PasswordErrorMessage, Log);
                if (LoginResult != LoginResult.Succeded)
                {
                    Log.WriteLine(PasswordErrorMessage);
                    ErrorMessage = String.Format("Unable to login: {0}", PasswordErrorMessage);
                    return(false);
                }
            }

            // Check that we're logged in
            bool bLoggedIn;

            if (!Perforce.GetLoggedInState(out bLoggedIn, Log))
            {
                ErrorMessage = "Unable to get login status.";
                return(false);
            }
            if (!bLoggedIn)
            {
                LoginResult  = LoginResult.MissingPassword;
                ErrorMessage = "User is not logged in to Perforce.";
                Log.WriteLine(ErrorMessage);
                return(false);
            }

            // Execute the inner task
            LoginResult = LoginResult.Succeded;
            return(InnerTask.Run(Perforce, Log, out ErrorMessage));
        }
Exemple #2
0
        public bool Run(out string ErrorMessage)
        {
            // Set the default login state to failed
            LoginResult = LoginResult.Failed;

            // If we've got a password, execute the login command
            if (Password != null)
            {
                string PasswordErrorMessage;
                LoginResult = Perforce.Login(Password, out PasswordErrorMessage, Log);
                if (LoginResult != LoginResult.Succeded)
                {
                    Log.WriteLine(PasswordErrorMessage);
                    ErrorMessage = String.Format("Unable to login: {0}", PasswordErrorMessage);
                    return(false);
                }
            }

            // Check that we're logged in
            bool bLoggedIn;

            if (!Perforce.GetLoggedInState(out bLoggedIn, Log))
            {
                ErrorMessage = "Unable to get login status.";
                return(false);
            }
            if (!bLoggedIn)
            {
                LoginResult  = LoginResult.MissingPassword;
                ErrorMessage = "User is not logged in to Perforce.";
                Log.WriteLine(ErrorMessage);
                return(false);
            }

            // Execute the inner task
            LoginResult = LoginResult.Succeded;
            return(InnerTask.Run(Perforce, Log, out ErrorMessage));
        }