OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [cdl-guide/] [ref.implements.html] - Blame information for rev 725

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 28 unneback
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2
<!-- This material may be distributed only subject to the terms      -->
3
<!-- and conditions set forth in the Open Publication License, v1.0  -->
4
<!-- or later (the latest version is presently available at          -->
5
<!-- http://www.opencontent.org/openpub/).                           -->
6
<!-- Distribution of the work or derivative of the work in any       -->
7
<!-- standard (paper) book form is prohibited unless prior           -->
8
<!-- permission is obtained from the copyright holder.               -->
9
<HTML
10
><HEAD
11
><TITLE
12
>implements</TITLE
13
><meta name="MSSmartTagsPreventParsing" content="TRUE">
14
<META
15
NAME="GENERATOR"
16
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17
"><LINK
18
REL="HOME"
19
TITLE="The eCos Component Writer's Guide"
20
HREF="cdl-guide.html"><LINK
21
REL="UP"
22
TITLE="CDL Language Specification"
23
HREF="reference.html"><LINK
24
REL="PREVIOUS"
25
TITLE="if_define"
26
HREF="ref.if-define.html"><LINK
27
REL="NEXT"
28
TITLE="include_dir"
29
HREF="ref.include-dir.html"></HEAD
30
><BODY
31
CLASS="REFENTRY"
32
BGCOLOR="#FFFFFF"
33
TEXT="#000000"
34
LINK="#0000FF"
35
VLINK="#840084"
36
ALINK="#0000FF"
37
><DIV
38
CLASS="NAVHEADER"
39
><TABLE
40
SUMMARY="Header navigation table"
41
WIDTH="100%"
42
BORDER="0"
43
CELLPADDING="0"
44
CELLSPACING="0"
45
><TR
46
><TH
47
COLSPAN="3"
48
ALIGN="center"
49
>The <SPAN
50
CLASS="APPLICATION"
51
>eCos</SPAN
52
> Component Writer's Guide</TH
53
></TR
54
><TR
55
><TD
56
WIDTH="10%"
57
ALIGN="left"
58
VALIGN="bottom"
59
><A
60
HREF="ref.if-define.html"
61
ACCESSKEY="P"
62
>Prev</A
63
></TD
64
><TD
65
WIDTH="80%"
66
ALIGN="center"
67
VALIGN="bottom"
68
></TD
69
><TD
70
WIDTH="10%"
71
ALIGN="right"
72
VALIGN="bottom"
73
><A
74
HREF="ref.include-dir.html"
75
ACCESSKEY="N"
76
>Next</A
77
></TD
78
></TR
79
></TABLE
80
><HR
81
ALIGN="LEFT"
82
WIDTH="100%"></DIV
83
><H1
84
><A
85
NAME="REF.IMPLEMENTS"><SPAN
86
CLASS="PROPERTY"
87
>implements</SPAN
88
></H1
89
><DIV
90
CLASS="REFNAMEDIV"
91
><A
92
NAME="AEN4507"
93
></A
94
><H2
95
>Name</H2
96
>Property <SPAN
97
CLASS="PROPERTY"
98
>implements</SPAN
99
>&nbsp;--&nbsp;Enabling this option provides one instance of a more
100
general interface.</DIV
101
><DIV
102
CLASS="REFSYNOPSISDIV"
103
><A
104
NAME="AEN4511"><H2
105
>Synopsis</H2
106
><TABLE
107
BORDER="5"
108
BGCOLOR="#E0E0F0"
109
WIDTH="70%"
110
><TR
111
><TD
112
><PRE
113
CLASS="SYNOPSIS"
114
>cdl_option &lt;name&gt; {
115
    implements &lt;interface&gt;
116
    &#8230;
117
}</PRE
118
></TD
119
></TR
120
></TABLE
121
></DIV
122
><DIV
123
CLASS="REFSECT1"
124
><A
125
NAME="AEN4513"
126
></A
127
><H2
128
>Description</H2
129
><P
130
>The <SPAN
131
CLASS="APPLICATION"
132
>CDL</SPAN
133
> interface concept provides an abstraction mechanism that can
134
be useful in many different circumstances. Essentially an interface is
135
a calculated option whose value is the number of active and enabled
136
options which implement that interface. For example the interface
137
<TT
138
CLASS="VARNAME"
139
>CYGINT_KERNEL_SCHEDULER</TT
140
> has a value corresponding
141
to the number of schedulers in the system, typically just one.</P
142
><P
143
>The <SPAN
144
CLASS="PROPERTY"
145
>implements</SPAN
146
> property takes a single argument, which should be the
147
name of an interface. This interface may be defined in the same
148
package as the implementor or in some other package. In the latter
149
case it may sometimes be appropriate for the implementor or the
150
implementor's package to have a <SPAN
151
CLASS="PROPERTY"
152
>requires</SPAN
153
> property for the package
154
containing the interface. An option may contain multiple <SPAN
155
CLASS="PROPERTY"
156
>implements</SPAN
157
>
158
properties. It is possible for an option to implement a given
159
interface multiple times, and on occasion this is actually useful.</P
160
></DIV
161
><DIV
162
CLASS="REFSECT1"
163
><A
164
NAME="AEN4522"
165
></A
166
><H2
167
>Example</H2
168
><TABLE
169
BORDER="5"
170
BGCOLOR="#E0E0F0"
171
WIDTH="70%"
172
><TR
173
><TD
174
><PRE
175
CLASS="PROGRAMLISTING"
176
>cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {
177
    display       "Multi-level queue scheduler"
178
    default_value 1
179
    implements    CYGINT_KERNEL_SCHEDULER
180
    &#8230;
181
}</PRE
182
></TD
183
></TR
184
></TABLE
185
></DIV
186
><DIV
187
CLASS="REFSECT1"
188
><A
189
NAME="AEN4525"
190
></A
191
><H2
192
>See Also</H2
193
><P
194
>Command <A
195
HREF="ref.cdl-interface.html"
196
><TT
197
CLASS="LITERAL"
198
>cdl_interface</TT
199
></A
200
>.</P
201
></DIV
202
><DIV
203
CLASS="NAVFOOTER"
204
><HR
205
ALIGN="LEFT"
206
WIDTH="100%"><TABLE
207
SUMMARY="Footer navigation table"
208
WIDTH="100%"
209
BORDER="0"
210
CELLPADDING="0"
211
CELLSPACING="0"
212
><TR
213
><TD
214
WIDTH="33%"
215
ALIGN="left"
216
VALIGN="top"
217
><A
218
HREF="ref.if-define.html"
219
ACCESSKEY="P"
220
>Prev</A
221
></TD
222
><TD
223
WIDTH="34%"
224
ALIGN="center"
225
VALIGN="top"
226
><A
227
HREF="cdl-guide.html"
228
ACCESSKEY="H"
229
>Home</A
230
></TD
231
><TD
232
WIDTH="33%"
233
ALIGN="right"
234
VALIGN="top"
235
><A
236
HREF="ref.include-dir.html"
237
ACCESSKEY="N"
238
>Next</A
239
></TD
240
></TR
241
><TR
242
><TD
243
WIDTH="33%"
244
ALIGN="left"
245
VALIGN="top"
246
><SPAN
247
CLASS="PROPERTY"
248
>if_define</SPAN
249
></TD
250
><TD
251
WIDTH="34%"
252
ALIGN="center"
253
VALIGN="top"
254
><A
255
HREF="reference.html"
256
ACCESSKEY="U"
257
>Up</A
258
></TD
259
><TD
260
WIDTH="33%"
261
ALIGN="right"
262
VALIGN="top"
263
><SPAN
264
CLASS="PROPERTY"
265
>include_dir</SPAN
266
></TD
267
></TR
268
></TABLE
269
></DIV
270
></BODY
271
></HTML
272
>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.