关于MailHub,MailBox与APP之间的关系

        “所有通过UI或协议栈发送的消息,都要先到达MailHub,MailHub按照UI层或协议栈发来的消息
调用合适的功能并发送给Mailboxes。这个功能一般默认是调用FindMailHandler, 这个函数用来查找在消息队列中已经分配好
的消息处理函数"
           VIA
UI架框的说明文档中的介绍,但具体到程序中又是如何体现与应用的,与我们的APP有什么关系呢:
        
如果说一个个APP是独立的模块,那么MailHub和MailBox就是联系它们之间的桥梁,通过消息来呼叫各APP,即使像打开一个窗口这样的动作。

            BEGIN_MAIL_MAP(ZjjguessAppC,
ApplicationC)
           ON_MAIL_NOARGS(ZJJGUESS_LAUNCH, ZjjguessAppC::OnLaunch)
          
 END_MAIL_MAP()

这是APP中定义的消息映射关系,当接收到消息ZJJGUESS_LAUNCH时,会执行OnLaunch这个方法。具体到MailHub与MailBox的实现方式,就更繁琐一些,与VAL和RTOS有关,但这并不防碍自己写的APP对他们调用的理解。以后有机会再对他们的内部实现原理与方法进行深入地介绍。
 

 

2 thoughts on “关于MailHub,MailBox与APP之间的关系

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.