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

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