MAK RTIspy API Documentation for HLA 1.3
resignDirectiveMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: resignDirectiveMsg.h,v $ $Revision: 1.0 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtResignDirectiveMsg_H_
00013 #define DtResignDirectiveMsg_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "rtiMsg.h"
00017 #include "resignMsg.h"
00018 #include "netResignDirectiveMsg.h"
00019 
00020 class DtConnectionMgr;
00021 class DtResignDirectiveMsg;
00022 typedef void (*DtResignDirectiveCb)(const DtResignDirectiveMsg& msg, void* usr);
00023 
00024 class DT_DLL_LRC DtResignDirectiveMsg : public DtRtiMsg
00025 {
00026 public:
00027 
00029     DtResignDirectiveMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00030 
00032     DtResignDirectiveMsg(
00033         DtFederateHandle sendingFederate, 
00034         DtResignAction resignDirective,
00035         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00036 
00038     DtResignDirectiveMsg(const DtNetResignDirectiveMsg* netRepMsg,
00039         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040 
00042     virtual ~DtResignDirectiveMsg();
00043 
00045     virtual DtRtiMsg* clone(bool copy = true) const; 
00046 
00048     virtual void set(
00049         DtFederateHandle sendingFederate,
00050         DtResignAction resignDirective );
00051 
00053     virtual void setSendingFederate(DtFederateHandle handle);
00054     virtual DtFederateHandle sendingFederate() const;
00055 
00057     virtual void setResignDirective( DtResignAction directive );
00058     virtual DtResignAction resignDirective() const;
00059 
00061     virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00062 
00063 public:
00064 
00066     static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00067         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00068 
00070     static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00071 
00073     static void addCallback(DtConnectionMgr *conn, 
00074         DtResignDirectiveCb cb, void *usr);
00075     static void removeCallback(DtConnectionMgr *conn, 
00076         DtResignDirectiveCb cb, void *usr);
00077 
00078 protected:
00079 
00081     virtual DtNetResignDirectiveMsg* netResignDirectiveMsg();
00082     virtual const DtNetResignDirectiveMsg* netResignDirectiveMsg() const;
00083 
00085     virtual DtRtiMsgKind internalDtRtiMsgKind();
00086 
00088     virtual int minSize() const;
00089 
00091     virtual DtResignDirectiveMsg* self() const;
00092 };
00093 
00094 
00095 inline DtResignDirectiveMsg* DtResignDirectiveMsg::self() const
00096 {
00097     return const_cast<DtResignDirectiveMsg*>( this );
00098 }
00099 
00100 #endif

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)