3 Nisan 2019 Çarşamba

Gömülü Proje - Parser

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.
Message {
 ushort m_Length;
 byte* m_pData;
}
ParserFacade şöyle
ParserFacade::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ız
byte* data = //...

Message m;

ParserFacade facade;

while (facade.Parse (data,m)){ 

  ProcessMessage m);

}



Hiç yorum yok:

Yorum Gönder