00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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 }