Beispiel #1
0
        //public connector(string[] profiles)
        public connector()
        {
            //read config values
            _profiles            = new string[] { _myConfig._profile1, _myConfig._profile2 };
            _bcheckOnUndock      = _myConfig._checkOnUndock;
            _bcheckOnResume      = _myConfig._checkOnResume;
            _bswitchOnDisconnect = _myConfig._switchOnDisconnect;
            _iSwitchTimeout      = _myConfig._switchTimeout;
            _benableLogging      = _myConfig._enableLogging;
#if DEBUG
            Logger.bEnableLogging = true;
#else
            Logger.bEnableLogging = _benableLogging;
#endif
            //_profiles = profiles;
            evtStopThreads.Reset(); // clear event

            OnConnectedMessage("connector initialized with profiles: ");
            try
            {
                _ssRACapi = new itc_ssapi();
            }
            catch (Exception ex)
            {
                throw new NotSupportedException("RAC not active");
            }

            //list profiles and disable all first, only one should be enabled
            foreach (string s in _profiles)
            {
                OnConnectedMessage("\t" + s);
                _ssRACapi.enableProfile(s, false);
            }
            _ssRACapi.enableProfile(_profiles[0], true); //enable primary profile

            _workThread      = new Thread(new ThreadStart(myWorkerThread));
            _workThread.Name = "myWorkerThread";
            _workThread.Start();

            _connectThread      = new Thread(new ThreadStart(connectWatchThread));
            _connectThread.Name = "connectWatchThread";
            _connectThread.Start();

            _timerThread      = new Thread(new ThreadStart(timerThread));
            _timerThread.Name = "timerThread";
            _timerThread.Start();

            _PowerSourceMessages = new PowerSourceChanges();
            _PowerSourceMessages.powerChangedEvent += new PowerSourceChanges.powerChangeEventHandler(_powerSourceMessages_powerChangedEvent);

            _PowerMessages = new PowerMessages();
            _PowerMessages.powerChangedEvent += new PowerMessages.powerChangeEventHandler(_PowerMessages_powerChangedEvent);
        }