@@ -53,7 +53,7 @@ public class PowerSyncDatabaseOptions() : BasePowerSyncDatabaseOptions()
5353 public Func < IPowerSyncBackendConnector , Remote > ? RemoteFactory { get ; set ; }
5454}
5555
56- public class PowerSyncDBEvents : EventManager < PowerSyncDBEvents . IPowerSyncDBEvent >
56+ public class PowerSyncDBEvents : EventManager
5757{
5858 public interface IPowerSyncDBEvent ;
5959
@@ -80,60 +80,18 @@ public class StatusUpdatedEvent(SyncStatusOptions status) : IPowerSyncDBEvent
8080 public EventStream < StatusChangedEvent > OnStatusChanged { get ; } = new ( ) ;
8181 public EventStream < StatusUpdatedEvent > OnStatusUpdated { get ; } = new ( ) ;
8282
83- public override bool TryGetStream < T > ( out EventStream < T > stream )
83+ public PowerSyncDBEvents ( )
8484 {
85- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . InitializedEvent ) )
86- {
87- stream = ( EventStream < T > ) ( object ) OnInitialized ;
88- return true ;
89- }
90-
91- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . ClosingEvent ) )
92- {
93- stream = ( EventStream < T > ) ( object ) OnClosing ;
94- return true ;
95- }
96-
97- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . ClosedEvent ) )
98- {
99- stream = ( EventStream < T > ) ( object ) OnClosed ;
100- return true ;
101- }
102-
103- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . SchemaChangedEvent ) )
104- {
105- stream = ( EventStream < T > ) ( object ) OnSchemaChanged ;
106- return true ;
107- }
108-
109- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . StatusChangedEvent ) )
110- {
111- stream = ( EventStream < T > ) ( object ) OnStatusChanged ;
112- return true ;
113- }
114-
115- if ( typeof ( T ) == typeof ( PowerSyncDBEvents . StatusUpdatedEvent ) )
116- {
117- stream = ( EventStream < T > ) ( object ) OnStatusUpdated ;
118- return true ;
119- }
120-
121- stream = null ! ;
122- return false ;
123- }
124-
125- public override void Close ( )
126- {
127- OnInitialized . Close ( ) ;
128- OnClosing . Close ( ) ;
129- OnClosed . Close ( ) ;
130- OnSchemaChanged . Close ( ) ;
131- OnStatusChanged . Close ( ) ;
132- OnStatusUpdated . Close ( ) ;
85+ Register ( OnInitialized ) ;
86+ Register ( OnClosing ) ;
87+ Register ( OnClosed ) ;
88+ Register ( OnSchemaChanged ) ;
89+ Register ( OnStatusChanged ) ;
90+ Register ( OnStatusUpdated ) ;
13391 }
13492}
13593
136- public interface IPowerSyncDatabase
94+ public interface IPowerSyncDatabase : ICloseableAsync
13795{
13896 public Task Connect ( IPowerSyncBackendConnector connector , PowerSyncConnectionOptions ? options = null ) ;
13997 public ISyncStream SyncStream ( string name , Dictionary < string , object > ? parameters = null ) ;
0 commit comments