#pragma once #include "rpl4app.h" #include "..\munga_l4\l4splr.h" //########################################################################## //####################### RPSpoolerTask ############################## //########################################################################## class RPSpoolerTask: public SpoolerTask { public: RPSpoolerTask(); ~RPSpoolerTask(); void DispatchPacket(NetworkPacket *packet); long GetTimeBias(); }; class RPL4IdleApplication : public RPL4Application { public: RPL4IdleApplication (HINSTANCE hInstance, HWND hWnd, ResourceFile *resource); ~RPL4IdleApplication(); MissionReviewApplicationManager* GetApplicationManager() { return (MissionReviewApplicationManager*) Application::GetApplicationManager(); } Logical Shutdown(int remainingApps); protected: Registry* MakeRegistry(); NetworkManager* MakeNetworkManager(); void LoadBackgroundTasks(); Logical ExecuteForeground(Time start_of_frame, Scalar frame_duration); void Initialize(); }; //########################################################################## //#################### RPPlaybackApplication ########################## //########################################################################## class RPL4PlaybackApplication: public RPL4Application { public: RPL4PlaybackApplication( HINSTANCE hInstance, HWND hWnd, ResourceFile *resource, SpoolFile *spool_file = NULL ); ~RPL4PlaybackApplication(); Logical TestInstance() const; void SetSpoolFile(SpoolFile *spool_file) {spoolFile = spool_file;} MissionReviewApplicationManager* GetApplicationManager() { return (MissionReviewApplicationManager*) Application::GetApplicationManager(); } long GetTimeBias() {return timeBias;} void DispatchPacket(NetworkPacket *packet); protected: NetworkManager* MakeNetworkManager(); long timeBias; void Initialize(); void LoadBackgroundTasks(); Logical ExecuteForeground( Time start_of_frame, Scalar frame_duration ); void ExecuteBackgroundTask(); static const HandlerEntry MessageHandlerEntries[]; //static MessageHandlerSet MessageHandlers; static MessageHandlerSet& GetMessageHandlers(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data Support // public: //static Derivation *GetClassDerivations(); static Derivation *GetClassDerivations(); static SharedData DefaultData; void RunMissionMessageHandler(RunMissionMessage *message); void StopMissionMessageHandler(StopMissionMessage *message); };