X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=home%2Fprogcomp%2Fjudge%2Fmanager%2Fprogram.h;fp=home%2Fprogcomp%2Fjudge%2Fmanager%2Fprogram.h;h=0000000000000000000000000000000000000000;hp=8fef6964a89f41568f326df5aecbb49fa44da2d9;hb=88fc5a96c424e9a451b98f3b680bc1980345320d;hpb=e3b15cd5dea739f7523920d83bda592db95a7b93 diff --git a/home/progcomp/judge/manager/program.h b/home/progcomp/judge/manager/program.h deleted file mode 100644 index 8fef696..0000000 --- a/home/progcomp/judge/manager/program.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef PROGRAM_H -#define PROGRAM_H - -#include "thread_util.h" - -#include - -/** - * A wrapping class for an external program, which can exchange messages with the current process through stdin/stdout - * Useful for attaching control of an operation to an external process - for example, AI for a game - */ -class Program -{ - public: - Program(const char * executeablePath); //Constructor - virtual ~Program(); //Destructor - - - - - bool SendMessage(const char * print, ...); //Sends a formated message (NOTE: Prints a newline) - bool SendMessage(const std::string & buffer) {return SendMessage(buffer.c_str());} //Sends a C++ string message - bool GetMessage(std::string & buffer, double timeout=-1); //Retrieves a message, or waits for a timeout (if positive) - - bool Running() const; - - - - protected: - FILE * input; //Stream used for sending information TO the process - FILE * output; //Stream used for retrieving information FROM the process - - private: - pid_t pid; //Process ID of the program wrapped - -}; - -#endif //PROGRAM_H - -