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