]> git.cworth.org Git - apitrace/blob - log.hpp
More concise data model.
[apitrace] / log.hpp
1 /**************************************************************************
2  *
3  * Copyright 2007-2009 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(const char *name);
32     void ReOpen(void);
33     void Close(void);
34     
35     void BeginCall(const char *function);
36     void EndCall(void);
37     
38     void BeginArg(const char *type, const char *name);
39     void EndArg(void);
40
41     void BeginReturn(const char *type);
42     void EndReturn(void);
43
44     void BeginArray(const char *type, size_t length);
45     void EndArray(void);
46
47     void BeginElement(const char *type);
48     void EndElement(void);
49
50     void BeginStruct(const char *type);
51     void EndStruct(void);
52
53     void BeginMember(const char *type, const char *name);
54     void EndMember(void);
55
56     void BeginBitmask(const char *type);
57     void EndBitmask(void);
58
59     void BeginReference(const char *type, const void *addr);
60     void EndReference(void);
61
62     void LiteralBool(bool value);
63     void LiteralSInt(signed long long value);
64     void LiteralUInt(unsigned long long value);
65     void LiteralFloat(double value);
66     void LiteralString(const char *str);
67     void LiteralWString(const wchar_t *str);
68     void LiteralNamedConstant(const char *str);
69     void LiteralOpaque(const void *addr);
70     void LiteralNull(void);
71 }
72
73 #endif /* _LOG_HPP_ */