Line data Source code
1 :
2 : /* Copyright (c) 2010, Stefan Eilemann <eile@eyescale.ch>
3 : *
4 : * This library is free software; you can redistribute it and/or modify it under
5 : * the terms of the GNU Lesser General Public License version 2.1 as published
6 : * by the Free Software Foundation.
7 : *
8 : * This library is distributed in the hope that it will be useful, but WITHOUT
9 : * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10 : * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11 : * details.
12 : *
13 : * You should have received a copy of the GNU Lesser General Public License
14 : * along with this library; if not, write to the Free Software Foundation, Inc.,
15 : * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 : */
17 :
18 : #include "channel.h"
19 :
20 : #include "server.h"
21 : #include "window.h"
22 :
23 : namespace eq
24 : {
25 : namespace admin
26 : {
27 : typedef fabric::Channel<Window, Channel> Super;
28 :
29 0 : Channel::Channel(Window* parent)
30 0 : : Super(parent)
31 : {
32 0 : }
33 :
34 0 : Channel::~Channel()
35 : {
36 0 : }
37 :
38 0 : Pipe* Channel::getPipe()
39 : {
40 0 : Window* window = getWindow();
41 0 : LBASSERT(window);
42 0 : return (window ? window->getPipe() : 0);
43 : }
44 0 : const Pipe* Channel::getPipe() const
45 : {
46 0 : const Window* window = getWindow();
47 0 : LBASSERT(window);
48 0 : return (window ? window->getPipe() : 0);
49 : }
50 :
51 0 : Config* Channel::getConfig()
52 : {
53 0 : Window* window = getWindow();
54 0 : LBASSERT(window);
55 0 : return (window ? window->getConfig() : 0);
56 : }
57 :
58 0 : const Config* Channel::getConfig() const
59 : {
60 0 : const Window* window = getWindow();
61 0 : LBASSERT(window);
62 0 : return (window ? window->getConfig() : 0);
63 : }
64 :
65 0 : ServerPtr Channel::getServer()
66 : {
67 0 : Window* window = getWindow();
68 0 : LBASSERT(window);
69 0 : return (window ? window->getServer() : 0);
70 : }
71 : }
72 : }
73 :
74 : #include "../fabric/channel.ipp"
75 : template class eq::fabric::Channel<eq::admin::Window, eq::admin::Channel>;
76 :
77 : /** @cond IGNORE */
78 : template EQFABRIC_API std::ostream& eq::fabric::operator<<(
79 60 : std::ostream&, const eq::admin::Super&);
80 : /** @endcond */
|