Revision: 40775
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40775&view=rev
Author:   davidloman
Date:     2010-09-29 06:49:30 +0000 (Wed, 29 Sep 2010)

Log Message:
-----------
Check in abit of SessionManager and AccountManage work.

Modified Paths:
--------------
    rt^3/trunk/src/GS/Account.cxx
    rt^3/trunk/src/GS/Account.h
    rt^3/trunk/src/GS/AccountManager.cxx
    rt^3/trunk/src/GS/AccountManager.h
    rt^3/trunk/src/GS/Session.cxx
    rt^3/trunk/src/GS/Session.h
    rt^3/trunk/src/GS/SessionManager.cxx
    rt^3/trunk/src/GS/SessionManager.h

Modified: rt^3/trunk/src/GS/Account.cxx
===================================================================
--- rt^3/trunk/src/GS/Account.cxx       2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/Account.cxx       2010-09-29 06:49:30 UTC (rev 40775)
@@ -25,16 +25,15 @@
 
 #include "Account.h"
 
-Account::Account()
-{
+Account::Account(QString uname, Portal* portal) :
+       uname(uname), portal(portal) {
 }
 
-Account::~Account()
-{ 
+Account::~Account() {
 }
 
-QString Account::getUname(){
-    return this->uname;
+QString Account::getUname() {
+       return this->uname;
 }
 
 // Local Variables: ***

Modified: rt^3/trunk/src/GS/Account.h
===================================================================
--- rt^3/trunk/src/GS/Account.h 2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/Account.h 2010-09-29 06:49:30 UTC (rev 40775)
@@ -26,19 +26,20 @@
 #ifndef __ACCOUNT_H__
 #define __ACCOUNT_H__
 
+#include "Portal.h"
 #include <QtCore/QString>
 
 class Account
 {
 
 public:
-  Account();
+  Account(QString uname, Portal* portal);
   virtual ~Account();
   QString getUname();
   
 private:
   QString uname;
-
+  Portal* portal;
 };
 
 #endif /* __ACCOUNT_H__ */

Modified: rt^3/trunk/src/GS/AccountManager.cxx
===================================================================
--- rt^3/trunk/src/GS/AccountManager.cxx        2010-09-29 04:23:07 UTC (rev 
40774)
+++ rt^3/trunk/src/GS/AccountManager.cxx        2010-09-29 06:49:30 UTC (rev 
40775)
@@ -24,22 +24,26 @@
  */
 
 #include "AccountManager.h"
+#include "SessionManager.h"
+
 #include <cstdlib>
 
 AccountManager* AccountManager::pInstance = NULL;
 
 AccountManager::AccountManager()
 {
+       this->accounts = new QList<Account*>();
 }
 
 AccountManager::~AccountManager()
 {
+       delete this->accounts;
 }
 
 AccountManager* AccountManager::getInstance()
 {
     if (!AccountManager::pInstance) {
-       pInstance = new AccountManager();
+       pInstance = new AccountManager();
     }
     return AccountManager::pInstance;
 }
@@ -55,6 +59,25 @@
     return false;
 }
 
+Session* AccountManager::login(QString uname, QString passwd, Portal* p)
+{
+       quint32 id = this->validateLoginCreds(uname, passwd);
+
+       if (id <= 0) {
+               return NULL;
+       }
+
+       Account* acc = new Account(uname,p);
+
+       return SessionManager::getInstance()->newSession(acc);
+}
+
+bool
+AccountManager::handleNetMsg(NetMsg* msg)
+{
+
+}
+
 // Local Variables: ***
 // mode: C++ ***
 // tab-width: 8 ***

Modified: rt^3/trunk/src/GS/AccountManager.h
===================================================================
--- rt^3/trunk/src/GS/AccountManager.h  2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/AccountManager.h  2010-09-29 06:49:30 UTC (rev 40775)
@@ -26,20 +26,29 @@
 #ifndef __ACCOUNTMANAGER_H__
 #define __ACCOUNTMANAGER_H__
 
+#include "Session.h"
+#include "INetMsgHandler.h"
+
 #include <QtCore/QString>
+#include <QtCore/QList>
 
-class AccountManager
+class AccountManager : public INetMsgHandler
 {
 
 public:
     virtual ~AccountManager();
     static AccountManager* getInstance();
-    quint32 validateLoginCreds(QString uname, QString passwd);
+    Session* login(QString uname, QString passwd, Portal* p);
+    bool handleNetMsg(NetMsg* msg);
 
 private:
     static AccountManager* pInstance;
     AccountManager();
 
+
+    QList<Account*>* accounts;
+    quint32 validateLoginCreds(QString uname, QString passwd);
+
 };
 
 #endif

Modified: rt^3/trunk/src/GS/Session.cxx
===================================================================
--- rt^3/trunk/src/GS/Session.cxx       2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/Session.cxx       2010-09-29 06:49:30 UTC (rev 40775)
@@ -25,10 +25,10 @@
 
 #include "Session.h"
 
-Session::Session(quint32 accountID)
+Session::Session(Account* a)
 {
     this->sessionID = QUuid::createUuid();
-    this->accountID = accountID;
+    this->a = a;
 }
 
 Session::~Session()
@@ -41,9 +41,9 @@
     return this->sessionID;
 }
 
-quint32 Session::getAccountID()
+Account*  Session::getAccount()
 {
-    return this->accountID;
+    return this->a;
 }
 
 // Local Variables: ***

Modified: rt^3/trunk/src/GS/Session.h
===================================================================
--- rt^3/trunk/src/GS/Session.h 2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/Session.h 2010-09-29 06:49:30 UTC (rev 40775)
@@ -26,6 +26,7 @@
 #ifndef __SESSION_H__
 #define __SESSION_H__
 
+#include "Account.h"
 #include <cstdlib>
 #include <iostream>
 #include <ios>
@@ -35,17 +36,18 @@
 
 class Session
 {
-
+friend class SessionManager;
 public:
-    Session(quint32 accountID);
     virtual ~Session();
 
     QUuid getSessionID();
-    quint32 getAccountID();
+    Account*  getAccount();
 
 private:
+    Session(Account* a);
+
     QUuid sessionID;
-    quint32 accountID;
+    Account* a;
 };
 
 #endif

Modified: rt^3/trunk/src/GS/SessionManager.cxx
===================================================================
--- rt^3/trunk/src/GS/SessionManager.cxx        2010-09-29 04:23:07 UTC (rev 
40774)
+++ rt^3/trunk/src/GS/SessionManager.cxx        2010-09-29 06:49:30 UTC (rev 
40775)
@@ -42,19 +42,28 @@
 SessionManager* SessionManager::getInstance()
 {
     if (!SessionManager::pInstance) {
-       pInstance = new SessionManager();
+       pInstance = new SessionManager();
     }
     return SessionManager::pInstance;
 }
 
 
-Session* SessionManager::newSession(quint32 accountID)
+Session*
+SessionManager::newSession(Account* a)
 {
-    Session* s = new Session(accountID);
+    Session* s = new Session(a);
 
+
+
     return s;
 }
 
+bool
+SessionManager::handleNetMsg(NetMsg* msg)
+{
+
+}
+
 // Local Variables: ***
 // mode: C++ ***
 // tab-width: 8 ***

Modified: rt^3/trunk/src/GS/SessionManager.h
===================================================================
--- rt^3/trunk/src/GS/SessionManager.h  2010-09-29 04:23:07 UTC (rev 40774)
+++ rt^3/trunk/src/GS/SessionManager.h  2010-09-29 06:49:30 UTC (rev 40775)
@@ -27,20 +27,23 @@
 #define __SESSIONMANAGER_H__
 
 #include "Session.h"
-
+#include "INetMsgHandler.h"
 #include <QtCore/QMap>
+#include <QtCore/QMutex>
 
-class SessionManager
+class SessionManager: public INetMsgHandler
 {
 public:
     static SessionManager* getInstance();
     virtual ~SessionManager();
+    Session* newSession(Account* a);
+    bool handleNetMsg(NetMsg* msg);
 
 private:
     static SessionManager* pInstance;
     SessionManager();
-    Session* newSession(quint32 accountID);
 
+    QMutex sesIDMapLock;
     QMap<quint32, Session*>* sessionIdMap;
 };
 


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