00001 /** 00002 * @file QueueFillRequest.h 00003 * Declaration of class QueueFillRequest. 00004 * 00005 * @author <a href=mailto:dueffert@informatik.hu-berlin.de>Uwe Düffert</a> 00006 */ 00007 00008 #ifndef __QUEUEFILLREQUEST_H__ 00009 #define __QUEUEFILLREQUEST_H__ 00010 00011 #include "Tools/Streams/InOut.h" 00012 00013 /** 00014 * @class QueueFillRequest 00015 * Request to fill DebugQueues with a certain QueueFillMode 00016 */ 00017 class QueueFillRequest 00018 { 00019 public: 00020 /** different modes for filling debug queues */ 00021 typedef enum QueueFillMode{immediateReadWrite, collectNSeconds, toStickNSeconds, overwriteOlder, rejectAll, toStickImmediately} QueueFillMode; 00022 00023 /** Constructor */ 00024 QueueFillRequest():mode(immediateReadWrite),seconds(0) {} 00025 00026 /** Constructor 00027 * @param qfm The requested QueueFillMode. 00028 * @param sec Number of seconds to wait for in NSeconds modes. 00029 */ 00030 QueueFillRequest(QueueFillMode qfm, long sec=1):mode(qfm),seconds(sec) {} 00031 00032 /** requested mode for filling a DebugQueue */ 00033 QueueFillMode mode; 00034 00035 /** how many seconds shall we wait in collectNSeconds mode */ 00036 long seconds; 00037 }; 00038 00039 /** 00040 * Streaming operator that reads a QueueFillRequest from a stream. 00041 * @param stream The stream from which is read. 00042 * @param queueFillRequest The QueueFillRequest object. 00043 * @return The stream. 00044 */ 00045 In& operator>>(In& stream,QueueFillRequest& queueFillRequest); 00046 00047 /** 00048 * Streaming operator that writes a QueueFillRequest to a stream. 00049 * @param stream The stream to write on. 00050 * @param queueFillRequest The QueueFillRequest object. 00051 * @return The stream. 00052 */ 00053 Out& operator<<(Out& stream, const QueueFillRequest& queueFillRequest); 00054 00055 #endif // __QUEUEFILLREQUEST_H__ 00056 00057 /* 00058 * Changelog: 00059 * 00060 * $Log: QueueFillRequest.h,v $ 00061 * Revision 1.2 2004/06/16 20:59:35 goehring 00062 * enum QueueFillRequest::toStickImmediately added 00063 * 00064 * Revision 1.1.1.1 2004/05/22 17:36:06 cvsadm 00065 * created new repository GT2004_WM 00066 * 00067 * Revision 1.1 2003/10/07 10:13:22 cvsadm 00068 * Created GT2004 (M.J.) 00069 * 00070 * Revision 1.3 2003/09/28 09:28:48 juengel 00071 * Comments corrected. 00072 * 00073 * Revision 1.2 2003/09/26 15:28:10 juengel 00074 * Renamed DataTypes to representations. 00075 * 00076 * Revision 1.1 2003/09/26 11:40:40 juengel 00077 * - sorted tools 00078 * - clean-up in DataTypes 00079 * 00080 * Revision 1.1.1.1 2003/07/02 09:40:22 cvsadm 00081 * created new repository for the competitions in Padova from the 00082 * tamara CVS (Tuesday 2:00 pm) 00083 * 00084 * removed unused solutions 00085 * 00086 * Revision 1.5 2003/03/11 09:05:25 dueffert 00087 * QueueFillRequest rejectAll added 00088 * 00089 * Revision 1.4 2002/11/27 13:50:48 dueffert 00090 * QueueFillMode beautified, doxygen docu added 00091 * 00092 * Revision 1.3 2002/11/20 13:37:30 dueffert 00093 * missing or wrong doxygen file corrected 00094 * 00095 * Revision 1.2 2002/11/19 15:43:02 dueffert 00096 * doxygen comments corrected 00097 * 00098 * Revision 1.1 2002/11/19 14:00:46 dueffert 00099 * no message 00100 * 00101 * 00102 */