VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtSessionStartupDialogLogic.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSessionStartupDialogLogic.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00017 #include <vrvUtil/DtVirtualBaseClass.h>
00018 #include <vrvUtil/DtSignalConnectionManager.h>
00019 
00020 #include <QtNetwork/QNetworkReply>
00021 #include <QtNetwork/QNetworkAccessManager>
00022 #include <QtCore/QUrl>
00023 
00024 namespace makVrv
00025 {
00026    class DtDe;
00027 }
00028 
00029 namespace osgEarth
00030 {
00031    class Config;
00032 }
00033 
00034 namespace makVrf
00035 {
00036    class DtSessionStartupDialogInterface;
00037 
00038    class DT_DLL_VRFGUICOREQT DtServerAvailable : public QObject
00039    {
00040       Q_OBJECT
00041 
00042    public:
00043       DtServerAvailable(const std::string& serverKey, const QUrl& page);
00044 
00045       virtual ~DtServerAvailable();
00046 
00047       void processRequest();
00048 
00049       boost::signal<void (const std::string&, bool, const std::string&)> signal_serverAvailable;
00050 
00051    protected slots:
00052       virtual void finished(QNetworkReply*);
00053 
00054    protected:
00055       QNetworkAccessManager   myManager;
00056       QUrl                    myUrl;
00057       std::string             myKey;
00058    };
00059 
00060    class DT_DLL_VRFGUICOREQT DtSessionStartupDialogLogic
00061    {
00062    public:
00063 
00065       DtSessionStartupDialogLogic(makVrv::DtDe& de, DtSessionStartupDialogInterface& iface);
00066 
00068       virtual ~DtSessionStartupDialogLogic();
00069 
00070    protected:
00072       virtual void slot_neverShowAgain();
00073 
00075       virtual void slot_newScenarioVR(const std::string& server);
00076 
00078       virtual void slot_newScenario();
00079 
00081       virtual void slot_loadScenario();
00082 
00085       void processSessionStartupServers();
00086 
00088       virtual void slot_checkServerAvailability(const std::string&);
00089 
00091       virtual void slot_serverIsAvailable(const std::string& desc, bool, const std::string& reason);
00092 
00093    protected:
00096       virtual QUrl urlFromServer(const std::string&) const;
00097       virtual QUrl urlFromEarthFile(const std::string&) const;
00098       virtual QUrl urlFromEarthConfig(const osgEarth::Config& docConf) const;
00099 
00100    protected:
00101 
00102       makVrv::DtDe&                 myDe;
00103       DtSessionStartupDialogInterface& myInterface;
00104       makVrv::DtSignalConnectionManager myConnections;
00105       std::string myWaitingForServerResponse;
00106       DtServerAvailable* myServerAvailableRequestor;
00107       std::map<std::string, QUrl> myServersNameToUrl;
00108    };
00109 
00110    class DT_DLL_VRFGUICOREQT DtSessionStartupDialogLogicCreator : public makVrv::DtVirtualBaseClass
00111    {
00112    public:
00113       DtSessionStartupDialogLogicCreator();
00114 
00115       virtual ~DtSessionStartupDialogLogicCreator();
00116 
00117       static DtSessionStartupDialogLogicCreator& instance(makVrv::DtDe&);
00118       static void registerInstance(makVrv::DtDe&, DtSessionStartupDialogLogicCreator*);
00119 
00120       virtual DtSessionStartupDialogLogic* create(makVrv::DtDe&, DtSessionStartupDialogInterface& iface);
00121    };
00122 }
00123 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)