Ejemplo n.º 1
0
		// from observable<i_packet_stream_observer<PacketType, Protocol> >
		virtual void notify_observer(observer_type& aObserver, typename observer_type::notify_type aType, const void* aParameter, const void*)
		{
			switch(aType)
			{
			case observer_type::NotifyConnectionEstablished:
				aObserver.connection_established(*this);
				break;
			case observer_type::NotifyConnectionFailure:
				aObserver.connection_failure(*this, *static_cast<const boost::system::error_code*>(aParameter));
				break;
			case observer_type::NotifyPacketSent:
				aObserver.packet_sent(*this, *static_cast<const packet_type*>(aParameter));
				break;
			case observer_type::NotifyPacketArrived:
				aObserver.packet_arrived(*this, *static_cast<const packet_type*>(aParameter));
				break;
			case observer_type::NotifyTransferFailure:
				aObserver.transfer_failure(*this, *static_cast<const boost::system::error_code*>(aParameter));
				break;
			case observer_type::NotifyConnectionClosed:
				aObserver.connection_closed(*this);
				break;
			}
		}