1 /*
2     RawSpeed - RAW file decoder.
3 
4     Copyright (C) 2009-2014 Klaus Post
5     Copyright (C) 2017 Roman Lebedev
6 
7     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Lesser General Public
9     License as published by the Free Software Foundation; either
10     version 2 of the License, or (at your option) any later version.
11 
12     This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Lesser General Public License for more details.
16 
17     You should have received a copy of the GNU Lesser General Public
18     License along with this library; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21 
22 #pragma once
23 
24 #include "rawspeedconfig.h"           // for RAWSPEED_NOINLINE, RAWSPEED_UN...
25 #include "common/RawspeedException.h" // for ThrowExceptionHelper, Rawspeed...
26 
27 namespace rawspeed {
28 
29 class CameraMetadataException final : public RawspeedException {
30 public:
31   explicit RAWSPEED_UNLIKELY_FUNCTION RAWSPEED_NOINLINE
CameraMetadataException(const char * msg)32   CameraMetadataException(const char* msg)
33       : RawspeedException(msg) {}
34 };
35 
36 #define ThrowCME(...)                                                          \
37   ThrowExceptionHelper(rawspeed::CameraMetadataException, __VA_ARGS__)
38 
39 } // namespace rawspeed
40