У меня есть приложение, которое будет получать сообщения из другого приложения.Эти сообщения будут представлять собой строки в формате XML, и они будут содержать тег <messageType>
.Тип сообщения будет определять это сообщение как тип внутреннего сообщения.Следующий код показывает мои внутренние структуры сообщений.
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>
.
Мои цели ясны?мой подход правильный?
Дайте мне знать, если я должен уточнить, или я должен выбрать другой подход.