~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/generator/session.h

  • Committer: Brian Aker
  • Date: 2010-12-23 20:54:14 UTC
  • mfrom: (2022.2.1 clean)
  • mto: (2026.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2025.
  • Revision ID: brian@tangent.org-20101223205414-2xvdkdp77t0rvutg
Merge in session list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
24
24
#include <boost/thread/mutex.hpp>
25
25
#include "drizzled/session/cache.h"
 
26
#include "drizzled/identifier/user.h"
26
27
 
27
28
namespace drizzled {
28
29
namespace generator {
31
32
{
32
33
  session::Cache::list local_list;
33
34
  session::Cache::list::const_iterator iter;
 
35
  identifier::User::const_reference user;
34
36
 
35
37
public:
36
38
 
37
 
  Session()
 
39
  Session(identifier::User::const_reference arg) :
 
40
    user(arg)
38
41
  {
39
42
    boost::mutex::scoped_lock scopedLock(session::Cache::singleton().mutex());
40
43
    local_list= session::Cache::singleton().getCache();
45
48
  {
46
49
  }
47
50
 
48
 
  operator drizzled::Session::shared_ptr()
 
51
  operator drizzled::Session::pointer()
49
52
  {
50
53
    while (iter != local_list.end())
51
54
    {
52
 
      if (not (*iter)->isViewable())
 
55
      drizzled::Session::pointer ret= (*iter).get();
 
56
      iter++;
 
57
 
 
58
      if (not ret->isViewable(user))
53
59
      {
54
 
        iter++;
55
60
        continue;
56
61
      }
57
62
 
58
 
      drizzled::Session::shared_ptr ret(*iter);
59
 
      iter++;
60
63
      return ret;
61
64
    }
62
65
 
63
 
    return drizzled::Session::shared_ptr();
 
66
    return drizzled::Session::pointer();
64
67
  }
65
68
};
66
69