diff options
author | Oz Linden <oz@lindenlab.com> | 2011-03-29 19:17:22 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2011-03-29 19:17:22 -0400 |
commit | 483b7b674549160c7b5c3c838ac036f77851495d (patch) | |
tree | f510535fb8508012a6c832ebc243d22f823ff614 /indra/newview/llexternaleditor.h | |
parent | 3d5a8cc2e3becd92c83fb87d65dfbe802738edde (diff) | |
parent | 8c449f4542e7a90c8999256a1093c92267670780 (diff) |
pull back beta changes to viewer-development
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: |