netlinx-erb 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +9 -0
  3. data/doc/Array.html +213 -0
  4. data/doc/Hash.html +266 -0
  5. data/doc/HashHelpers.html +413 -0
  6. data/doc/Helpers.html +2154 -0
  7. data/doc/NetLinx.html +128 -0
  8. data/doc/NetLinx/ERB.html +233 -0
  9. data/doc/NetLinx/ERB/HashHelpers.html +413 -0
  10. data/doc/NetLinx/ERB/Helpers.html +2157 -0
  11. data/doc/NetLinx/Rake.html +117 -0
  12. data/doc/NetLinx/Rake/ERB.html +117 -0
  13. data/doc/NetLinx/Rake/ERB/Compile.html +354 -0
  14. data/doc/NetLinx/Rake/ERB/GenerateERB.html +419 -0
  15. data/doc/NetLinx/Rake/ERB/GenerateRPC.html +349 -0
  16. data/doc/NetLinx/Rake/ERB/Lines.html +381 -0
  17. data/doc/NetLinx/Rake/Lines.html +381 -0
  18. data/doc/RPC.html +683 -0
  19. data/doc/String.html +322 -0
  20. data/doc/_index.html +248 -0
  21. data/doc/class_list.html +58 -0
  22. data/doc/css/common.css +1 -0
  23. data/doc/css/full_list.css +57 -0
  24. data/doc/css/style.css +339 -0
  25. data/doc/file.README.html +84 -0
  26. data/doc/file.license.html +73 -0
  27. data/doc/file_list.html +63 -0
  28. data/doc/frames.html +26 -0
  29. data/doc/index.html +84 -0
  30. data/doc/js/app.js +219 -0
  31. data/doc/js/full_list.js +181 -0
  32. data/doc/js/jquery.js +4 -0
  33. data/doc/method_list.html +237 -0
  34. data/doc/top-level-namespace.html +114 -0
  35. data/lib/netlinx-erb.rb +14 -0
  36. data/lib/netlinx/erb/erb.rb +19 -0
  37. data/lib/netlinx/erb/hash_helpers.rb +42 -0
  38. data/lib/netlinx/erb/helpers.rb +399 -0
  39. data/lib/netlinx/erb/rpc.rb +270 -0
  40. data/lib/netlinx/rake/erb.rb +26 -0
  41. data/lib/netlinx/rake/erb/generate_erb.rb +66 -0
  42. data/lib/netlinx/rake/erb/generate_rpc.rb +31 -0
  43. data/lib/netlinx/rake/erb/lines.rb +47 -0
  44. data/license.txt +21 -0
  45. data/template/Gemfile +9 -0
  46. data/template/README.md +130 -0
  47. data/template/Rakefile +11 -0
  48. data/template/rpc.axi +148 -0
  49. metadata +234 -0
