diff options
author | Dave Parks <davep@lindenlab.com> | 2011-04-15 14:13:57 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2011-04-15 14:13:57 -0500 |
commit | af6133dfa5c6f4e3a00752f2885bd2f30c0e1c8c (patch) | |
tree | 71335616be646d8dd8e793732b508ea77ed197db /indra/newview/llexternaleditor.h | |
parent | 7e7ff13b49f6f806a385bd92d675123ff7db7232 (diff) | |
parent | 6a491424677086a84d180ace0b91f1eefaeb67ba (diff) |
merge
Diffstat (limited to 'indra/newview/llexternaleditor.h')
-rw-r--r-- | indra/newview/llexternaleditor.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/indra/newview/llexternaleditor.h b/indra/newview/llexternaleditor.h index 6ea210d5e2..ef5db56c6e 100644 --- a/indra/newview/llexternaleditor.h +++ b/indra/newview/llexternaleditor.h @@ -42,6 +42,14 @@ class LLExternalEditor public: + typedef enum e_error_code { + EC_SUCCESS, /// No error. + EC_NOT_SPECIFIED, /// Editor path not specified. + EC_PARSE_ERROR, /// Editor command parsing error. + EC_BINARY_NOT_FOUND, /// Could find the editor binary (missing or not quoted). + EC_FAILED_TO_RUN, /// Could not execute the editor binary. + } EErrorCode; + /** * Set editor command. * @@ -51,19 +59,25 @@ public: * First tries the override, then a predefined setting (sSetting), * then the environment variable. * - * @return Command if found, empty string otherwise. + * @return EC_SUCCESS if command is valid and refers to an existing executable, + * EC_NOT_SPECIFIED or EC_FAILED_TO_RUNan on error. * * @see sSetting */ - bool setCommand(const std::string& env_var, const std::string& override = LLStringUtil::null); + EErrorCode setCommand(const std::string& env_var, const std::string& override = LLStringUtil::null); /** * Run the editor with the given file. * * @param file_path File to edit. - * @return true on success, false on error. + * @return EC_SUCCESS on success, error code on error. + */ + EErrorCode run(const std::string& file_path); + + /** + * Get a meaningful error message for the given status code. */ - bool run(const std::string& file_path); + static std::string getErrorMessage(EErrorCode code); private: |