MAK RTIspy API Documentation for HLA 1.3
requestDb.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: requestDb.h,v $ $Revision: 1.22 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtRequestDb
00013 #define DtRequestDb
00014 
00015 #include <vlutil/vlHashlist.h>
00016 #include "attrHandSet.h"
00017 #include "fedHandleSet.h"
00018 #include "internalTypes.h"
00019 
00020 #include <map>
00021 #include <list>
00022 
00036 
00037 
00038 class DT_DLL_LRC DtRequestDatabase
00039 {
00040 public:
00041  
00042    DtRequestDatabase();
00043    virtual ~DtRequestDatabase();
00044 
00046    virtual void clearAll();
00047 
00053    virtual void addRemoteRequest(
00054       const DtAttributeHandleSet& requestSet,
00055       DtFederateHandle fed);
00056 
00060    virtual void removeRemoteRequest(
00061       const DtAttributeHandleSet& requestSet,
00062       DtFederateHandle fed);
00063 
00066    virtual void removeRemoteRequest(
00067       const DtAttributeHandleSet& requestSet);
00068 
00071    virtual void addPendingConfirm(
00072       const DtAttributeHandleSet& requestSet,
00073       DtFederateHandle fed);
00074 
00078    virtual void removePendingConfirm(
00079       const DtAttributeHandleSet& requestSet,
00080       DtFederateHandle fed);
00081 
00082 
00085    virtual void removePendingConfirm(
00086       const DtAttributeHandleSet& requestSet);
00087 
00090    void moveRemoteRequestToPendingList(
00091       const DtAttributeHandleSet& requestSet );
00092 
00093 
00096    virtual void cancelRemoteRequest(
00097       const DtAttributeHandleSet& canceledSet, DtFederateHandle fed);
00098 
00100    virtual void cancelAllRemoteRequest(
00101       const DtAttributeHandleSet& canceledSet);
00102 
00103 
00105    virtual void removeCanceledRequests(
00106       const DtAttributeHandleSet& releaseSet);
00107 
00110    virtual bool isRequestCanceled(DtAttributeHandle hand) const;
00111 
00113    virtual DtAttributeHandleSet canceledRequestSet() const;
00114 
00122    virtual DtFederateHandle releaseRequested(
00123       const DtAttributeHandleSet& inSet, 
00124       DtAttributeHandleSet* releasedSet,
00125       bool keepForConfirm);
00126 
00133    virtual DtFederateHandle releaseConfirm(
00134       const DtAttributeHandleSet& inSet, 
00135       DtAttributeHandleSet* releasedSet);
00136 
00139    virtual DtFederateHandle pendingRemoteRequest(DtAttributeHandle hand) const;
00140 
00143    virtual DtFederateHandle pendingConfirm(DtAttributeHandle hand) const;
00144 
00147    virtual DtAttributeHandleSet requestedByFed(DtFederateHandle fed,
00148       bool includePendingConfirm=false) const;
00149 
00151    virtual DtAttributeHandleSet remoteRequestByFed( DtFederateHandle fed ) const;
00152 
00154    virtual DtAttributeHandleSet pendingConfirmByFed( DtFederateHandle fed  ) const;
00155 
00156 
00158    virtual int requestCount() const;
00159 
00161    virtual DtAttributeHandleSet const& requestedAttributes() const;
00162 
00164    virtual int confirmCount() const;
00165 
00167    virtual DtAttributeHandleSet const& pendingConfirmAttributes() const;
00168 
00171    virtual void markPendingRequestsUnavailable(const DtAttributeHandleSet& requestSet,
00172       DtFederateHandle confirmedFed );
00173 
00176    virtual DtFederateHandle unavailablePendingRequests( DtAttributeHandleSet* invalidatedSet );
00177 
00178 protected:
00179 
00180    typedef std::map< DtAttributeHandle, DtFederateHandleSet >  DtAttrToFederatesMap;
00181    typedef std::map< DtFederateHandle,  DtAttributeHandleSet > DtFedToAttributesMap;
00182 
00184    DtAttributeHandleSet myRemoteRequestSet;
00185 
00187    DtAttributeHandleSet myRemoteCanceledRequestSet;
00188    DtAttrToFederatesMap myRemoteRequestsByAttr;
00189 
00191    DtAttrToFederatesMap myPendingConfirmByAttr;
00192    DtAttributeHandleSet myPendingConfirmSet;
00193 
00196    DtFedToAttributesMap myUnavailableRequestsByFed;
00197 };
00198 
00199 
00200 
00201 #endif
00202 

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)