]> git.cworth.org Git - apitrace/blob - log.hpp
Match GL specs.
[apitrace] / log.hpp
1 /**************************************************************************
2  *
3  * Copyright 2007-2010 VMware, Inc.
4  * All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  *
24  **************************************************************************/
25
26 #ifndef _LOG_HPP_
27 #define _LOG_HPP_
28
29 namespace Log {
30
31     void Open(void);
32     void Close(void);
33     
34     void BeginCall(const char *function);
35     void EndCall(void);
36     
37     void BeginArg(unsigned index, const char *name);
38     inline void EndArg(void) {}
39
40     void BeginReturn(void);
41     inline void EndReturn(void) {}
42
43     void BeginArray(size_t length);
44     inline void EndArray(void) {}
45
46     inline void BeginElement(void) {}
47     inline void EndElement(void) {}
48
49     void BeginStruct(const char *name);
50     void EndStruct(void);
51
52     void BeginMember(const char *name);
53     inline void EndMember(void) {}
54
55     void BeginBitmask(void);
56     void EndBitmask(void);
57
58     void LiteralBool(bool value);
59     void LiteralSInt(signed long long value);
60     void LiteralUInt(unsigned long long value);
61     void LiteralFloat(float value);
62     void LiteralFloat(double value);
63     void LiteralString(const char *str);
64     void LiteralString(const char *str, size_t size);
65     void LiteralWString(const wchar_t *str);
66     void LiteralBlob(const void *data, size_t size);
67     void LiteralNamedConstant(const char *name, long long value);
68     void LiteralNull(void);
69     void LiteralOpaque(const void *ptr);
70
71     void Abort(void);
72 }
73
74 #endif /* _LOG_HPP_ */