Live555源码学习第二节
UsageEnvironment类学习
UsageEnvironment代表了整个系统的运行环境,主要包括错误的输入和输出。其默认实现主要针对控制台进行输入和输出。该类中还保存了一个非常重要的数据结构:TaskSecheduler类的引用,这两个类共同构建了整个Live555框架的灵魂。TaskSecheduler类是整个系统的任务调试中心。由此可见这两个类的重要性。它们的关系如下图所示:
从图中可以看到,UsageEnvironment类是抽象基类,与TaskSecheduler是组装关系。为了实现较高层次的抽象,其构造和析构函数均声明为受保护的,在以后的学习中我们可以看到,构造是通过调用静态成员函数createNew实现,而析构则是通过调用reclaim函数。从图中可以看出,BasicUsageEnvironment0类实现了对错误消息的处理,是整个系统错误消息处理中心。而BasicUsageEnvironment类则主要实现了错误消息的输入与输出,该类在实际应用中作用不大,我们可以根据实际需要,继承BasicUsageEnvironment0类,对错误消息的输入与输出进行定制(比如:我们可以将其写入日志,或者显示在图形窗口中)。