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

LabeledReadKeyMsg.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: LabeledReadKeyMsg.h,v 1.6 2005/01/21 19:44:17 mmarsh Exp $
00008 //
00009 // $Log: LabeledReadKeyMsg.h,v $
00010 // Revision 1.6  2005/01/21 19:44:17  mmarsh
00011 // Updated for compatibility with Doxygen 1.4.1
00012 //
00013 // Revision 1.5  2005/01/19 02:48:42  mmarsh
00014 // Now it works on my laptop and desktop.  Is it compatible with earlier
00015 // compilers?  I have no idea, and I don't relish the autoconf necessary
00016 // to determine how to do the template specialization.
00017 //
00018 // Revision 1.4  2005/01/15 03:41:37  mmarsh
00019 // Updated to work with more recent versions of g++.
00020 //
00021 // Revision 1.3  2004/05/19 15:56:52  mmarsh
00022 // *** empty log message ***
00023 //
00024 // Revision 1.2  2003/11/04 22:31:49  mmarsh
00025 // *** empty log message ***
00026 //
00027 //
00028 
00029 #ifndef __CODEX_KEYSERVICE_LABELEDREADKEYMSG_H__
00030 #define __CODEX_KEYSERVICE_LABELEDREADKEYMSG_H__
00031 
00032 #include "CODEX_Client/Message.h"
00033 #include "ClientMessageEvent.h"
00034 #include "CODEX_Server/ServerState.h"
00035 
00036 namespace CODEX_KeyService
00037 {
00043    class LabeledReadKeyMsg : public CODEX_Client::SignedReadKeyMsg
00044    {
00045       public :
00047          typedef CODEX_Server::ServerState::LSType::LabelType  LabelType;
00048 
00050          LabeledReadKeyMsg();
00051 
00053          LabeledReadKeyMsg( const CODEX_Client::SignedReadKeyMsg& aRKM,
00054                             const LabelType& label );
00055 
00057          LabeledReadKeyMsg( const LabeledReadKeyMsg& aRKM );
00058 
00060          virtual ~LabeledReadKeyMsg() {}
00061 
00063          void operator=( const LabeledReadKeyMsg& aRKM );
00064 
00066          const LabelType& label() const { return m_label; }
00067 
00069          int marshal( unsigned char ** pp ) const;
00071          void* unmarshal( void* bogus, unsigned char ** pp, long length );
00072 
00073       private :
00074          LabelType  m_label;
00075    };
00076 
00077    bool ClientMessageEvent< LabeledReadKeyMsg >::handle();
00078 }
00079 
00080 #endif /* __CODEX_KEYSERVICE_LABELEDREADKEYMSG_H__ */

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