style cleanup: comment format
[blender.git] / source / gameengine / Converter / KX_LibLoadStatus.h
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * Contributor(s): Mitchell Stokes
19  *
20  * ***** END GPL LICENSE BLOCK *****
21  */
22
23 /** \file KX_LibLoadStatus.h
24  *  \ingroup bgeconv
25  */
26
27 #ifndef __KX_LIBLOADSTATUS_H__
28 #define __KX_LIBLOADSTATUS_H__
29
30 #include "PyObjectPlus.h"
31
32 class KX_LibLoadStatus : public PyObjectPlus
33 {
34         Py_Header
35 private:
36         class KX_BlenderSceneConverter* m_converter;
37         class KX_KetsjiEngine*                  m_engine;
38         class KX_Scene*                                 m_mergescene;
39         void*                                                   m_data;
40         STR_String                                              m_libname;
41
42         float   m_progress;
43         double  m_starttime;
44         double  m_endtime;
45
46 #ifdef WITH_PYTHON
47         PyObject*       m_finish_cb;
48         PyObject*       m_progress_cb;
49 #endif
50
51 public:
52         KX_LibLoadStatus(class KX_BlenderSceneConverter* kx_converter,
53                                                 class KX_KetsjiEngine* kx_engine,
54                                                 class KX_Scene* merge_scene,
55                                                 const char *path);
56
57         void Finish(); // Called when the libload is done
58         void RunFinishCallback();
59         void RunProgressCallback();
60
61         class KX_BlenderSceneConverter *GetConverter();
62         class KX_KetsjiEngine *GetEngine();
63         class KX_Scene *GetMergeScene();
64
65         void SetLibName(const char *name);
66         const char *GetLibName();
67
68         void SetData(void *data);
69         void *GetData();
70
71         void SetProgress(float progress);
72         float GetProgress();
73         void AddProgress(float progress);
74
75 #ifdef WITH_PYTHON
76         static PyObject*        pyattr_get_onfinish(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
77         static int                      pyattr_set_onfinish(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
78         static PyObject*        pyattr_get_onprogress(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
79         static int                      pyattr_set_onprogress(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
80
81         static PyObject*        pyattr_get_timetaken(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
82 #endif
83 };
84
85 #endif // __KX_LIBLOADSTATUS_H__