Line data Source code
1 : /*
2 : * SPDX-License-Identifier: GPL-3.0-only
3 : * MuseScore-Studio-CLA-applies
4 : *
5 : * MuseScore Studio
6 : * Music Composition & Notation
7 : *
8 : * Copyright (C) 2021 MuseScore Limited and others
9 : *
10 : * This program is free software: you can redistribute it and/or modify
11 : * it under the terms of the GNU General Public License version 3 as
12 : * published by the Free Software Foundation.
13 : *
14 : * This program is distributed in the hope that it will be useful,
15 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 : * GNU General Public License for more details.
18 : *
19 : * You should have received a copy of the GNU General Public License
20 : * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 : */
22 : #ifndef MU_PROJECT_PROJECTERRORS_H
23 : #define MU_PROJECT_PROJECTERRORS_H
24 :
25 : #include "types/ret.h"
26 :
27 : namespace mu::project {
28 : enum class Err {
29 : Undefined = int(muse::Ret::Code::Undefined),
30 : NoError = int(muse::Ret::Code::Ok),
31 : UnknownError = int(muse::Ret::Code::ProjectFirst),
32 :
33 : NoProjectError,
34 : NoPartsError,
35 : CorruptionError,
36 : CorruptionUponOpenningError,
37 : CorruptionUponSavingError,
38 :
39 : FileOpenError,
40 : InvalidCloudScoreId,
41 :
42 : UnsupportedUrl,
43 : MalformedOpenScoreUrl,
44 :
45 : ConvertValidationFailed,
46 : ConvertUnsupportedFormat,
47 : ConvertMixedFileTypes,
48 : ConvertMultiplePdfFiles,
49 : ConvertAudioFileTooLarge,
50 : ConvertFileTooLarge,
51 : ConvertCombinedImageTooLarge,
52 : ConvertTooManyAudioFiles,
53 : ConvertTooManyImages,
54 : ConvertUnsupportedLink,
55 : ConvertProcessingFailed,
56 : ConvertUploadFailed,
57 : ConvertRateLimited,
58 : };
59 :
60 54 : inline muse::Ret make_ret(Err e)
61 : {
62 54 : return muse::Ret(static_cast<int>(e));
63 : }
64 :
65 2 : inline muse::Ret make_ret(Err e, const std::string& text)
66 : {
67 4 : return muse::Ret(static_cast<int>(e), text);
68 : }
69 : }
70 :
71 : #endif // MU_PROJECT_PROJECTERRORS_H
|