data/doc/RPC.html ADDED
@@ -0,0 +1,683 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: RPC
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!RPC.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index (R)</a> &raquo;
35
+
36
+
37
+ <span class="title">RPC</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: RPC
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">RPC</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/netlinx/erb/rpc.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>:nodoc:</p>
106
+
107
+
108
+ </div>
109
+ </div>
110
+ <div class="tags">
111
+
112
+
113
+ </div>
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ <h2>
122
+ Class Method Summary
123
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
124
+ </h2>
125
+
126
+ <ul class="summary">
127
+
128
+ <li class="public ">
129
+ <span class="summary_signature">
130
+
131
+ <a href="#build-class_method" title="build (class method)">+ (Object) <strong>build</strong> </a>
132
+
133
+
134
+
135
+ </span>
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ <span class="summary_desc"><div class='inline'>
146
+ <p>:nodoc:.</p>
147
+ </div></span>
148
+
149
+ </li>
150
+
151
+
152
+ </ul>
153
+
154
+
155
+
156
+
157
+ <div id="class_method_details" class="method_details_list">
158
+ <h2>Class Method Details</h2>
159
+
160
+
161
+ <div class="method_details first">
162
+ <h3 class="signature first" id="build-class_method">
163
+
164
+ + (<tt>Object</tt>) <strong>build</strong>
165
+
166
+
167
+
168
+
169
+
170
+ </h3><div class="docstring">
171
+ <div class="discussion">
172
+
173
+ <p>:nodoc:</p>
174
+
175
+
176
+ </div>
177
+ </div>
178
+ <div class="tags">
179
+
180
+
181
+ </div><table class="source_code">
182
+ <tr>
183
+ <td>
184
+ <pre class="lines">
185
+
186
+
187
+ 31
188
+ 32
189
+ 33
190
+ 34
191
+ 35
192
+ 36
193
+ 37
194
+ 38
195
+ 39
196
+ 40
197
+ 41
198
+ 42
199
+ 43
200
+ 44
201
+ 45
202
+ 46
203
+ 47
204
+ 48
205
+ 49
206
+ 50
207
+ 51
208
+ 52
209
+ 53
210
+ 54
211
+ 55
212
+ 56
213
+ 57
214
+ 58
215
+ 59
216
+ 60
217
+ 61
218
+ 62
219
+ 63
220
+ 64
221
+ 65
222
+ 66
223
+ 67
224
+ 68
225
+ 69
226
+ 70
227
+ 71
228
+ 72
229
+ 73
230
+ 74
231
+ 75
232
+ 76
233
+ 77
234
+ 78
235
+ 79
236
+ 80
237
+ 81
238
+ 82
239
+ 83
240
+ 84
241
+ 85
242
+ 86
243
+ 87
244
+ 88
245
+ 89
246
+ 90
247
+ 91
248
+ 92
249
+ 93
250
+ 94
251
+ 95
252
+ 96
253
+ 97
254
+ 98
255
+ 99
256
+ 100
257
+ 101
258
+ 102
259
+ 103
260
+ 104
261
+ 105
262
+ 106
263
+ 107
264
+ 108
265
+ 109
266
+ 110
267
+ 111
268
+ 112
269
+ 113
270
+ 114
271
+ 115
272
+ 116
273
+ 117
274
+ 118
275
+ 119
276
+ 120
277
+ 121
278
+ 122
279
+ 123
280
+ 124
281
+ 125
282
+ 126
283
+ 127
284
+ 128
285
+ 129
286
+ 130
287
+ 131
288
+ 132
289
+ 133
290
+ 134
291
+ 135
292
+ 136
293
+ 137
294
+ 138
295
+ 139
296
+ 140
297
+ 141
298
+ 142
299
+ 143
300
+ 144
301
+ 145
302
+ 146
303
+ 147
304
+ 148
305
+ 149
306
+ 150
307
+ 151
308
+ 152
309
+ 153
310
+ 154
311
+ 155
312
+ 156
313
+ 157
314
+ 158
315
+ 159
316
+ 160
317
+ 161
318
+ 162
319
+ 163
320
+ 164
321
+ 165
322
+ 166
323
+ 167
324
+ 168
325
+ 169
326
+ 170
327
+ 171
328
+ 172
329
+ 173
330
+ 174
331
+ 175
332
+ 176
333
+ 177
334
+ 178
335
+ 179
336
+ 180
337
+ 181
338
+ 182
339
+ 183
340
+ 184
341
+ 185
342
+ 186
343
+ 187
344
+ 188
345
+ 189
346
+ 190
347
+ 191
348
+ 192
349
+ 193
350
+ 194
351
+ 195
352
+ 196
353
+ 197
354
+ 198
355
+ 199
356
+ 200
357
+ 201
358
+ 202
359
+ 203
360
+ 204
361
+ 205
362
+ 206
363
+ 207
364
+ 208
365
+ 209
366
+ 210
367
+ 211
368
+ 212
369
+ 213
370
+ 214
371
+ 215
372
+ 216
373
+ 217
374
+ 218
375
+ 219
376
+ 220
377
+ 221
378
+ 222
379
+ 223
380
+ 224
381
+ 225
382
+ 226
383
+ 227
384
+ 228
385
+ 229
386
+ 230
387
+ 231
388
+ 232
389
+ 233
390
+ 234
391
+ 235
392
+ 236
393
+ 237
394
+ 238
395
+ 239
396
+ 240
397
+ 241
398
+ 242
399
+ 243
400
+ 244
401
+ 245
402
+ 246
403
+ 247
404
+ 248
405
+ 249
406
+ 250
407
+ 251
408
+ 252
409
+ 253
410
+ 254
411
+ 255
412
+ 256
413
+ 257
414
+ 258
415
+ 259
416
+ 260
417
+ 261
418
+ 262
419
+ 263
420
+ 264
421
+ 265
422
+ 266
423
+ 267
424
+ 268</pre>
425
+ </td>
426
+ <td>
427
+ <pre class="code"><span class="info file"># File 'lib/netlinx/erb/rpc.rb', line 31</span>
428
+
429
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_build'>build</span>
430
+ <span class='id identifier rubyid_fn_exp'>fn_exp</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>
431
+ (?#
432
+ Pull out comment\\description above the function, enclosed in slash\\star syntax.
433
+ Does not have to exist.
434
+ )
435
+ ^(?&lt;desc&gt;[\t ]*\/\*(?:[^\*]|\*[^\/])*\*\/)?\s*
436
+
437
+ (?# Find the function definition. )
438
+ define_function\s+
439
+
440
+ (?# Capture function&#39;s return type, if it exists.)
441
+ (?&lt;rtn&gt;\w+(?&lt;width&gt;\[\d+\])?)??\s*
442
+
443
+ (?# Capture the function name. )
444
+ (?&lt;name&gt;\w+)
445
+
446
+ (?#
447
+ Capture the function parameters.
448
+ Run this through another regex to get the type\\name pairs.
449
+ )
450
+ \(\s*(?&lt;params&gt;.*?)\s*\)\s*
451
+
452
+ (?# Capture the function&#39;s source code. )
453
+ {[\r\n]*(?&lt;code&gt;(?:.|\r|\n)*?)?[\r\n]*}
454
+ </span><span class='regexp_end'>/x</span></span>
455
+
456
+ <span class='id identifier rubyid_param_exp'>param_exp</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*(?:(?&lt;type&gt;\w+)\s+(?&lt;name&gt;\w+(?&lt;width&gt;\[\d*\])?)),?\s*</span><span class='regexp_end'>/</span></span>
457
+
458
+ <span class='id identifier rubyid_sections'>sections</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='comment'># Collect a set of matches for each file, separated by file.
459
+ </span>
460
+
461
+ <span class='comment'># Pull file list from workspace.
462
+ </span> <span class='id identifier rubyid_workspace_path'>workspace_path</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>*.apw</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
463
+ <span class='id identifier rubyid_workspace'>workspace</span> <span class='op'>=</span> <span class='const'>NetLinx</span><span class='op'>::</span><span class='const'>Workspace</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='label'>file:</span> <span class='id identifier rubyid_workspace_path'>workspace_path</span>
464
+
465
+ <span class='id identifier rubyid_file_paths'>file_paths</span> <span class='op'>=</span> <span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_projects'>projects</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_systems'>systems</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_files'>files</span><span class='period'>
466
+ </span><span class='id identifier rubyid_ .map'> .map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:path</span><span class='rparen'>)</span><span class='period'>
467
+ </span><span class='id identifier rubyid_ .select'> .select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(\.axi|\.axs)$</span><span class='regexp_end'>/</span></span> <span class='rbrace'>}</span><span class='period'>
468
+ </span><span class='id identifier rubyid_ .reject'> .reject</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>rpc(?:-|_.*?)?\.axi</span><span class='regexp_end'>/</span></span> <span class='rbrace'>}</span> <span class='comment'># Remove RPC files.
469
+ </span>
470
+ <span class='comment'># file_paths = Dir[&#39;**/*.axi&#39;]
471
+ </span>
472
+ <span class='id identifier rubyid_file_paths'>file_paths</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
473
+ <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>\\</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>r:iso-8859-1</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span>
474
+ <span class='id identifier rubyid_matches'>matches</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
475
+
476
+ <span class='kw'>while</span> <span class='id identifier rubyid_str'>str</span> <span class='op'>=~</span> <span class='id identifier rubyid_fn_exp'>fn_exp</span>
477
+ <span class='id identifier rubyid_matches'>matches</span> <span class='op'>&lt;&lt;</span> <span class='gvar'>$~</span>
478
+ <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='backref'>$&#39;</span>
479
+ <span class='kw'>end</span>
480
+
481
+ <span class='id identifier rubyid_sections'>sections</span><span class='lbracket'>[</span><span class='id identifier rubyid_f'>f</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_matches'>matches</span>
482
+ <span class='kw'>end</span>
483
+
484
+ <span class='comment'># -----------------------
485
+ </span> <span class='comment'># Documentation Generator
486
+ </span> <span class='comment'># -----------------------
487
+ </span>
488
+ <span class='comment'># output = &#39;&#39;
489
+ </span> <span class='comment'># sections.each do |name, matches|
490
+ </span>
491
+ <span class='comment'># output &lt;&lt; &quot;--------------------------------------------------\n&quot;
492
+ </span> <span class='comment'># output &lt;&lt; &quot;FILE: &#39;#{name}&#39;\n&quot;
493
+ </span> <span class='comment'># output &lt;&lt; &quot;--------------------------------------------------\n&quot;
494
+ </span> <span class='comment'># output &lt;&lt; &quot;\n\n&quot;
495
+ </span>
496
+ <span class='comment'># matches.each do |m|
497
+ </span> <span class='comment'># output &lt;&lt; m[:desc].to_s
498
+ </span> <span class='comment'># output &lt;&lt; &quot;\n&quot;
499
+ </span> <span class='comment'># output &lt;&lt; m[:name].to_s
500
+ </span> <span class='comment'># output &lt;&lt; &quot;\n\n\n&quot;
501
+ </span> <span class='comment'># end
502
+ </span>
503
+ <span class='comment'># end
504
+ </span>
505
+ <span class='comment'># File.open(&#39;functions.axi&#39;, &#39;w+&#39;) { |f| f &lt;&lt; output }
506
+ </span>
507
+
508
+ <span class='comment'># ----------------------
509
+ </span> <span class='comment'># RPC Function Generator
510
+ </span> <span class='comment'># ----------------------
511
+ </span>
512
+ <span class='comment'># Generate list of included and excluded files for sanity check.
513
+ </span> <span class='id identifier rubyid_directory_files'>directory_files</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>**/*.axi</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>**/*.axs</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
514
+
515
+ <span class='id identifier rubyid_included_files'>included_files</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
516
+ <span class='id identifier rubyid_file_paths'>file_paths</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span> <span class='id identifier rubyid_included_files'>included_files</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>\\</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span> <span class='comment'># TODO: As string.
517
+ </span>
518
+ <span class='id identifier rubyid_excluded_files'>excluded_files</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
519
+ <span class='lparen'>(</span><span class='id identifier rubyid_directory_files'>directory_files</span> <span class='op'>-</span> <span class='id identifier rubyid_file_paths'>file_paths</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>\\</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span> <span class='id identifier rubyid_excluded_files'>excluded_files</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>\\</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
520
+
521
+ <span class='id identifier rubyid_fn_symbols'>fn_symbols</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='comment'># Symbol names to avoid duplicates.
522
+ </span> <span class='id identifier rubyid_output'>output</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
523
+
524
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='heredoc_beg'>&lt;&lt;-EOS</span>
525
+ <span class='tstring_content'>(***********************************************************)
526
+ (* WARNING *)
527
+ (***********************************************************)
528
+ (* This file is automatically generated. *)
529
+ (***********************************************************)
530
+
531
+ /*
532
+ Included Files:
533
+ ---------------
534
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_included_files'>included_files</span><span class='embexpr_end'>}</span><span class='tstring_content'>
535
+
536
+ Excluded Files:
537
+ ---------------
538
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_excluded_files'>excluded_files</span><span class='embexpr_end'>}</span><span class='tstring_content'>
539
+ */
540
+
541
+
542
+ #if_not_defined RPC_FUNCTION_LIST
543
+ #define RPC_FUNCTION_LIST 1
544
+
545
+ DEFINE_EVENT
546
+
547
+ data_event[vdvRPC]
548
+ {
549
+ string:
550
+ {
551
+ char f_name[255];
552
+ f_name = rpc_function_name(data.text);
553
+
554
+ </span><span class='heredoc_end'>EOS
555
+ </span>
556
+ <span class='id identifier rubyid_sections'>sections</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_matches'>matches</span><span class='op'>|</span>
557
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> /*------------------------------------------------------------------/\n</span><span class='tstring_end'>&quot;</span></span>
558
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> FILE: &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;\n</span><span class='tstring_end'>&quot;</span></span>
559
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> /------------------------------------------------------------------*/\n\n</span><span class='tstring_end'>&quot;</span></span>
560
+
561
+
562
+ <span class='id identifier rubyid_matches'>matches</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_fn'>fn</span><span class='op'>|</span>
563
+ <span class='id identifier rubyid_function_valid'>function_valid</span> <span class='op'>=</span> <span class='kw'>true</span>
564
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
565
+ <span class='id identifier rubyid_return_type'>return_type</span> <span class='op'>=</span> <span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:rtn</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:rtn</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
566
+ <span class='comment'># TODO: Calculate return value width.
567
+ </span> <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
568
+
569
+ <span class='comment'># Store function name as symbol and check for duplicates.
570
+ </span> <span class='id identifier rubyid_fn_sym'>fn_sym</span> <span class='op'>=</span> <span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
571
+
572
+ <span class='kw'>if</span> <span class='id identifier rubyid_fn_symbols'>fn_symbols</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_fn_sym'>fn_sym</span>
573
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> // Already defined.\n</span><span class='tstring_end'>&quot;</span></span>
574
+ <span class='id identifier rubyid_function_valid'>function_valid</span> <span class='op'>=</span> <span class='kw'>false</span>
575
+ <span class='kw'>else</span>
576
+ <span class='id identifier rubyid_fn_symbols'>fn_symbols</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_fn_sym'>fn_sym</span>
577
+ <span class='kw'>end</span>
578
+
579
+ <span class='comment'># Retrieve params.
580
+ </span> <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:params</span><span class='rbracket'>]</span>
581
+ <span class='kw'>while</span> <span class='id identifier rubyid_str'>str</span> <span class='op'>=~</span> <span class='id identifier rubyid_param_exp'>param_exp</span>
582
+ <span class='id identifier rubyid_params'>params</span> <span class='op'>&lt;&lt;</span> <span class='gvar'>$~</span>
583
+ <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='backref'>$&#39;</span>
584
+ <span class='kw'>end</span>
585
+
586
+ <span class='comment'># Generate function handler.
587
+ </span> <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> if(compare_string(f_name, &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;))\n</span><span class='tstring_end'>&quot;</span></span>
588
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> {\n</span><span class='tstring_end'>&quot;</span></span>
589
+
590
+ <span class='comment'># Generate return value.
591
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_return_type'>return_type</span>
592
+ <span class='kw'>case</span> <span class='id identifier rubyid_return_type'>return_type</span>
593
+ <span class='kw'>when</span> <span class='symbol'>:integer</span>
594
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_return_type'>return_type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='embexpr_end'>}</span><span class='tstring_content'> return_value;\n</span><span class='tstring_end'>&quot;</span></span>
595
+ <span class='kw'>end</span>
596
+
597
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> \n</span><span class='tstring_end'>&quot;</span></span>
598
+ <span class='kw'>end</span>
599
+
600
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> print(LOG_LEVEL_INFO, &#39;RPC: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>()&#39;);\n</span><span class='tstring_end'>&quot;</span></span>
601
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> \n</span><span class='tstring_end'>&quot;</span></span>
602
+
603
+ <span class='comment'># Set return value equal to function if return value exists.
604
+ </span> <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span>
605
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>return_value = </span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_return_type'>return_type</span>
606
+
607
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='tstring_end'>&quot;</span></span>
608
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>);\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
609
+
610
+ <span class='id identifier rubyid_function_valid'>function_valid</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='lbracket'>[</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:integer</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_return_type'>return_type</span>
611
+
612
+ <span class='comment'># Generate parameters.
613
+ </span> <span class='id identifier rubyid_param_index'>param_index</span> <span class='op'>=</span> <span class='int'>0</span>
614
+ <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_param'>param</span><span class='op'>|</span>
615
+ <span class='id identifier rubyid_param_index'>param_index</span> <span class='op'>+=</span> <span class='int'>1</span>
616
+
617
+ <span class='id identifier rubyid_valid_params'>valid_params</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:integer</span><span class='rbracket'>]</span>
618
+ <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='id identifier rubyid_param'>param</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
619
+
620
+ <span class='kw'>unless</span> <span class='id identifier rubyid_valid_params'>valid_params</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_type'>type</span>
621
+ <span class='id identifier rubyid_function_valid'>function_valid</span> <span class='op'>=</span> <span class='kw'>false</span>
622
+ <span class='kw'>break</span>
623
+ <span class='kw'>end</span>
624
+
625
+ <span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
626
+ <span class='kw'>when</span> <span class='symbol'>:integer</span>
627
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n rpc_get_arg_i(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_param_index'>param_index</span><span class='embexpr_end'>}</span><span class='tstring_content'>, data.text),</span><span class='tstring_end'>&quot;</span></span>
628
+ <span class='kw'>end</span>
629
+ <span class='kw'>end</span>
630
+
631
+ <span class='comment'># Remove trailing comma from last arg.
632
+ </span> <span class='id identifier rubyid_fn_output'>fn_output</span><span class='period'>.</span><span class='id identifier rubyid_chop!'>chop!</span> <span class='kw'>unless</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
633
+
634
+ <span class='comment'># Close function.
635
+ </span> <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n );\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
636
+
637
+ <span class='comment'># Print return value if exists.
638
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_return_type'>return_type</span>
639
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> \n</span><span class='tstring_end'>&quot;</span></span>
640
+
641
+ <span class='kw'>case</span> <span class='id identifier rubyid_return_type'>return_type</span>
642
+ <span class='kw'>when</span> <span class='symbol'>:integer</span>
643
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> print(LOG_LEVEL_INFO, \&quot;&#39;RPC RTN: &#39;, itoa(return_value)\&quot;);\n</span><span class='tstring_end'>&quot;</span></span>
644
+ <span class='kw'>end</span>
645
+ <span class='kw'>end</span>
646
+
647
+ <span class='id identifier rubyid_fn_output'>fn_output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> }\n\n</span><span class='tstring_end'>&quot;</span></span>
648
+
649
+ <span class='comment'># Store function string.
650
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_function_valid'>function_valid</span>
651
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_fn_output'>fn_output</span>
652
+ <span class='kw'>else</span>
653
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> // Skipped:\n</span><span class='tstring_end'>&quot;</span></span>
654
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> // </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fn'>fn</span><span class='lbracket'>[</span><span class='symbol'>:params</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>)\n\n</span><span class='tstring_end'>&quot;</span></span>
655
+ <span class='kw'>end</span>
656
+ <span class='kw'>end</span>
657
+
658
+ <span class='kw'>end</span>
659
+
660
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> }\n</span><span class='tstring_end'>&quot;</span></span>
661
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>}\n</span><span class='tstring_end'>&quot;</span></span>
662
+ <span class='id identifier rubyid_output'>output</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#end_if\n\n</span><span class='tstring_end'>&quot;</span></span>
663
+
664
+
665
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>include/rpc-functions.axi</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>w+</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span> <span class='id identifier rubyid_f'>f</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_output'>output</span> <span class='rbrace'>}</span>
666
+ <span class='kw'>end</span></pre>
667
+ </td>
668
+ </tr>
669
+ </table>
670
+ </div>
671
+
672
+ </div>
673
+
674
+ </div>
675
+
676
+ <div id="footer">
677
+ Generated on Fri Jan 30 17:24:15 2015 by
678
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
679
+ 0.8.7.6 (ruby-2.1.3).
680
+ </div>
681
+
682
+ </body>
683
+ </html>