public string query(string path, string child, string start, string end, ChildCB childCB) { DatabaseReference f = FirebaseDatabase.DefaultInstance.RootReference.Child(path); Query qf = f.OrderByChild(child).StartAt(start).EndAt(end); string pathUid = path + "_" + child + "_" + start + "_" + end; RealDBListener l = getAndInjectListener(pathUid, qf); l.add(ListenerKind.ChildAdd, childCB); return(pathUid); }
public void subscribe(string path, Action <string> val) { if (!isInited()) { throw new NullReferenceException("Not Login"); } DatabaseReference f = getPath(path); RealDBListener l = getAndInjectListener(path, f); l.add(ListenerKind.Value, val); }
private RealDBListener getAndInjectListener(string path, Query f) { RealDBListener l = null; if (!subscribeMap.ContainsKey(path)) { l = subscribeMap.get(path, new RealDBListener(f, path)); } else { l = subscribeMap[path]; } return(l); }