void IpcServerInterface::dispatch(const QVariant &command) { static const int endCommandType = QMetaType::type("CodeModelBackEnd::EndCommand"); static const int registerTranslationUnitsForCodeCompletionCommandType = QMetaType::type("CodeModelBackEnd::RegisterTranslationUnitForCodeCompletionCommand"); static const int unregisterTranslationUnitsForCodeCompletionCommandType = QMetaType::type("CodeModelBackEnd::UnregisterTranslationUnitsForCodeCompletionCommand"); static const int registerProjectPartsForCodeCompletionCommandType = QMetaType::type("CodeModelBackEnd::RegisterProjectPartsForCodeCompletionCommand"); static const int unregisterProjectPartsForCodeCompletionCommandType = QMetaType::type("CodeModelBackEnd::UnregisterProjectPartsForCodeCompletionCommand"); static const int completeCodeCommandType = QMetaType::type("CodeModelBackEnd::CompleteCodeCommand"); int type = command.userType(); if (type == endCommandType) end(); else if (type == registerTranslationUnitsForCodeCompletionCommandType) registerTranslationUnitsForCodeCompletion(command.value<RegisterTranslationUnitForCodeCompletionCommand>()); else if (type == unregisterTranslationUnitsForCodeCompletionCommandType) unregisterTranslationUnitsForCodeCompletion(command.value<UnregisterTranslationUnitsForCodeCompletionCommand>()); else if (type == registerProjectPartsForCodeCompletionCommandType) registerProjectPartsForCodeCompletion(command.value<RegisterProjectPartsForCodeCompletionCommand>()); else if (type == unregisterProjectPartsForCodeCompletionCommandType) unregisterProjectPartsForCodeCompletion(command.value<UnregisterProjectPartsForCodeCompletionCommand>()); else if (type == completeCodeCommandType) completeCode(command.value<CompleteCodeCommand>()); else qWarning() << "Unknown IpcServerCommand"; }
void ClangCodeModelServerInterface::dispatch(const MessageEnvelop &messageEnvelop) { switch (messageEnvelop.messageType()) { case MessageType::EndMessage: end(); break; case MessageType::RegisterTranslationUnitForEditorMessage: registerTranslationUnitsForEditor(messageEnvelop.message<RegisterTranslationUnitForEditorMessage>()); break; case MessageType::UpdateTranslationUnitsForEditorMessage: updateTranslationUnitsForEditor(messageEnvelop.message<UpdateTranslationUnitsForEditorMessage>()); break; case MessageType::UnregisterTranslationUnitsForEditorMessage: unregisterTranslationUnitsForEditor(messageEnvelop.message<UnregisterTranslationUnitsForEditorMessage>()); break; case MessageType::RegisterProjectPartsForEditorMessage: registerProjectPartsForEditor(messageEnvelop.message<RegisterProjectPartsForEditorMessage>()); break; case MessageType::UnregisterProjectPartsForEditorMessage: unregisterProjectPartsForEditor(messageEnvelop.message<UnregisterProjectPartsForEditorMessage>()); break; case MessageType::RegisterUnsavedFilesForEditorMessage: registerUnsavedFilesForEditor(messageEnvelop.message<RegisterUnsavedFilesForEditorMessage>()); break; case MessageType::UnregisterUnsavedFilesForEditorMessage: unregisterUnsavedFilesForEditor(messageEnvelop.message<UnregisterUnsavedFilesForEditorMessage>()); break; case MessageType::CompleteCodeMessage: completeCode(messageEnvelop.message<CompleteCodeMessage>()); break; case MessageType::RequestDocumentAnnotationsMessage: requestDocumentAnnotations(messageEnvelop.message<RequestDocumentAnnotationsMessage>()); break; case MessageType::RequestReferencesMessage: requestReferences(messageEnvelop.message<RequestReferencesMessage>()); break; case MessageType::RequestFollowSymbolMessage: requestFollowSymbol(messageEnvelop.message<RequestFollowSymbolMessage>()); break; case MessageType::RequestToolTipMessage: requestToolTip(messageEnvelop.message<RequestToolTipMessage>()); break; case MessageType::UpdateVisibleTranslationUnitsMessage: updateVisibleTranslationUnits(messageEnvelop.message<UpdateVisibleTranslationUnitsMessage>()); break; default: qWarning() << "Unknown ClangCodeModelServerMessage"; } }