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: RoutedClientMessageVerifier.cc,v 1.3 2004/05/19 15:56:52 mmarsh Exp $ 00008 // 00009 // $Log: RoutedClientMessageVerifier.cc,v $ 00010 // Revision 1.3 2004/05/19 15:56:52 mmarsh 00011 // *** empty log message *** 00012 // 00013 // Revision 1.2 2003/11/04 22:31:49 mmarsh 00014 // *** empty log message *** 00015 // 00016 // 00017 00018 #include "RoutedClientMessageVerifier.h" 00019 00020 using namespace CODEX_KeyService; 00021 00022 RoutedClientMessageVerifier::RoutedClientMessageVerifier( 00023 CODEX_Events::DeadPileType& deadPile, 00024 CODEX_Events::QType& eventQueue, 00025 RoutedClientMessageHandler* destination ) : 00026 ClientMessageVerifier( deadPile, eventQueue, destination ), 00027 CODEX_Events::Activity( deadPile, eventQueue ), 00028 m_rdestination( destination ) 00029 { 00030 } 00031 00032 RoutedClientMessageVerifier::~RoutedClientMessageVerifier() 00033 { 00034 } 00035 00036 bool 00037 RoutedClientMessageVerifier::handler( CODEX_Events::CloseEvent& event ) 00038 { 00039 return ClientMessageVerifier::handler( event ); 00040 } 00041 00042 bool 00043 RoutedClientMessageVerifier::handler( 00044 ClientMessageEvent< RequestKeyMsg >& event ) 00045 { 00046 cerr << 00047 "Error -- undecorated events should not go to RoutedClientMsgVerifier" 00048 << endl; 00049 ::exit(1); 00050 return true; 00051 } 00052 00053 bool 00054 RoutedClientMessageVerifier::handler( 00055 ClientMessageEvent< SignedCreateKeyMsg >& event ) 00056 { 00057 cerr << 00058 "Error -- undecorated events should not go to RoutedClientMsgVerifier" 00059 << endl; 00060 ::exit(1); 00061 return true; 00062 } 00063 00064 bool 00065 RoutedClientMessageVerifier::handler( 00066 ClientMessageEvent< SignedWriteKeyMsg >& event ) 00067 { 00068 cerr << 00069 "Error -- undecorated events should not go to RoutedClientMsgVerifier" 00070 << endl; 00071 ::exit(1); 00072 return true; 00073 } 00074 00075 bool 00076 RoutedClientMessageVerifier::handler( 00077 ClientMessageEvent< SignedReadKeyMsg >& event ) 00078 { 00079 cerr << 00080 "Error -- undecorated events should not go to RoutedClientMsgVerifier" 00081 << endl; 00082 ::exit(1); 00083 return true; 00084 } 00085 00086 bool 00087 RoutedClientMessageVerifier::handler( 00088 RoutedClientMessageEvent< SignedCreateKeyMsg >& event ) 00089 { 00090 bool retVal = ClientMessageVerifier::handler( event ); 00091 if ( retVal ) 00092 { 00093 event.setFailed(); 00094 } 00095 event.reRoute( m_rdestination ); 00096 return false; 00097 } 00098 00099 bool 00100 RoutedClientMessageVerifier::handler( 00101 RoutedClientMessageEvent< SignedWriteKeyMsg >& event ) 00102 { 00103 bool retVal = ClientMessageVerifier::handler( event ); 00104 if ( retVal ) 00105 { 00106 event.setFailed(); 00107 } 00108 event.reRoute( m_rdestination ); 00109 return false; 00110 } 00111 00112 bool 00113 RoutedClientMessageVerifier::handler( 00114 RoutedClientMessageEvent< LabeledReadKeyMsg >& event ) 00115 { 00116 ClientMessageEvent< SignedReadKeyMsg > m( event.source(), 00117 event.destination(), 00118 event.message() ); 00119 bool retVal = ClientMessageVerifier::handler( m ); 00120 if ( retVal ) 00121 { 00122 event.setFailed(); 00123 } 00124 event.reRoute( m_rdestination ); 00125 return false; 00126 }
1.4.1