/* public CANMessage waitForMessage(uint a_canID, int a_timeout) * { * CANMessage retMsg; * m_canMessage.setID(0); // init so we cannot receive the same frame twice <GS-10022010> * lock (m_canMessage) * { * m_waitMsgID = a_canID; * } * m_resetEvent.WaitOne(a_timeout, true); * lock (m_canMessage) * { * retMsg = m_canMessage; * } * * return retMsg; * } */ override public void handleMessage(CANMessage a_message) { lock (m_canMessage) { if (a_message.getID() == m_waitMsgID) { m_canMessage.setData(a_message.getData()); m_canMessage.setFlags(a_message.getFlags()); m_canMessage.setID(a_message.getID()); m_canMessage.setLength(a_message.getLength()); m_canMessage.setTimeStamp(a_message.getTimeStamp()); m_resetEvent.Set(); } } }