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: ShareLabelChallenge.h,v 1.4 2005/01/21 19:44:18 mmarsh Exp $ 00008 // 00009 // $Log: ShareLabelChallenge.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_SHARELABELCHALLENGE_H__ 00022 #define __CODEX_SERVER_SHARELABELCHALLENGE_H__ 00023 00024 #include "ServerState.h" 00025 #include "CODEX_Quorum/ResponseCallback.h" 00026 #include "CODEX_Events/Event.h" 00027 00028 namespace CODEX_Server 00029 { 00038 class ShareLabelChallenge 00039 { 00040 public : 00042 typedef ServerState::LSType::LabelType LabelType; 00043 00045 typedef CODEX_Quorum::ResponseCallback CallbackType; 00046 00048 typedef CODEX_Events::EventBase EventType; 00049 00059 ShareLabelChallenge( const LabelType& label, 00060 unsigned int challenger, 00061 CallbackType* callback, 00062 EventType* event ); 00063 00065 ~ShareLabelChallenge(); 00066 00068 const LabelType& label() const { return m_label; } 00069 00071 unsigned int challenger() const { return m_challenger; } 00072 00074 CallbackType* callback() const { return m_callback; } 00075 00077 EventType* event() const { return m_event; } 00078 00080 void zeroData() { m_callback = 0; m_event = 0; } 00081 00082 private : 00083 LabelType m_label; 00084 unsigned int m_challenger; 00085 CallbackType* m_callback; 00086 EventType* m_event; 00087 }; 00088 00089 } 00090 00091 #endif /* __CODEX_SERVER_SHARELABELCHALLENGE_H__ */
1.4.1