public ProtocolQuantumSecuredBasic()
     : base()
 {
     _master = null;
     _slave = null;
 }
        private void GenerateProtocol()
        {
            IClassicChannel classicChannel = ClassicChannelFactory.generateP2PChannel();
            IQuantumChannel quantumChannel = QuantumChannelFactory.generateP2PChannel();

            IChannelStationDual masterStation = DualChannelStationFactory.generateStation(ChannelClassic, ChannelQuantum);
            IChannelStationDual slaveStation = DualChannelStationFactory.generateStation(ChannelClassic, ChannelQuantum);

            _quantumSecuredMaster = FactoryQuantumProtocolSecured.generateQuantumSecuredAgent("master", masterStation);
            _quantumSecuredSlave = FactoryQuantumProtocolSecured.generateQuantumSecuredAgent("slave", slaveStation);

            _quantumSecuredProtocol = FactoryQuantumProtocolSecured.generateQuantumSecuredProtocol();
            _quantumSecuredProtocol.Master = _quantumSecuredMaster;
            _quantumSecuredProtocol.Slave = _quantumSecuredSlave;
            _quantumSecuredProtocol.BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBeforeStart);
            _quantumSecuredProtocol.AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredAfterFinish);
            _quantumSecuredProtocol.BB84BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84BeforeStart);
            _quantumSecuredProtocol.BB84AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84AfterFinish);
            _quantumSecuredProtocol.BB84GenerationStep1BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep1BeforeStart);
            _quantumSecuredProtocol.BB84GenerationStep1AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep1AfterFinish);
            _quantumSecuredProtocol.BB84GenerationStep2BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep2BeforeStart);
            _quantumSecuredProtocol.BB84GenerationStep2AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep2AfterFinish);
            _quantumSecuredProtocol.BB84GenerationStep3BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep3BeforeStart);
            _quantumSecuredProtocol.BB84GenerationStep3AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84GenerationStep3AfterFinish);
            _quantumSecuredProtocol.BB84VerifyKeyBeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84VerifyKeyBeforeStart);
            _quantumSecuredProtocol.BB84VerifyKeyAfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84VerifyKeyAfterFinish);
            _quantumSecuredProtocol.BB84ComparisonStep1BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep1BeforeStart);
            _quantumSecuredProtocol.BB84ComparisonStep1AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep1AfterFinish);
            _quantumSecuredProtocol.BB84ComparisonStep2BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep2BeforeStart);
            _quantumSecuredProtocol.BB84ComparisonStep2AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep2AfterFinish);
            _quantumSecuredProtocol.BB84ComparisonStep3BeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep3BeforeStart);
            _quantumSecuredProtocol.BB84ComparisonStep3AfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84ComparisonStep3AfterFinish);
            _quantumSecuredProtocol.BB84DecisionBeforeStart += new EventHandlerProtocol(ProcessQuantumSecuredBB84DecisionBeforeStart);
            _quantumSecuredProtocol.BB84DecisionAfterFinish += new EventHandlerProtocol(ProcessQuantumSecuredBB84DecisionAfterFinish);
            _quantumSecuredProtocol.DataTransmissionBeforeStart += new EventHandlerProtocol(ProcessDataTransmissionBeforeStart);
            _quantumSecuredProtocol.DataTransmissionAfterFinish += new EventHandlerProtocol(ProcessDataTransmissionAfterFinish);
        }