00001 00010 #ifndef __UIUC_CHARM_LV3D0_SERVER_H 00011 #define __UIUC_CHARM_LV3D0_SERVER_H 00012 00013 #include "lv3d0.h" /* shared client and server classes */ 00014 #include "lv3d0.decl.h" /* for message superclass */ 00015 00017 class LV3D_ViewpointMsg : public CMessage_LV3D_ViewpointMsg { 00018 public: 00019 int clientID; //Unique identifier for this client 00020 int frameID; //0 is first frame, then incrementing 00021 CkViewpoint viewpoint; //Viewpoint of request 00022 }; 00023 00027 class LV3D_ServerMgr { 00028 public: 00029 virtual ~LV3D_ServerMgr(); 00030 virtual void newClient(int clientID) =0; 00031 virtual void newViewpoint(LV3D_ViewpointMsg *m) =0; 00032 virtual void doBalance(void) =0; 00033 }; 00034 00043 void LV3D0_Init(LV3D_Universe *clientUniverse,LV3D_ServerMgr *mgr); 00044 00050 void LV3D0_Deposit(CkView *v,int clientID); 00051 00052 00053 #endif