Drizzled Public API Documentation

scoreboard_slot.cc
1 /*
2  * Copyright (C) 2010 Joseph Daly <skinny.moey@gmail.com>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * * Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * * Neither the name of Joseph Daly nor the names of its contributors
14  * may be used to endorse or promote products derived from this software
15  * without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27  * THE POSSIBILITY OF SUCH DAMAGE.
28  *
29  */
30 
31 #include <config.h>
32 #include <drizzled/plugin.h>
33 #include <drizzled/statistics_variables.h>
34 #include <drizzled/session.h>
35 
36 #include "scoreboard_slot.h"
37 
38 using namespace std;
39 
40 ScoreboardSlot::ScoreboardSlot()
41  :
42  in_use(false),
43  session_id(0)
44 {
45  user_commands= new UserCommands();
46  status_vars= new StatusVars();
47 }
48 
49 ScoreboardSlot::~ScoreboardSlot()
50 {
51  delete user_commands;
52  delete status_vars;
53 }
54 
55 ScoreboardSlot::ScoreboardSlot(const ScoreboardSlot &scoreboard_slot)
56 {
57  user_commands= new UserCommands(*scoreboard_slot.user_commands);
58  status_vars= new StatusVars(*scoreboard_slot.status_vars);
59  user.assign(scoreboard_slot.user);
60  ip.assign(scoreboard_slot.ip);
61  in_use= scoreboard_slot.in_use;
62  session_id= scoreboard_slot.session_id;
63 }
64 
65 UserCommands* ScoreboardSlot::getUserCommands()
66 {
67  return user_commands;
68 }
69 
70 StatusVars* ScoreboardSlot::getStatusVars()
71 {
72  return status_vars;
73 }
74 
75 void ScoreboardSlot::setSessionId(drizzled::session_id_t in_session_id)
76 {
77  session_id= in_session_id;
78 }
79 
80 drizzled::session_id_t ScoreboardSlot::getSessionId()
81 {
82  return session_id;
83 }
84 
85 void ScoreboardSlot::setInUse(bool in_in_use)
86 {
87  in_use= in_in_use;
88 }
89 
90 bool ScoreboardSlot::isInUse()
91 {
92  return in_use;
93 }
94 
95 void ScoreboardSlot::setUser(string in_user)
96 {
97  user.assign(in_user);
98 }
99 
100 const string& ScoreboardSlot::getUser()
101 {
102  return user;
103 }
104 
105 void ScoreboardSlot::setIp(string in_ip)
106 {
107  ip.assign(in_ip);
108 }
109 
110 const string& ScoreboardSlot::getIp()
111 {
112  return ip;
113 }
114 
115 void ScoreboardSlot::merge(ScoreboardSlot *score_board_slot)
116 {
117  user_commands->merge(score_board_slot->getUserCommands());
118  status_vars->merge(score_board_slot->getStatusVars());
119 }
120 
121 void ScoreboardSlot::reset()
122 {
123  in_use= false;
124  session_id= 0;
125  user_commands->reset();
126  status_vars->reset();
127 }