Beispiel #1
0
        public static void AddListener(AudioSessionProperty property, PropertyListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            if (listeners == null)
            {
                listeners = new Hashtable();
            }

            ArrayList a = (ArrayList)listeners [property];

            if (a == null)
            {
                listeners [property] = a = new ArrayList();
            }

            a.Add(listener);

            if (a.Count == 1)
            {
                AudioSessionAddPropertyListener(property, Listener, IntPtr.Zero);
            }
        }
Beispiel #2
0
 public static PropertiesListener Join(PropertyListener listener1, PropertyListener listener2)
 {
     return(new PropertiesListener(listener1,
                                   new[] { listener1.PropertyType, listener2.PropertyType },
                                   new[] { listener1.PropertyName, listener2.PropertyName },
                                   new[] { listener1.GetValue, listener2.GetValue }));
 }
Beispiel #3
0
 public static PropertiesListener Join(PropertiesListener listener1, PropertyListener listener2)
 {
     return(new PropertiesListener(listener1,
                                   listener1.propertyTypes.Concat(new[] { listener2.PropertyType }).ToArray(),
                                   listener1.propertyNames.Select(x => x.Key).Concat(new[] { listener2.PropertyName }).ToArray(),
                                   listener1.getValues.Concat(new[] { listener2.GetValue }).ToArray()));
 }
Beispiel #4
0
        public static AudioSessionErrors AddListener(AudioSessionProperty property, PropertyListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            if (listeners == null)
            {
                listeners = new Dictionary <AudioSessionProperty, List <PropertyListener> > ();
            }

            List <PropertyListener> a;

            if (!listeners.TryGetValue(property, out a))
            {
                listeners [property] = a = new List <PropertyListener> ();
            }

            a.Add(listener);

            if (a.Count == 1)
            {
                return(AudioSessionAddPropertyListener(property, Listener, IntPtr.Zero));
            }

            return(AudioSessionErrors.None);
        }
		static void AddListenerEvent (AudioSessionProperty property, object handler, PropertyListener listener)
		{
			if (strongListenerHash == null)
				Interlocked.CompareExchange (ref strongListenerHash, new Hashtable (), null);

			lock (strongListenerHash) {
				strongListenerHash [handler] = listener;
			}

			AddListener (property, listener);
		}
		public static void RemoveListener (AudioSessionProperty property, PropertyListener listener)
		{
			if (listener == null)
				throw new ArgumentNullException ("listener");

			ArrayList a = (ArrayList) listeners [property];
			if (a == null)
				return;
			a.Remove (listener);
			if (a.Count == 0)
				listeners [property] = null;
		}
Beispiel #7
0
        public static void RemoveListener(AudioSessionProperty property, PropertyListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            List <PropertyListener> a;

            if (!listeners.TryGetValue(property, out a))
            {
                return;
            }
            a.Remove(listener);
            if (a.Count == 0)
            {
                listeners [property] = null;
            }
        }
		public static AudioSessionErrors AddListener (AudioSessionProperty property, PropertyListener listener)
		{
			if (listener == null)
				throw new ArgumentNullException ("listener");

			if (listeners == null)
				listeners = new Hashtable ();

			ArrayList a = (ArrayList) listeners [property];
			if (a == null)
				listeners [property] = a = new ArrayList ();

			a.Add (listener);

			if (a.Count == 1) {
				return AudioSessionAddPropertyListener (property, Listener, IntPtr.Zero);
			}

			return AudioSessionErrors.None;
		}
Beispiel #9
0
 public bool Compatible <TItem>(PropertyListener <TItem> other)
 {
     return(object.Equals(this.eventHandler, other.eventHandler) && (this.ValuesToManager == other.ValuesToManager));
 }
Beispiel #10
0
        public static void RemoveListener(AudioSessionProperty property, PropertyListener listener)
        {
            if (listener == null)
                throw new ArgumentNullException ("listener");

            ArrayList a = (ArrayList) listeners [property];
            if (a == null)
                return;
            a.Remove (listener);
            if (a.Count == 0)
                listeners [property] = null;
        }
Beispiel #11
0
        public static void AddListener(AudioSessionProperty property, PropertyListener listener)
        {
            if (listener == null)
                throw new ArgumentNullException ("listener");

            if (listeners == null)
                listeners = new Hashtable ();

            ArrayList a = (ArrayList) listeners [property];
            if (a == null)
                listeners [property] = a = new ArrayList ();

            a.Add (listener);

            if (a.Count == 1)
                AudioSessionAddPropertyListener (property, Listener, IntPtr.Zero);
        }
		static void AddListenerEvent (AudioSessionProperty property, object handler, PropertyListener listener)
		{
			if (strongListenerHash == null)
				Interlocked.CompareExchange (ref strongListenerHash, new Hashtable (), null);

			lock (strongListenerHash) {
				strongListenerHash [handler] = listener;
			}

			AddListener (property, listener);
		}