Line data Source code
1 :
2 : /* Copyright (c) 2011-2013, 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 :
19 : #ifndef EQSEQUEL_DETAIL_CONFIG_H
20 : #define EQSEQUEL_DETAIL_CONFIG_H
21 :
22 : #include <seq/types.h>
23 : #include <eq/client/config.h> // base class
24 : #include <eq/client/server.h> // RefPtr usage
25 :
26 : namespace seq
27 : {
28 : namespace detail
29 : {
30 : class Config : public eq::Config
31 : {
32 : public:
33 1 : Config( eq::ServerPtr parent ) : eq::Config( parent ), _objects(0) {}
34 :
35 : seq::Application* getApplication();
36 : detail::Application* getApplicationImpl();
37 :
38 0 : virtual bool init() { LBDONTCALL; return false; }
39 0 : virtual bool run( co::Object* ) { LBDONTCALL; return false; }
40 0 : virtual bool exit() { LBDONTCALL; return false; }
41 :
42 0 : virtual bool needRedraw() { LBDONTCALL; return false; }
43 0 : virtual uint32_t startFrame() { LBDONTCALL; return 0; }
44 :
45 1 : virtual bool mapData( const uint128_t& ) { return true; }
46 1 : virtual void syncData( const uint128_t& ) { /* nop */ }
47 1 : virtual void unmapData() { /* nop */ }
48 :
49 : co::Object* getInitData();
50 :
51 : protected:
52 1 : virtual ~Config() {}
53 : ObjectMap* _objects;
54 :
55 : private:
56 : };
57 : }
58 : }
59 :
60 : #endif // EQSEQUEL_DETAIL_CONFIG_H
|