source: Include/Classes/System/Diagnostics/TraceListenerCollection.ab@ 246

Last change on this file since 246 was 246, checked in by dai, 17 years ago

Objectクラス、Stringクラスの定義をSystem名前空間に入れると共に、コンパイラ側で両者のクラスをSystem名前空間に依存しない特殊型として扱うようにした。
System.Diagnostics名前空間を導入した。
Namespaceステートメントのコード補間機能に対応。

File size: 1.8 KB
RevLine 
[246]1Namespace System
2 Namespace Diagnostics
[66]3
[246]4 ' リスナコレクション
5 Class TraceListenerCollection
6 pListeners As *TraceListener
7 count As Long
8 Public
[66]9
[246]10 Sub TraceListenerCollection()
11 pListeners = _System_malloc( 1 )
12 End Sub
13 Sub ~TraceListenerCollection()
14 _System_free( pListeners )
15 End Sub
[66]16
[246]17 '----------------------------------------------------------------
18 ' パブリック メソッド
19 '----------------------------------------------------------------
[66]20
[246]21 ' リスナを追加
22 Sub Add( listener As TraceListener )
23 pListeners = _System_realloc( pListeners, ( count + 1 ) * SizeOf( LONG_PTR ) )
24 pListeners[count] = listener
25 count++
26 End Sub
[66]27
[246]28 ' 複数のリスナを追加
29 Sub AddRange( listeners As TraceListenerCollection )
30 ' TODO: 実装
31 End Sub
[66]32
[246]33 ' リストからすべてのリスナを削除
34 Sub Clear()
35 ' TODO: 実装
36 End Sub
[66]37
[246]38 ' 指定したリスナのインデックスを取得
39 Function IndexOf( listener As TraceListener )
40 ' TODO: 実装
41 End Function
[66]42
[246]43 ' リスナを挿入
44 Sub Insert( index As Long, listener As TraceListener )
45 ' TODO: 実装
46 End Sub
[66]47
[246]48 ' リスナを削除
49 Function Remove( name As String )
50 ' TODO: 実装
51 End Function
52 Function Remove( listener As TraceListener )
53 ' TODO: 実装
54 End Function
[66]55
56
[246]57 '----------------------------------------------------------------
58 ' パブリック プロパティ
59 '----------------------------------------------------------------
[66]60
[246]61 ' インデクサ ( Getter )
62 Function Operator[] ( index As Long ) As TraceListener
63 If index < 0 or count <= index Then
64 ' TODO: エラー処理
65 debug
66 End If
[66]67
[246]68 Return pListeners[index]
69 End Function
70
71 ' 保有するリスナの数を取得する
72 Function Count() As Long
73 Return count
74 End Function
75 End Class
76
77 End Namespace
78End Namespace
Note: See TracBrowser for help on using the repository browser.