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

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

Booleanがコンパイラで実装されたので、TypeDefを削除。
DLLコンパイル時にGCの破棄部分が正常に働かないバグを修正。
TraceListener周りを修正。

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 ) ByRef As TraceListener
64 If index < 0 or count <= index Then
65 ' TODO: エラー処理
66 debug
67 End If
68
69 Return ByVal ppListeners[index]
70 End Function
71
72 ' 保有するリスナの数を取得する
73 Function Count() As Long
74 Return count
75 End Function
76End Class
Note: See TracBrowser for help on using the repository browser.