예제 #1
0
 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);
            }));
        }
예제 #3
0
 public object OnChildChange <T>(string path, FirebaseChildChangeEnum changeType, FirebaseChildEventDelegate <T> handler)
 {
     return(GetChild(path).OnChildChange <T>(changeType, handler));
 }
예제 #4
0
 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;
 }