Revision: 40858
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40858&view=rev
Author:   davidloman
Date:     2010-09-29 18:52:48 +0000 (Wed, 29 Sep 2010)

Log Message:
-----------
Make DataManager a NetMsgHandler.  Add list for IDataSource objects and 
addDataSource() function.

Modified Paths:
--------------
    rt^3/trunk/include/DataManager.h
    rt^3/trunk/src/GS/DataManager.cxx

Modified: rt^3/trunk/include/DataManager.h
===================================================================
--- rt^3/trunk/include/DataManager.h    2010-09-29 18:51:38 UTC (rev 40857)
+++ rt^3/trunk/include/DataManager.h    2010-09-29 18:52:48 UTC (rev 40858)
@@ -27,22 +27,33 @@
 #ifndef __DATAMANAGER_H__
 #define __DATAMANAGER_H__
 
+#include "INetMsgHandler.h"
+#include "IDataSource.h"
+
 #include <QtCore/QString>
 #include <QtCore/QUuid>
+#include <QtCore/QMutex>
 
-class DataManager {
+class DataManager :  public INetMsgHandler
+{
 
 public:
        static DataManager* getInstance();
        virtual ~DataManager();
+    bool handleNetMsg(NetMsg* msg);
 
        QString getDbObjectByURL(QString url);
        QString getDbObjectByUUID(QUuid& uuid);
 
+       void addDataSource(IDataSource* source);
+
 private:
        static DataManager* pInstance;
        DataManager();
 
+       QMutex sourceLock;
+       QList<IDataSource*> datasources;
+
 };
 
 #endif /* __DATAMANAGER_H__ */

Modified: rt^3/trunk/src/GS/DataManager.cxx
===================================================================
--- rt^3/trunk/src/GS/DataManager.cxx   2010-09-29 18:51:38 UTC (rev 40857)
+++ rt^3/trunk/src/GS/DataManager.cxx   2010-09-29 18:52:48 UTC (rev 40858)
@@ -25,7 +25,10 @@
  */
 
 #include "DataManager.h"
+#include "NetMsgTypes.h"
 
+#include <QtCore/QMutexLocker>
+
 DataManager* DataManager::pInstance = NULL;
 
 DataManager::DataManager()
@@ -44,6 +47,28 @@
 {
 }
 
+void
+DataManager::addDataSource(IDataSource* source)
+{
+       QMutexLocker lock (&this->sourceLock);
+       this->datasources.append(source);
+}
+
+bool
+DataManager::handleNetMsg(NetMsg* msg)
+{
+       quint16 type = msg->getMsgType();
+       switch(type) {
+       case GEOMETRYREQ:
+               return true;
+       case GEOMETRYMANIFEST:
+               return true;
+       case GEOMETRYCHUNK:
+               return true;
+       }
+       return false;
+}
+
 DataManager* DataManager::getInstance()
 {
        if (!DataManager::pInstance)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to