diff options
author | Oz Linden <oz@lindenlab.com> | 2011-04-08 09:21:55 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2011-04-08 09:21:55 -0400 |
commit | c492bffaa6cd0d9bb05bbc3671c7658b7ba52862 (patch) | |
tree | 9bf24f8e6ae1207aef0cae78ae62f5509e5074e6 /indra/newview/llexternaleditor.h | |
parent | 3ffc5dc09c186fe0ac57ac66b33bfc105ca01363 (diff) | |
parent | 52615d251bc9261fe5765feefbcd31021bd75934 (diff) |
pull tags back from viewer-release
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: |