summaryrefslogtreecommitdiffstats
path: root/debian/mp4v2/mp4v2-2.0.0~dfsg0/src/exception.h
blob: f0e2e4e75a6ab4fd5a5215e18b7072445cdfceee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
///////////////////////////////////////////////////////////////////////////////
//
//  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, [email protected]
//
///////////////////////////////////////////////////////////////////////////////

#ifndef MP4V2_IMPL_MP4EXCEPTION_H
#define MP4V2_IMPL_MP4EXCEPTION_H

namespace mp4v2 { namespace impl {

///////////////////////////////////////////////////////////////////////////////

class MP4V2_EXPORT Exception
{
public:
    explicit Exception( const string&   what_,
                        const char      *file_,
                        int             line_,
                        const char      *function_ );
    virtual ~Exception();

    virtual string      msg() const;

public:
    const string        what;
    const string        file;
    const int           line;
    const string        function;
};

class MP4V2_EXPORT PlatformException : public Exception
{
public:
    explicit PlatformException( const string&   what_,
                                int             errno_,
                                const char      *file_,
                                int             line_,
                                const char      *function_ );
    virtual ~PlatformException();

    virtual string      msg() const;

public:
    const int   m_errno;
};

///////////////////////////////////////////////////////////////////////////////

}} // namespace mp4v2::impl

#endif // MP4V2_IMPL_MP4EXCEPTION_H