Rev 991 | Rev 1024 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 991 | Rev 999 | ||
|---|---|---|---|
| Line 49... | Line 49... | ||
| 49 | myChannel = new AsyncSocket(); |
49 | myChannel = new AsyncSocket(); |
| 50 | } |
50 | } |
| 51 | 51 | ||
| 52 | CanNetManager::~CanNetManager() |
52 | CanNetManager::~CanNetManager() |
| 53 | { |
53 | { |
| - | 54 | stop(); |
|
| 54 | CanIdTranslator::deleteInstance(); |
55 | CanIdTranslator::deleteInstance(); |
| 55 | myChannel->stop(); |
56 | myChannel->stop(); |
| 56 | delete myChannel; |
57 | delete myChannel; |
| 57 | } |
58 | } |
| 58 | 59 | ||
| 59 | void CanNetManager:: |
60 | void CanNetManager::run() |
| 60 | { |
61 | { |
| 61 | SyslogStream &slog = SyslogStream::getInstance(); |
62 | SyslogStream &slog = SyslogStream::getInstance(); |
| 62 | VirtualMachine &vm = VirtualMachine::getInstance(); |
63 | VirtualMachine &vm = VirtualMachine::getInstance(); |
| 63 | CanDebug &canDebug = CanDebug::getInstance(); |
64 | CanDebug &canDebug = CanDebug::getInstance(); |
| 64 | 65 | ||
| Line 84... | Line 85... | ||
| 84 | 85 | ||
| 85 | bool waitingForPong = false; |
86 | bool waitingForPong = false; |
| 86 | vector<string> dataLines; |
87 | vector<string> dataLines; |
| 87 | string data; |
88 | string data; |
| 88 | CanMessage *canMessage = NULL; |
89 | CanMessage *canMessage = NULL; |
| - | 90 | string expression; |
|
| 89 | 91 | ||
| 90 | while (1) |
92 | while (1) |
| 91 | { |
93 | { |
| 92 | myChannel->eventWait(); |
94 | myChannel->eventWait(); |
| 93 | 95 | ||
| Line 143... | Line 145... | ||
| 143 | 145 | ||
| 144 | canMessage = new CanMessage(data); |
146 | canMessage = new CanMessage(data); |
| 145 | 147 | ||
| 146 | if (!canMessage->isUnknown()) |
148 | if (!canMessage->isUnknown()) |
| 147 | { |
149 | { |
| - | 150 | if (canMessage->getClassName() == "nmt") |
|
| - | 151 | { |
|
| - | 152 | expression = "handleNMTMessage("; |
|
| - | 153 | expression += "'" + canMessage->getClassName() + "', "; |
|
| - | 154 | expression += "'" + canMessage->getCommandName() + "', "; |
|
| - | 155 | expression += canMessage->getJSONData(); |
|
| - | 156 | expression += ");"; |
|
| - | 157 | } |
|
| - | 158 | else |
|
| - | 159 | { |
|
| - | 160 | expression = "handleMessage("; |
|
| - | 161 | expression += "'" + canMessage->getClassName() + "', "; |
|
| - | 162 | expression += "'" + canMessage->getDirectionFlag() + "', "; |
|
| - | 163 | expression += "'" + canMessage->getModuleName() + "', "; |
|
| - | 164 | expression += "" + itos(canMessage->getModuleId()) + ", "; |
|
| - | 165 | expression += "'" + canMessage->getCommandName() + "', "; |
|
| - | 166 | expression += canMessage->getJSONData(); |
|
| - | 167 | expression += ");"; |
|
| - | 168 | } |
|
| - | 169 | ||
| 148 | vm. |
170 | vm.queueExpression(expression); |
| 149 | canDebug. |
171 | canDebug.sendCanMessageToAll(*canMessage); |
| 150 | } |
172 | } |
| 151 | else |
173 | else |
| 152 | { |
174 | { |
| 153 | canDebug. |
175 | canDebug.sendToAll(data + "\n"); |
| 154 | } |
176 | } |
| 155 | 177 | ||
| 156 | delete canMessage; |
178 | delete canMessage; |
| 157 | canMessage = NULL; |
179 | canMessage = NULL; |
| 158 | } |
180 | } |
| Line 198... | Line 220... | ||
| 198 | 220 | ||
| 199 | void CanNetManager::sendMessage(CanMessage canMessage) |
221 | void CanNetManager::sendMessage(CanMessage canMessage) |
| 200 | { |
222 | { |
| 201 | CanDebug &canDebug = CanDebug::getInstance(); |
223 | CanDebug &canDebug = CanDebug::getInstance(); |
| 202 | myChannel->sendData(canMessage.getRaw()); |
224 | myChannel->sendData(canMessage.getRaw()); |
| 203 | canDebug. |
225 | canDebug.sendCanMessageToAll(canMessage); |
| 204 | } |
226 | } |
| 205 | 227 | ||