//===========================================================================// // File: evtstat.hpp // // Project: MUNGA Brick: Event Manager // // Contents: interface specification of event manager // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 05/15/96 ECH Initial coding. // //---------------------------------------------------------------------------// // Copyright (C) 1994-1995, Virtual World Entertainment, Inc. // // PROPRIETARY AND CONFIDENTIAL // //===========================================================================// #if !defined(EVTSTAT_HPP) # define EVTSTAT_HPP # if !defined(STYLE_HPP) # include # endif # if !defined(RECEIVER_HPP) # include # endif # if !defined(TABLE_HPP) # include # endif //######################################################################### //######################## EventStatistics ########################## //######################################################################### class EventStatistics: public Plug { friend class EventStatisticsManager; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Construction, Destruction // public: EventStatistics::EventStatistics( ClassID class_ID, Receiver::MessageID message_ID ); ~EventStatistics() {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Private Data // private: ClassID classID; Receiver::MessageID messageID; long eventCount; }; //######################################################################### //##################### EventStatisticsManager ###################### //######################################################################### class EventStatisticsManager: public Node { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Construction, Destruction // public: EventStatisticsManager::EventStatisticsManager(); ~EventStatisticsManager() {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Statistic collection and reporting // public: void Maintain(Event *event); void Report(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Private Data // private: TableOf eventStatisticsSocket; Logical printedReport; }; extern EventStatisticsManager event_statistics_manager; #endif