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: ClientMessageMaster.h,v 1.3 2004/05/19 15:56:51 mmarsh Exp $ 00008 // 00009 // $Log: ClientMessageMaster.h,v $ 00010 // Revision 1.3 2004/05/19 15:56:51 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 #ifndef __CODEX_KEYSERVICE_CLIENTMESSAGEMASTER_H__ 00019 #define __CODEX_KEYSERVICE_CLIENTMESSAGEMASTER_H__ 00020 00021 #include "ClientMessageHandler.h" 00022 #include "CODEX_Events/Activity.h" 00023 #include "CODEX_Client/Message.h" 00024 #include "ClientMessageEvent.h" 00025 #include "CODEX_Ciphers/RSA.h" 00026 #include "CODEX_Ciphers/ElGamal.h" 00027 00028 namespace CODEX_KeyService 00029 { 00030 using namespace CODEX_Client; 00031 00036 class ClientMessageMaster : public ClientMessageHandler 00037 { 00038 public : 00054 ClientMessageMaster( CODEX_Events::DeadPileType& deadPile, 00055 CODEX_Events::QType& eventQueue, 00056 const char* rsafile, 00057 const char* egfile, 00058 const char* passwd=NULL ); 00059 00061 virtual ~ClientMessageMaster(); 00062 00064 bool handler( CODEX_Events::CloseEvent& event ); 00065 00067 bool handler( ClientMessageEvent< RequestKeyMsg >& event ); 00068 00070 bool handler( ClientMessageEvent< SignedCreateKeyMsg >& event ); 00071 00073 bool handler( ClientMessageEvent< SignedWriteKeyMsg >& event ); 00074 00076 bool handler( ClientMessageEvent< SignedReadKeyMsg >& event ); 00077 00078 private : 00079 CODEX_Ciphers::RSAPrivateKey m_rsaKey; 00080 CODEX_Ciphers::ElGamalPrivateKey m_egKey; 00081 }; 00082 00083 } 00084 00085 #endif /* __CODEX_KEYSERVICE_CLIENTMESSAGEMASTER_H__ */
1.2.18