private void HandleChange(FirebaseChildChangeEnum type, DataSnapshot snapshot, string previousChildName) { FirebaseXamarinHelper.RunOnUIThread(() => { var snapData = DataConverter.Convert <T>(snapshot.Value, GetObjectFromHandler(eventDelegate)); eventDelegate.OnSnapshot(type, previousChildName, new KeyValuePair <string, T>(snapshot.Key, snapData)); SetObjectFromHandler(eventDelegate, snapData); }); }
public object OnChildChange <T>(FirebaseChildChangeEnum changeType, FirebaseChildEventDelegate <T> handler) { //var rootNode = GetNodeFromPath(path); int changeIdx = (int)changeType; return((uint)databaseReference.ObserveEvent((DataEventType)changeIdx, (snapshot) => { HandleChildChange(handler, changeType, snapshot, null); })); }
public object OnChildChange <T>(string path, FirebaseChildChangeEnum changeType, FirebaseChildEventDelegate <T> handler) { return(GetChild(path).OnChildChange <T>(changeType, handler)); }
public ChildTypeValueListener(FirebaseChildEventDelegate <T> eventDelegate, FirebaseChildChangeEnum changeType) { this.eventDelegate = eventDelegate; this.changeType = changeType; }
public object OnChildChange<T>(FirebaseChildChangeEnum changeType, FirebaseChildEventDelegate<T> handler) { var listener = new ChildTypeValueListener<T>(handler, changeType); query.AddChildEventListener(listener); return listener; }