다른 응용 프로그램에서 메시지를받을 응용 프로그램이 있습니다. 이 메시지는 XML 형식의 문자열이며 <messageType>
태그를 포함합니다. 메시지 유형은이 메시지를 일종의 내부 메시지로 식별합니다. 다음 코드는 내 내부 메시지 구조를 보여줍니다.템플릿 클래스 C++/Qt
namespace
Application1{
enum ApplicationAttributes{
ApplicationName = 1000,
Start,
Stop,
Pause,
Save,
Discard,
SelectRunway,
DoAlignment,
RedoAlignment,
AlignmentOK,
DoCalibrationStage1,
SetCalibrationStage1,
SetCalibrationStage2,
SetCalibrationStage3,
CancelCalibration,
CalibrationOK
};
struct Alignment{
int x;
int y;
int error;
};
struct Calibration{
int x;
int y;
int error;
};
}
정렬 및 교정은 두 가지 내부 메시지 구조입니다.
내가하려는 것은 XML 문자열을 받고, 디코드하고 위에 표시된 구조체 중 하나를 반환하는 '메시지 인터프리터'를 작성하는 것입니다. 따라서 <messageType>
이 'alignment'이면 메시지 해석기가 정렬 구조체를 작성한 다음이를 반환합니다.
궁극적으로 나는 <messageType>
에서 읽은 것을 기반으로 임의의 구조체를 반환 할 수있는 템플릿 함수를 만들려고합니다.
내 목표는 명확합니까? 내 접근 방식이 맞습니까?
분명히해야하는지 아니면 다른 접근 방법을 사용해야하는지 알려주세요.