Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SignReadCallback.h

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: SignReadCallback.h,v 1.3 2004/05/19 15:56:53 mmarsh Exp $
00008 //
00009 // $Log: SignReadCallback.h,v $
00010 // Revision 1.3  2004/05/19 15:56:53  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_SIGNREADCALLBACK_H__
00019 #define __CODEX_KEYSERVICE_SIGNREADCALLBACK_H__
00020 
00021 #include <map>
00022 
00023 #include "ResponseCallback.h"
00024 #include "CODEX_Events/Activity.h"
00025 #include "CODEX_ASN1/Array.h"
00026 #include "CODEX_Client/Message.h"
00027 #include "CODEX_Server/ServerSignature.h"
00028 #include "ClientResponseHandler.h"
00029 #include "StateInfo.h"
00030 #include "CODEX_Server/SignRequestHandler.h"
00031 #include "SupportedClientResponse.h"
00032 #include "VerifiableBlindKeyMsg.h"
00033 
00034 namespace CODEX_KeyService
00035 {
00042    class SignReadCallback : public ResponseCallback,
00043                             public CODEX_Events::Activity
00044    {
00045       public :
00047          typedef CODEX_Server::ServerState::ShareType  ShareType;
00048 
00050          typedef vector< ShareType* > SignatureArray;
00051 
00053          typedef CODEX_Server::ServerState::ChallengeVector  ChallengeVector;
00054 
00056          typedef VerifiableBlindKeyMsg RespType;
00057 
00059          typedef CODEX_Client::SignedReadKeyMsg ReqType;
00060 
00062          typedef SupportedClientResponse< RespType , ReqType >  RequestType;
00063 
00065          SignReadCallback( CODEX_Events::DeadPileType& deadPile,
00066                            CODEX_Events::QType& eventQueue,
00067                            ClientResponseHandler* destination,
00068                            const RequestType& request,
00069                            const unsigned char* seqNum,
00070                            CODEX_Server::SignRequestHandler* reqHandler );
00071 
00073          virtual ~SignReadCallback();
00074 
00075          bool operator()( unsigned int server, CODEX_Quorum::Message* msg );
00076 
00077       private :
00078          ClientResponseHandler*             m_destination;
00079          RequestType                        m_request;
00080          BIGNUM *                           m_digest;
00081          SignatureArray                     m_signatures;
00082          bool                               m_complete;
00083          ChallengeVector                    m_challenges;
00084          CODEX_Server::SignRequestHandler*  m_reqHandler;
00085    };
00086 
00087 }
00088 
00089 #endif /* __CODEX_KEYSERVICE_SIGNREADCALLBACK_H__ */

Generated on Fri May 6 17:41:15 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1