Exemple #1
0
        /// <summary>
        /// Resets the device data in preparation for a connect attempt.
        /// </summary>
        /// <param name="isUserOperation"></param>
        /// <param name="inDemoMode"></param>
        ///
        private void ResetImpl(bool isUserOperation, bool inDemoMode = false)
        {
            //if (isUserOperation)
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT: DeviceInfo reset{0}.", inDemoMode ? " (demo mode)" : ""));

            if (inDemoMode)
            {
                DeviceIsPresent = true;
                dataItems_      = DataItem.UIMHello | DataItem.CEMHello | DataItem.UIMConfig | DataItem.CEMConfig | DataItem.CEMSSS | DataItem.OAState;
                CEMVersion      = new ThreePartVersion(3, 1, 16);
                UIMVersion      = new ThreePartVersion(3, 1, 9);
                RCMVersion      = new ThreePartVersion(2, 8, 0);
                ConfigVersion   = new TwoPartVersion(1, 1);
                MachineName     = "DEMO012345";
                Address         = 0xf08ae7;
                NetworkId       = 6;
                CEMInfoFlags    = 0;
                UIMInfoFlags    = 0;
                DNTSSStatus     = CEMCommsStatus.Ready;
                GPSSSStatus     = CEMGPSStatus.FixGood;
                RCMSSStatus     = CEMRCMStatus.CommOk;
            }
            else
            {
                DeviceIsPresent = false;
                dataItems_      = DataItem.None;
                CEMVersion      = null;
                UIMVersion      = null;
                RCMVersion      = null;
                ConfigVersion   = null;
                MachineName     = "";
                Address         = AURADef.InvalidMACAddress;
                NetworkId       = kLocalInvalidNetworkId;
                CEMInfoFlags    = 0;
                UIMInfoFlags    = 0;
                DNTSSStatus     = CEMCommsStatus.InvalidStatusValue;
                GPSSSStatus     = CEMGPSStatus.InvalidStatusValue;
                RCMSSStatus     = CEMRCMStatus.InvalidStatusValue;

                connectCompleteAction_ = registeredConnectCompleteAction_;
            }
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        ///
        private void RaiseCompleteAction()
        {
            inConnectSequence_ = false;

            if (DeviceIsPresent)
            {
                if (!GotCEMHello)
                {
                    CEMVersion = new ThreePartVersion();
                    RCMVersion = new ThreePartVersion();
                }

                if (!GotUIMHello)
                {
                    UIMVersion = new ThreePartVersion();
                }
            }

            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, "CONNECT: DeviceInfo: Raising completion action; current state is:");

            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT:       DeviceIsPresent = {0}", DeviceIsPresent));
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT:          GotUIMConfig = {0}", GotUIMConfig));
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT:           GotUIMHello = {0}", GotUIMHello));
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT:           GotCEMHello = {0}", GotCEMHello));
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT: GotCEMSubSystemStatus = {0}", GotCEMSubSystemStatus));
            //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect, string.Format("CONNECT:            GotOAState = {0}", GotOAState));

            Action callback = connectCompleteAction_;

            connectCompleteAction_ = null;

            try
            {
                callback();
            }
            catch (Exception ex)
            {
                //MainWindow.Log.WriteToLog(LogConfigAURA.ADUConnect,
                // string.Format("DeviceInfo.RaiseCompleteActionIfComplete(): Exception during callback invocation: {0}: {1}", ex.GetType(), ex.Message));
            }
        }