MAK RTIspy API Documentation for HLA 1.3
forwarderDocs.h
Go to the documentation of this file.
00001 /*********************************************************************
00002  ** Copyright (c) 2006 MaK Technologies, Inc.
00003  ** All rights reserved.
00004  *********************************************************************/
00005 /*******************************************************************************
00006  ** $RCSfile: forwarderDocs.h,v $ $Revision: 1.3 $ $State: Exp $
00007  *******************************************************************************/
00008 #ifndef DtForwarderDocs_H_
00009 #define DtForwarderDocs_H_
00010 
00011 #include <rtiMsConfig.h>
00012 #include "basicEhsDoc.h"
00013 #include "webSpyUtils.h"
00014 #include <vlutil/vlString.h>
00015 #include <vlutil/vlTime.h>
00016 
00017 class DtEhsHttpConnectionMgr;
00018 class HttpRequest;
00019 class HttpResponse;
00020 
00021 // The XML data block used to pass a single Forwarder's state to the client
00022 class DT_DLL_WWWEHS DtForwarderXML : public DtBasicEhsDoc
00023 {
00024 private:
00025 
00026    // Copy Constructor not implimented : Copy not allowed
00027    DtForwarderXML(const DtForwarderXML&);
00028    // Copy Constructor not implimented : Copy not allowed
00029    DtForwarderXML& operator=(const DtForwarderXML&);
00030 
00031 public:
00032 
00033    DtForwarderXML( DtEhsHttpConnectionMgr& parent,
00034       const DtWebSpyUtils::ConnectionIdentifier& connInfo );
00035    virtual ~DtForwarderXML();
00036 
00037 protected:
00038 
00039    // Serve requests for this page
00040    virtual ResponseCode HandleNonFileRequest( HttpRequest * ipoHttpRequest, 
00041                                               HttpResponse * ipoHttpResponse );
00042 
00043    // Load an initial empty response until first update is available
00044    void initializePage();
00045 
00046    // WWW Request Handlers
00047 
00048    // Handler for state requests from the web client
00049    std::auto_ptr< DtString > handleStateRequest( unsigned long connId,
00050       DtWwwRequestXmlBlockSP requestSP, std::auto_ptr< DtString > requestString );
00051 
00052 
00053 protected:
00054 
00055    typedef std::pair< unsigned long, DtWebSpyUtils::StateComponentType > ComponentIdStateTypePair;
00056    
00057    DtEhsHttpConnectionMgr& myParent;
00058    DtWebSpyUtils::ConnectionIdentifier myConnInfo;
00059 
00060 
00061    // Cache Status - these determine when to request a cache update
00062    // ( and when to wait for the current request to complete )
00063    std::map< ComponentIdStateTypePair, DtTime > myPendingRequests;
00064 
00065 };
00066 
00067 #endif // DtForwarderDocs_H_

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)