Giriş
ParserFacade stack üzerinde yaratılan bir bellek üzerinde yürüyerek, mesajları çıkarıyor ve Message sınıfına atıyor. Mesaj sınıfı şöyle. Sadece veriyi taşır. Veriyi anlamlandırmaya çalışmaz.
ParserFacade stack üzerinde yaratılan bir bellek üzerinde yürüyerek, mesajları çıkarıyor ve Message sınıfına atıyor. Mesaj sınıfı şöyle. Sadece veriyi taşır. Veriyi anlamlandırmaya çalışmaz.
Message {
ushort m_Length;
byte* m_pData;
}
ParserFacade şöyleParserFacade::Parse (byte* pData, Message& m, EnumMessageType messageType) {
IParser* pParser = ParserFactor::GetParser (messageType);
byte* pDataStart = pParser->Parse (&length);
if (pDataStart != NULL) {
m.SetLength (length);
m.SetData (pDataStart);
return true;
}
return false;
}
ParserFacade'ı kullanmak için şöyle yaparızbyte* data = //...
Message m;
ParserFacade facade;
while (facade.Parse (data,m)){
ProcessMessage m);
}
Hiç yorum yok:
Yorum Gönder