| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // The contents of this file are subject to the Mozilla Public License |
| // Version 1.1 (the "License"); you may not use this file except in |
| // compliance with the License. You may obtain a copy of the License at |
| // http://www.mozilla.org/MPL/ |
| // |
| // Software distributed under the License is distributed on an "AS IS" |
| // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
| // License for the specific language governing rights and limitations |
| // under the License. |
| // |
| // The Original Code is MP4v2. |
| // |
| // The Initial Developer of the Original Code is Kona Blend. |
| // Portions created by Kona Blend are Copyright (C) 2008. |
| // All Rights Reserved. |
| // |
| // Contributors: |
| // Kona Blend, kona8lend@@gmail.com |
| // David Byron, dbyron0@gmail.com |
| // |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| #ifndef MP4V2_IMPL_MP4EXCEPTION_H |
| #define MP4V2_IMPL_MP4EXCEPTION_H |
| |
| namespace mp4v2 { namespace impl { |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| class MP4V2_EXPORT Exception |
| { |
| public: |
| explicit Exception( const std::string& what_, |
| const char *file_, |
| int line_, |
| const char *function_ ); |
| virtual ~Exception(); |
| |
| virtual std::string msg() const; |
| |
| public: |
| const std::string what; |
| const std::string file; |
| const int line; |
| const std::string function; |
| }; |
| |
| class MP4V2_EXPORT PlatformException : public Exception |
| { |
| public: |
| explicit PlatformException( const std::string& what_, |
| int errno_, |
| const char *file_, |
| int line_, |
| const char *function_ ); |
| virtual ~PlatformException(); |
| |
| virtual std::string msg() const; |
| |
| public: |
| const int m_errno; |
| }; |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| }} // namespace mp4v2::impl |
| |
| #endif // MP4V2_IMPL_MP4EXCEPTION_H |