//===========================================================================// // File: apptask.hpp // // Project: MUNGA Brick: Application // // Contents: Interface specification for Application // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 08/24/94 ECH Initial coding. // //---------------------------------------------------------------------------// // Copyright (C) 1994-1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #pragma once #include "Adept.hpp" namespace Adept { //########################################################################## //####################### ApplicationTask ############################ //########################################################################## class ApplicationTask: public Stuff::Plug { public: static void InitializeClass(); static void TerminateClass(); ApplicationTask(ClassData *class_data = DefaultData); ~ApplicationTask(); void TestInstance(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class Data Support // public: static ClassData *DefaultData; virtual bool Execute(); }; //########################################################################## //####################### BackgroundTasks ############################ //########################################################################## class BackgroundTasks: public Stuff::Plug { public: BackgroundTasks(); virtual ~BackgroundTasks(); void AddTask(ApplicationTask *task); virtual bool Execute(); protected: Stuff::SafeChainOf taskSocket; Stuff::SafeChainIteratorOf *taskIterator; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~ ProcessEventTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class ProcessEventTask: public ApplicationTask { public: ProcessEventTask() {} ~ProcessEventTask() {} bool Execute(); static int ProcessEventCalls; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~ FryDeathRowTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class FryDeathRowTask: public ApplicationTask { public: FryDeathRowTask() {} ~FryDeathRowTask() {} bool Execute(); }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~ RoutePacketsTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class RoutePacketsTask: public ApplicationTask { public: RoutePacketsTask() {} ~RoutePacketsTask() {} bool Execute(); }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~ RouteLocalPacketsTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class RouteLocalPacketsTask: public ApplicationTask { public: RouteLocalPacketsTask() {} ~RouteLocalPacketsTask() {} bool Execute(); }; }