Example #1
0
        //private bool isDisposed;



        public static ElkPanel AddOrGetCoreObject(int _panelId)
        {
            try
            {
                lock (ElkCore.Panels)
                {
                    if (ElkCore.Panels.ContainsKey(_panelId))
                    {
                        return(ElkCore.Panels[_panelId]);
                    }
                    else
                    {
                        ElkPanel pnl = new ElkPanel();
                        pnl.Initialize(_panelId);
                        ElkCore.Panels.Add(_panelId, pnl);
                        return(ElkCore.Panels[_panelId]);
                    }
                }
            }
            catch (Exception e)
            {
                ErrorLog.Error("Program {0} - Elk Core: Couldn't add Elk Panel {1} - {2}", (object)progslot, (object)_panelId, (object)e.Message);
                return((ElkPanel)null);
            }
        }
Example #2
0
 public ElkNotificationManager(ElkPanel _panel)
 {
     myPanel = _panel;
     myPanel.OnElkPanelInitializedChanged += myPanel_OnElkPanelInitializedChanged;
     PushoverManager.Instance.OnPushoverInitializedChange += OnPushoverInitializedChange;
     PushoverManager.Instance.PushoverUpdateEvent         += Instance_PushoverUpdateEvent;
     configFileName   = String.Format("\\NVRAM\\ElkNotificationCfg-PanelID-{0}.json", myPanel.getPanelId);
     myMessageHandler = new ElkNotificationMessageHandler(myPanel, this);
 }
Example #3
0
 public void Initialize(ushort _panel)
 {
     myPanel = ElkCore.AddOrGetCoreObject(_panel);
     myNotificationManager = myPanel.NotificationManager;
     myNotificationManager.OnNotificationManagerReady += myNotificationManager_OnNotificationManagerReady;
     if (myPanel == null)
     {
         return;
     }
 }
Example #4
0
        //Init -------------------------------------------------------
        public void Initialize(ushort _panel, ushort _zoneNumber)
        {
            myPanel = ElkCore.AddOrGetCoreObject(_panel);
            if (myPanel == null)
            {
                return;
            }

            if (myPanel.Zones.ContainsKey((int)_zoneNumber))
            {
                myZone = myPanel.Zones[(int)_zoneNumber];
                myZone.ElkZoneEvent += new EventHandler <ElkZoneEventArgs>(myZone_ElkZoneEvent);
            }
        }
Example #5
0
        //Init -------------------------------------------------------
        public void Initialize(ushort _panel, ushort _outputNumber)
        {
            myPanel = ElkCore.AddOrGetCoreObject(_panel);
            if (myPanel == null)
            {
                return;
            }

            if (myPanel.Outputs.ContainsKey((int)_outputNumber))
            {
                myOutput = myPanel.Outputs[(int)_outputNumber];
                myOutput.ElkOutputEvent += new EventHandler <ElkOutputEventArgs>(myOutput_ElkOutputEvent);
            }
        }
Example #6
0
        //Init -------------------------------------------------------
        public void Initialize(ushort _panel, ushort _areaNum)
        {
            myPanel = ElkCore.AddOrGetCoreObject(_panel);
            if (myPanel == null)
            {
                return;
            }

            if (myPanel.Areas.ContainsKey((int)_areaNum))
            {
                myArea = myPanel.Areas[(int)_areaNum];
                myArea.ElkAreaEvent          += new EventHandler <ElkAreaEventArgs>(myArea_ElkAreaEvent);
                myArea.myPw.ElkPasswordEvent += new EventHandler <ElkPasswordEventArgs>(myPw_ElkPasswordEvent);
            }
        }
        public LastZoneStatus(ElkPanel _panel, ElkNotificationMessageHandler _handler, ElkZone _zone, eZoneStatus _zoneStatus)
        {
            TimeToNextMessage = new CTimer(OnNextMessage, Timeout.Infinite);
            myPanel           = _panel;
            Zone       = _zone;
            handler    = _handler;
            lastStatus = eZoneStatus.Uninitialized;

            currentArea = myPanel.GetAreaObject(Zone.GetZoneAreaAssignment);
            areaName    = currentArea.GetAreaName.TrimEnd();
            zoneName    = Zone.GetZoneName.TrimEnd();
            zoneNumber  = Zone.GetZoneNumber;

            CheckMessage();
        }
Example #8
0
 public void Initialize(ushort _panelId, SimplSharpString _host, ushort _port)
 {
     myPanel = ElkCore.AddOrGetCoreObject(_panelId);
     if (myPanel.getPanelIp.Length == 0)
     {
         myPanel.SetDebug(debug);
         myPanel.InitialzeConnection(_host.ToString(), _port);
         myPanel.RegisterSimplClient(Convert.ToString(_panelId));
         myPanel.SimplClients[Convert.ToString(_panelId)].OnNewEvent += new EventHandler <SimplEventArgs>(ElkPanel_SimplEvent);
         this.isRegistered = true;
     }
     else
     {
         ErrorLog.Error("Elk Panel with ID {0} already exists - please only use one panel instance per panel within project.", _panelId);
     }
 }
Example #9
0
 //Init -------------------------------------------------------
 public void Initialize(ElkPanel _panel, int _zone)
 {
     zoneNumber = _zone;
     myPanel    = _panel;
 }
Example #10
0
 //Init -------------------------------------------------------
 public void Initialize(ElkPanel _panel, int _out)
 {
     outputNumber = _out;
     myPanel      = _panel;
 }
 public ElkNotificationMessageHandler(ElkPanel _panel, ElkNotificationManager _manager)
 {
     myElkNotificationManager = _manager;
     myPanel = _panel;
     Initialize();
 }
Example #12
0
 //Init -------------------------------------------------------
 public void Initialize(ElkPanel _panel, int _area)
 {
     areaNumber = _area;
     myPanel    = _panel;
 }