00001 /*************************************************************************** 00002 *cr 00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 00004 *cr University of Illinois 00005 *cr All Rights Reserved 00006 *cr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * RCS INFORMATION: 00011 * 00012 * $RCSfile: CmdIMD.h,v $ 00013 * $Author: johns $ $Locker: $ $State: Exp $ 00014 * $Revision: 1.27 $ $Date: 2019/01/17 21:20:58 $ 00015 * 00016 *************************************************************************** 00017 * DESCRIPTION: 00018 * Commands for IMD simulation control 00019 ***************************************************************************/ 00020 00021 00022 #ifndef CMDIMD_H__ 00023 #define CMDIMD_H__ 00024 00025 #include "Command.h" 00026 00028 class CmdIMDConnect : public Command { 00029 00030 public: 00031 CmdIMDConnect(int id, const char *hostname, int port); 00032 virtual ~CmdIMDConnect(); 00033 00034 int molid; 00035 char *host; 00036 int port; 00037 00038 protected: 00039 virtual void create_text(); 00040 }; 00041 00042 00044 class CmdIMDSim : public Command { 00045 public: 00046 enum CmdIMDSimCommand { 00047 PAUSE_TOGGLE, 00048 PAUSE_ON, 00049 PAUSE_OFF, 00050 DETACH, 00051 KILL 00052 }; 00053 00054 CmdIMDSim(CmdIMDSimCommand); 00055 00056 protected: 00057 virtual void create_text(); 00058 00059 private: 00060 CmdIMDSimCommand cmd; 00061 }; 00062 00064 class CmdIMDRate : public Command { 00065 public: 00066 enum CmdIMDRateCommand { TRANSFER, KEEP }; 00067 CmdIMDRate(CmdIMDRateCommand, int); 00068 00069 protected: 00070 virtual void create_text(); 00071 00072 private: 00073 CmdIMDRateCommand rate_type; 00074 int rate; 00075 }; 00076 00078 class CmdIMDCopyUnitCell : public Command { 00079 public: 00080 enum CmdIMDCopyUnitCellCommand { COPYCELL_OFF=0, COPYCELL_ON=1 }; 00081 CmdIMDCopyUnitCell(CmdIMDCopyUnitCellCommand); 00082 00083 protected: 00084 virtual void create_text(); 00085 00086 private: 00087 CmdIMDCopyUnitCellCommand copy_mode; 00088 }; 00089 00090 #endif 00091