File: x50.html

package info (click to toggle)
lttv 1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 6,276 kB
  • ctags: 2,921
  • sloc: ansic: 26,335; sh: 11,338; makefile: 247
file content (193 lines) | stat: -rw-r--r-- 3,901 bytes parent folder | download | duplicates (4)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Using the reading context</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Linux Trace Toolkit Viewer Developer Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="How to use the Linux Trace Toolkit Viewer's Reading Context"
HREF="c40.html"><LINK
REL="PREVIOUS"
TITLE="Why an event driven trace reader ?"
HREF="x46.html"><LINK
REL="NEXT"
TITLE="Linux Trace Toolkit Viewer Graphical Module Tutorial"
HREF="c67.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux Trace Toolkit Viewer Developer Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x46.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 2. How to use the Linux Trace Toolkit Viewer's Reading Context</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="c67.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="AEN50"
>2.3. Using the reading context</A
></H1
><P
>&#13;If you have read the tutorials about writing a text and a graphic module, you
should be fairly ready to use the information provided to your hook by the
reading API.
</P
><P
>&#13;The data structures of the reading context are based on the gobject, a
object-oriented library from the glib. Some evolved types that are found in the
context also comes from the "glib" (GArray, GHashTable and so on). For detailed
information about "gobjects" and the "glib", see the <A
HREF="http://www.gtk.org"
TARGET="_top"
>www.gtk.org</A
> website. They provide a complete
API reference about the data types they provide.
</P
><P
>&#13;The reading context is object oriented. It is described by the lttv/tracecontext.h
header. Is can be illustrated with this UML class diagram :
</P
><P
>&#13;<DIV
CLASS="mediaobject"
><P
><IMG
SRC="lttv-context.png"
ALIGN="center"><DIV
CLASS="caption"
><P
>Linux Trace Toolkit Viewer Reading Context Class Diagram</P
></DIV
></P
></DIV
>
</P
><P
>&#13;Though, for performance's sake, navigating through it is not as encapsulated as
it could. Consider the class attributes to be all public (no get/set functions).
Sometimes, iteration upon a specific element can be uneasy. For example, you may
have to get the number of tracefiles in a trace from the "vt" field of the trace
context to be able to iterate over all the tracefiles contained by the trace.
</P
><P
>&#13;To facilitate the common operations on the reading context, LTTV now provides a
header that consists of simple macros : lttv/contextmacros.h. It gives an object
look-and-feel to the context classes. Simple "GET" macros can be used to easily
access the different fields are iterate over the elements (and get the total
number of elements too).
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x46.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="c67.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Why an event driven trace reader ?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="c40.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Linux Trace Toolkit Viewer Graphical Module Tutorial</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>