00001 /* 00002 * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved. 00003 * This software is released under the modified BSD license. 00004 * See the file LICENSE in the top-level directory for details. 00005 */ 00006 // 00007 // $Id: SignRequestEvent.h,v 1.4 2005/01/21 19:44:18 mmarsh Exp $ 00008 // 00009 // $Log: SignRequestEvent.h,v $ 00010 // Revision 1.4 2005/01/21 19:44:18 mmarsh 00011 // Updated for compatibility with Doxygen 1.4.1 00012 // 00013 // Revision 1.3 2004/05/19 15:56:59 mmarsh 00014 // *** empty log message *** 00015 // 00016 // Revision 1.2 2003/11/04 22:31:51 mmarsh 00017 // *** empty log message *** 00018 // 00019 // 00020 00021 #ifndef __CODEX_SERVER_SIGNREQUESTEVENT_H__ 00022 #define __CODEX_SERVER_SIGNREQUESTEVENT_H__ 00023 00024 #include "CODEX_Events/Event.h" 00025 #include "CODEX_Events/Activity.h" 00026 #include "CODEX_Quorum/Message.h" 00027 #include "CODEX_Quorum/ResponseCallback.h" 00028 #include "CODEX_Quorum/QuorumSystem.h" 00029 #include "SignRequestHandler.h" 00030 00031 namespace CODEX_Server 00032 { 00037 class SignRequestEvent : public CODEX_Events::EventBase 00038 { 00039 public : 00041 SignRequestEvent( CODEX_Events::Activity* source, 00042 SignRequestHandler* destination, 00043 const CODEX_Quorum::Message& message, 00044 CODEX_Quorum::ResponseCallback* cb, 00045 bool acknowledge=false ); 00046 00048 virtual ~SignRequestEvent() {} 00049 00051 const CODEX_Quorum::Message& message() const { return m_message; } 00052 00054 CODEX_Quorum::ReturnVector& retVals() { return m_retVals; } 00055 00057 CODEX_Quorum::ResponseCallback* cb() const { return m_cb; } 00058 00060 bool acknowledge() const { return m_acknowledge; } 00061 00063 bool bcast() const { return m_bcast; } 00064 00066 void setBcast() { m_bcast = true; } 00067 00069 unsigned long time() const { return m_time; } 00070 00072 void updateTime( unsigned long time ) { m_time = time; } 00073 00075 bool handle() { return m_destination->handler( *this ); } 00076 00077 private : 00078 SignRequestHandler* m_destination; 00079 CODEX_Quorum::Message m_message; 00080 CODEX_Quorum::ResponseCallback* m_cb; 00081 CODEX_Quorum::ReturnVector m_retVals; 00082 bool m_acknowledge; 00083 bool m_bcast; 00084 unsigned long m_time; 00085 }; 00086 00087 } 00088 00089 #endif /* __CODEX_SERVER_SIGNREQUESTEVENT_H__ */
1.4.1