private void RequestFireKey() { var fireKey = m_remote.GetKey(); // keynumber has to be positiv if (fireKey > 0) { // generate Key with this.myKey = new FireKey(fireKey, renewIntervall, true); // listening to the event this.myKey.KeyExpired += FireKey_Expired; } }
public int GetKey() { DisplayMessage("GetKey requested"); // check if a new key is allowed if (QueuedFireKeys.Count < this.maxClients) { var genKey = GenerateKeyNumber(); //generating key FireKey key = new FireKey(genKey, this.expireTime); // setting exprie Time key.KeyExpired += FireKey_Expired; // adding expired listener //queue key QueuedFireKeys.Add(key); DisplayMessage("new key is " + genKey.ToString()); return(genKey); } DisplayMessage("no key available"); return(-1); }
public bool ReleaseKey(int key) { DisplayMessage("ReleaseKey requested with key: " + key.ToString()); FireKey deleateKey = null; // iterate through Key storage and remove key foreach (FireKey iterationKey in QueuedFireKeys) { if (iterationKey.KeyNumber == key) { deleateKey = iterationKey; } } if (deleateKey != null) { DisplayMessage("key deleted"); DeleateFireKey(deleateKey); return(true); } // key was expired return false DisplayMessage("key was expired"); return(false); }
private void DeleateFireKey() { this.myKey.KeyExpired -= FireKey_Expired; this.myKey = null; }
private void DeleateFireKey(FireKey key) { key.KeyExpired -= FireKey_Expired; QueuedFireKeys.Remove(key); DisplayMessage("EXPIRED KEY deleated: " + key.KeyNumber.ToString()); }