Esempio n. 1
0
        /// <summary>
        /// Change the volume of a specified zone.
        /// </summary>
        /// <param name="zoneId">Zone id</param>
        /// <param name="adjVolume">Delta Volume</param>
        /// <returns>Zone state, after the command has been performed.</returns>
        private ZoneState AdjustVolume(Address zoneId, int adjVolume)
        {
            MonitorAndControlClient mcProxy = getMCProxy();

            mcProxy.Connect();

            ZoneState zoneState = mcProxy.GetZoneState(zoneId);

            zoneState.Volume = zoneState.Volume + adjVolume;
            mcProxy.SetZoneState(zoneId, zoneState);
            zoneState = mcProxy.GetZoneState(zoneId);

            mcProxy.Disconnect();
            return(zoneState);
        }
Esempio n. 2
0
        /// <summary>
        /// Switches a zone, specified by its zone id, either on or off (depending on its current state).
        /// </summary>
        /// <param name="zoneId">Zone Id</param>
        /// <returns>Zone state, after the switch command has been performed.</returns>
        public ZoneState SwitchZone(Address zoneId)
        {
            MonitorAndControlClient mcProxy = getMCProxy();

            mcProxy.Connect();

            ZoneState zoneState = mcProxy.GetZoneState(zoneId);

            zoneState.PowerStatus = !zoneState.PowerStatus;
            mcProxy.SetZoneState(zoneId, zoneState);
            zoneState = mcProxy.GetZoneState(zoneId);

            mcProxy.Disconnect();
            return(zoneState);
        }
Esempio n. 3
0
        /// <summary>
        /// Changes the source of a specified zone.
        /// </summary>
        /// <param name="zoneId">Zone id, to specify zone</param>
        /// <param name="sourceId">Source id, tp specify source</param>
        /// <returns>Zone state, after the command has been performed.</returns>
        public ZoneState SwitchSource(Address zoneId, Address sourceId)
        {
            MonitorAndControlClient mcProxy = getMCProxy();

            mcProxy.Connect();

            ZoneState zoneState = mcProxy.GetZoneState(zoneId);

            zoneState.Source = sourceId;
            mcProxy.SetZoneState(zoneId, zoneState);
            zoneState = mcProxy.GetZoneState(zoneId);

            mcProxy.Disconnect();
            return(zoneState);
        }
Esempio n. 4
0
 void zoneCtrl__zoneStateChange(object sender, RoutedEventArgs e)
 {
     try
     {
         ZoneControl zoneCtrl = sender as ZoneControl;
         if (zoneCtrl != null)
         {
             _monitorAndControlProxy.SetZoneState(zoneCtrl.Zone.Id, zoneCtrl.ZoneStateCmd);
         }
     }
     catch (Exception)
     {
         _monitorAndControlProxy.Abort();
     }
 }