Beispiel #1
0
        public void Observe(Action <ObservationType, T> handler)
        {
            CancelObservation();

            _childEventListener = new ChildEventListener <T>(handler);
            _dbGroupNode.AddChildEventListener(_childEventListener);
        }
 private void CheckAndLoadDatabaseListener()
 {
     if (_databaseChildListener == null)
     {
         _databaseChildListener = (CommentService)SimpleIoc.Default.GetInstance <ICommentService>();
     }
 }
Beispiel #3
0
 public void CancelObservation()
 {
     if (_childEventListener != null)
     {
         _dbGroupNode.RemoveEventListener(_childEventListener);
         _childEventListener = null;
     }
 }
 void Start()
 {
     parentListener = FindParentListenter(transform);
     if (parentListener == null)
     {
         Debug.LogError(name + ": cant find parent listener");
     }
 }
Beispiel #5
0
        public void ObserveAfterId(string afterId, Action <ObservationType, T> handler)
        {
            CancelObservation();

            var query = _dbGroupNode.OrderByKey();

            // If afterId provided, start observing from this id
            if (!string.IsNullOrEmpty(afterId))
            {
                query = query.StartAt(afterId);
            }

            _childEventListener = new ChildEventListener <T>(handler, afterId);
            query.AddChildEventListener(_childEventListener);
        }
Beispiel #6
0
        /// <summary>
        /// Equivalent to AddChildEventListener, except returns an IObservable for use with reactive extensions.
        /// </summary>
        /// <param name="dbQuery">The database query reference.</param>
        /// <param name="listener">A reference to the listener so you can remove it, later.</param>
        /// <returns>Returns a stream of results containing a snapshot and event type.</returns>
        public static IObservable <ChildEventResult> AddChildEventListenerRx(this Query dbQuery, out IChildEventListener listener)
        {
            var eventSubject = new Subject <ChildEventResult>();

            listener = dbQuery.AddChildEventListener(new ChildEventListener(eventSubject));

            return(eventSubject);
        }